MimicWrapper 클래스
Explain 모델 패키지를 사용하는 데 필요한 함수 호출 수를 줄이는 래퍼 설명자입니다.
MimicWrapper를 초기화합니다.
'<<2d ndarray :p aram explainable_model 허용합니다. 블랙박스 모델을 설명하는 데 사용되는 초기화되지 않은 서로게이트 모델입니다.
학생 모델이라고도 합니다.
- 상속
-
azureml._logging.chained_identity.ChainedIdentityMimicWrapper
생성자
MimicWrapper(workspace, model, explainable_model, explainer_kwargs=None, init_dataset=None, run=None, features=None, classes=None, model_task=ModelTask.Unknown, explain_subset=None, transformations=None, feature_maps=None, allow_all_transformations=None)
매개 변수
Name | Description |
---|---|
workspace
필수
|
모델 및 데이터 세트가 정의된 작업 영역 개체입니다. |
model
필수
|
str 또는
<xref:<xref:model that implements sklearn.predict>()> 또는
<xref:sklearn.predict_proba>() 또는
<xref:<xref:pipeline function that accepts a 2d ndarray>>
MMS에 등록된 모델 또는 일반 기계 학습 모델이나 설명할 파이프라인의 모델 ID입니다. 모델이 지정되면 sklearn.predict() 또는 sklearn.predict_proba()를 구현해야 합니다. 파이프라인이 지정되면 2d ndarray를 허용하는 함수를 포함해야 합니다. |
explainable_model
필수
|
블랙 박스 모델을 설명하는 데 사용되는 초기화되지 않은 서로게이트 모델입니다. 학생 모델이라고도 합니다. |
explainer_kwargs
|
여기에서 다루지 않은 선택된 설명자와 함께 사용되는 모든 키워드 인수입니다. 기본 설명자가 초기화될 때 kwargs로 전달됩니다. Default value: None
|
init_dataset
|
설명자를 초기화하는 데 사용되는 데이터 세트 ID 또는 일반 데이터 세트(예: x_train)입니다. Default value: None
|
run
|
이 설명이 연결되어야 하는 실행입니다. Default value: None
|
features
|
기능 이름 목록입니다. Default value: None
|
classes
|
문자열 목록과 같은 클래스 이름입니다. 클래스 이름의 순서는 모델 출력의 순서와 일치해야 합니다. 분류자를 설명하는 경우에만 필요합니다. Default value: None
|
model_task
|
모델이 분류 또는 회귀 모델인지 여부를 지정하는 선택적 매개 변수입니다. 대부분의 경우 모델의 형식은 출력의 모양을 기반으로 유추할 수 있습니다. 여기서 분류자는 predict_proba 메서드를 사용하여 2차원 배열을 출력하는 반면 회귀 변수는 예측 메서드를 사용하여 1차원 배열을 출력합니다. Default value: ModelTask.Unknown
|
explain_subset
|
기능 인덱스 목록입니다. 지정된 경우 Azure는 설명을 위해 평가 데이터 세트의 기능 하위 집합만 선택하므로 기능 수가 많고 흥미로운 기능 집합을 이미 알고 있는 경우 설명 프로세스의 속도가 빨라집니다. 하위 집합은 모델 요약의 상위 k개 기능일 수 있습니다. 이 매개 변수는 변환이 설정된 경우 지원되지 않습니다. Default value: None
|
transformations
|
sklearn.compose.ColumnTransformer 또는 열 이름과 변환기를 설명하는 튜플 목록입니다. 변형이 제공되면 변형 전의 기능에 대한 설명이 제공됩니다. 변환 목록의 형식은 https://github.com/scikit-learn-contrib/sklearn-pandas의 형식과 동일합니다. interpret-community 패키지에서 지원하는 sklearn.preprocessing 변환 목록에 없는 변환을 사용하는 경우 이 매개 변수는 변환에 대한 입력으로 둘 이상의 열 목록을 사용할 수 없습니다. . 열 목록은 이미 일대다 또는 일대일이므로 다음 sklearn.preprocessing 변환을 사용할 수 있습니다. Binarizer, KBinsDiscretizer, KernelCenterer, LabelEncoder, MaxAbsScaler, MinMaxScaler, Normalizer, OneHotEncoder, OrdinalEncoder, PowerTransformer, QuantileTransformer, RobustScaler, StandardScaler. 작동하는 변환의 예제:
일대다로 해석될 수 없기 때문에 오류를 발생시키는 변환의 예제:
interpret-community 패키지는 일련의 열을 사용할 때 my_own_transformer가 다대다 또는 일대다 매핑을 제공하는지 여부를 결정할 수 없기 때문에 마지막 예제는 작동하지 않습니다. 원시 설명을 생성하려면 '변환' 또는 'feature_maps'의 매개 변수 하나만 지정해야 합니다. 둘 다 지정하면 구성 예외가 발생합니다. Default value: None
|
feature_maps
|
원시에서 생성된 기능까지의 기능 맵 목록입니다. 이 매개 변수는 numpy 배열 목록 또는 각 배열 항목(raw_index, generated_index)이 생성된 원시 기능 쌍 각각에 대한 가중치인 스파스 행렬의 목록일 수 있습니다. 다른 항목은 0으로 설정됩니다. 원시 기능에서 생성된 기능을 생성하는 일련의 변환 [t1, t2, ..., tn]의 경우 기능 맵 목록은 t1, t2 등과 같은 시퀀스로 원시에서 생성된 맵에 해당합니다. 전체 원시 t1에서 tn까지 생성된 기능 맵을 사용할 수 있는 경우 단일 요소 목록의 해당 기능 맵만 전달할 수 있습니다. 원시 설명을 생성하려면 '변환' 또는 'feature_maps'의 매개 변수 하나만 지정해야 합니다. 둘 다 지정하면 구성 예외가 발생합니다. Default value: None
|
allow_all_transformations
|
다대다 및 다대일 변환을 허용할지 여부를 나타냅니다. Default value: None
|
workspace
필수
|
모델 및 데이터 세트가 정의된 작업 영역 개체입니다. |
model
필수
|
str 또는
<xref:<xref:model that implements sklearn.predict>()> 또는
<xref:sklearn.predict_proba>() 또는
<xref:<xref:pipeline function>>
MMS에 등록된 모델 또는 일반 기계 학습 모델이나 설명할 파이프라인의 모델 ID입니다. 모델이 지정되면 sklearn.predict() 또는 sklearn.predict_proba()를 구현해야 합니다. 파이프라인이 지정되면 2d ndarray를 허용하는 함수를 포함해야 합니다. |
explainer_kwargs
필수
|
여기에서 다루지 않은 선택된 설명자와 함께 사용되는 모든 키워드 인수입니다. 기본 설명자가 초기화될 때 kwargs로 전달됩니다. |
init_dataset
필수
|
설명자를 초기화하는 데 사용되는 데이터 세트 ID 또는 일반 데이터 세트입니다(예: x_train). |
run
필수
|
이 설명이 연결되어야 하는 실행입니다. |
features
필수
|
기능 이름 목록입니다. |
classes
필수
|
문자열 목록과 같은 클래스 이름입니다. 클래스 이름의 순서는 모델 출력의 순서와 일치해야 합니다. 분류자를 설명하는 경우에만 필요합니다. |
model_task
필수
|
모델이 분류 또는 회귀 모델인지 여부를 지정하는 선택적 매개 변수입니다. 대부분의 경우 모델의 형식은 출력의 모양을 기반으로 유추할 수 있습니다. 여기서 분류자는 predict_proba 메서드를 사용하여 2차원 배열을 출력하는 반면 회귀 변수는 예측 메서드를 사용하여 1차원 배열을 출력합니다. |
explain_subset
필수
|
기능 인덱스 목록입니다. 지정된 경우 설명을 위해 평가 데이터 세트의 기능 하위 집합만 선택하면 기능 수가 많고 사용자가 관심 있는 기능 집합을 이미 알고 있는 경우 설명 프로세스가 빨라집니다. 하위 집합은 모델 요약의 상위 k개 기능일 수 있습니다. 변환이 설정된 경우 이 인수는 지원되지 않습니다. |
transformations
필수
|
sklearn.compose.ColumnTransformer 또는 열 이름과 변환기를 설명하는 튜플 목록입니다. 변형이 제공되면 변형 전의 기능에 대한 설명이 제공됩니다. 변환 목록의 형식은 https://github.com/scikit-learn-contrib/sklearn-pandas의 형식과 동일합니다. interpret-community 패키지에서 지원하는 sklearn.preprocessing 변환 목록에 없는 변환을 사용하는 경우 이 매개 변수는 변환에 대한 입력으로 둘 이상의 열 목록을 사용할 수 없습니다. . 열 목록은 이미 일대다 또는 일대일이므로 다음 sklearn.preprocessing 변환을 사용할 수 있습니다. Binarizer, KBinsDiscretizer, KernelCenterer, LabelEncoder, MaxAbsScaler, MinMaxScaler, Normalizer, OneHotEncoder, OrdinalEncoder, PowerTransformer, QuantileTransformer, RobustScaler, StandardScaler. 작동하는 변환의 예제:
일대다로 해석될 수 없기 때문에 오류를 발생시키는 변환의 예제:
interpret-community 패키지는 일련의 열을 사용할 때 my_own_transformer가 다대다 또는 일대다 매핑을 제공하는지 여부를 결정할 수 없기 때문에 마지막 예제는 작동하지 않습니다. 원시 설명을 생성하려면 '변환' 또는 'feature_maps'의 매개 변수 하나만 지정해야 합니다. 둘 다 지정하면 구성 예외가 발생합니다. |
feature_maps
필수
|
list[array] 또는
list[csr_matrix] <xref::param allow_all_transformations: Whether to allow many to many and many to one transformations.>
원시에서 생성된 기능까지의 기능 맵 목록입니다. 이 매개 변수는 numpy 배열 목록 또는 각 배열 항목(raw_index, generated_index)이 생성된 원시 기능 쌍 각각에 대한 가중치인 스파스 행렬의 목록일 수 있습니다. 다른 항목은 0으로 설정됩니다. 원시 기능에서 생성된 기능을 생성하는 일련의 변환 [t1, t2, ..., tn]의 경우 기능 맵 목록은 t1, t2 등과 같은 시퀀스로 원시에서 생성된 맵에 해당합니다. 전체 원시 t1에서 tn까지 생성된 기능 맵을 사용할 수 있는 경우 단일 요소 목록의 해당 기능 맵만 전달할 수 있습니다. 원시 설명을 생성하려면 '변환' 또는 'feature_maps'의 매개 변수 하나만 지정해야 합니다. 둘 다 지정하면 구성 예외가 발생합니다. |
설명
MimicWrapper는 기계 학습 모델을 설명하는 데 사용할 수 있으며 AutoML과 함께 특히 효과적입니다. 예를 들어 <xref:azureml.train.automl.runtime.automl_explain_utilities> 모듈에서 automl_setup_model_explanations
함수를 사용하면 MimicWrapper를 사용하여 기능 중요도를 계산하고 시각화할 수 있습니다. 자세한 내용은 해석 가능성: 자동화된 Machine Learning의 모델 설명을 참조하세요.
다음 예에서 MimicWrapper는 분류 문제에 사용됩니다.
from azureml.interpret.mimic_wrapper import MimicWrapper
explainer = MimicWrapper(ws, automl_explainer_setup_obj.automl_estimator,
explainable_model=automl_explainer_setup_obj.surrogate_model,
init_dataset=automl_explainer_setup_obj.X_transform, run=automl_run,
features=automl_explainer_setup_obj.engineered_feature_names,
feature_maps=[automl_explainer_setup_obj.feature_map],
classes=automl_explainer_setup_obj.classes,
explainer_kwargs=automl_explainer_setup_obj.surrogate_model_params)
이 예에 대한 자세한 내용은 이 Notebook을 참조하세요.
메서드
explain |
모델의 동작을 설명하고 선택적으로 스토리지 및 시각화를 위해 해당 설명을 업로드합니다. |
explain
모델의 동작을 설명하고 선택적으로 스토리지 및 시각화를 위해 해당 설명을 업로드합니다.
explain(explanation_types, eval_dataset=None, top_k=None, upload=True, upload_datasets=False, tag='', get_raw=False, raw_feature_names=None, experiment_name='explain_model', raw_eval_dataset=None, true_ys=None)
매개 변수
Name | Description |
---|---|
explanation_types
필수
|
원하는 설명 형식을 나타내는 문자열 목록입니다. 현재 'global' 및 'local'이 지원됩니다. 둘 다 한 번에 전달할 수 있습니다. 하나의 설명만 반환됩니다. |
eval_dataset
|
설명을 생성하는 데 사용되는 데이터 세트 ID 또는 일반 데이터 세트입니다. Default value: None
|
top_k
|
가능한 경우 상위 k개 기능에 대해 실행 기록에 반환 및 저장되는 데이터의 양으로 제한합니다. Default value: None
|
upload
|
True이면 스토리지 및 시각화를 위해 설명이 자동으로 실행 기록에 업로드됩니다. 초기화 시 실행이 전달되지 않은 경우 실행이 만들어집니다. Default value: True
|
upload_datasets
|
True로 설정하고 데이터 세트 ID가 전달되지 않으면 평가 데이터 세트가 Azure Storage에 업로드됩니다. 이렇게 하면 웹 보기에서 사용할 수 있는 시각화가 개선됩니다. Default value: False
|
tag
필수
|
업로드 후 다른 설명과 구별하기 위해 설명에 첨부할 문자열입니다. |
get_raw
|
초기화 중에 True이고 매개 변수 Default value: False
|
raw_feature_names
|
생성자의 엔지니어링된 기능 이름을 대체하는 원시 기능 이름 목록입니다. Default value: None
|
experiment_name
|
Default value: explain_model
|
raw_eval_dataset
|
원시 설명을 위해 업로드할 원시 평가 데이터입니다. Default value: None
|
true_ys
|
평가 예에 대한 실제 레이블입니다. Default value: None
|
반환
형식 | Description |
---|---|
설명 개체입니다. |