FeaturizationConfig クラス
Azure Machine Learning での自動機械学習実験の特徴エンジニアリング構成を定義します。
featurization クラスの AutoMLConfig パラメーターで FeaturizationConfig クラスを使用します。 詳細については、「 自動 ML 実験の構成」を参照してください。
FeaturizationConfig を作成します。
コンストラクター
FeaturizationConfig(blocked_transformers: List[str] | None = None, column_purposes: Dict[str, str] | None = None, transformer_params: Dict[str, List[Tuple[List[str], Dict[str, Any]]]] | None = None, drop_columns: List[str] | None = None, dataset_language: str | None = None, prediction_transform_type: str | None = None)
パラメーター
| 名前 | 説明 |
|---|---|
|
blocked_transformers
|
特徴付け時にブロックされるトランスフォーマー名の一覧。 規定値: None
|
|
column_purposes
|
列の目的を更新するために使用される列名と機能の種類のディクショナリ。 規定値: None
|
|
transformer_params
|
トランスフォーマーと対応するカスタマイズ パラメーターのディクショナリ。 規定値: None
|
|
drop_columns
|
特徴量化プロセスで無視する列の一覧。 この設定は非推奨になっています。 データセットを AutoML に提供する前に、データ準備プロセスの一環としてデータセットから列を削除してください。 規定値: None
|
|
prediction_transform_type
|
ターゲット列型のキャストに使用するターゲット変換型の str。 規定値: None
|
|
blocked_transformers
必須
|
特徴付け時にブロックされるトランスフォーマー名の一覧。 |
|
column_purposes
必須
|
列の目的を更新するために使用される列名と機能の種類のディクショナリ。 |
|
transformer_params
必須
|
トランスフォーマーと対応するカスタマイズ パラメーターのディクショナリ。 |
|
drop_columns
必須
|
特徴量化プロセスで無視する列の一覧。 この設定は非推奨になっています。 データセットを AutoML に提供する前に、データ準備プロセスの一環としてデータセットから列を削除してください。 |
|
dataset_language
|
データセットに含まれる言語の 3 文字の ISO 639-3 コード。 英語以外の言語は、GPU 対応コンピューティングを使用する場合にのみサポートされます。 データセットに複数の言語が含まれている場合は、langugage_code 'mul' を使用する必要があります。 さまざまな言語の ISO 639-3 コードについては、 https://en.wikipedia.org/wiki/List_of_ISO_639-3_codesを参照してください。 規定値: None
|
|
prediction_transform_type
必須
|
ターゲット列型のキャストに使用するターゲット変換型の str。 |
注釈
特徴量化のカスタマイズには、次のことが可能なメソッドがあります。
列の目的を追加または削除します。
add_column_purposeおよびremove_column_purposeメソッドを使用すると、たとえば、列の特徴の種類がその目的を正しく反映していない場合に、指定した列の特徴の種類をオーバーライドできます。 add メソッドでは、 FeatureType クラスのFULL_SET属性で指定されたすべてのフィーチャタイプの追加がサポートされています。トランスフォーマー パラメーターを追加または削除します。
add_transformer_paramsメソッドとremove_transformer_paramsメソッドを使用すると、Imputer、HashOneHotEncoder、TfIdf などのカスタマイズ可能なトランスフォーマーのパラメーターを変更できます。 カスタマイズ可能なトランスフォーマーは、 SupportedTransformers クラスのCUSTOMIZABLE_TRANSFORMERS属性に一覧表示されます。get_transformer_paramsを使用してカスタマイズ パラメーターを参照します。トランスフォーマーをブロックします。
add_blocked_transformersメソッドを使用して特徴付けプロセスに使用するブロック トランスフォーマー。 トランスフォーマーは、 SupportedTransformers クラスBLOCKED_TRANSFORMERS属性にリストされているトランスフォーマーのいずれかである必要があります。add_drop_columnsメソッドを使用して特徴量化とトレーニングを無視するドロップ列を追加します。 たとえば、有用な情報を含まない列を削除できます。予測変換の種類を追加または削除します。
add_prediction_transform_typeと
remove_prediction_transform_type メソッドを使用すると、既存のターゲット列の種類をオーバーライドできます。
予測変換の種類は、 PredictionTransformTypes 属性に一覧表示されます。
次のコード例は、予測用の自動 ML で特徴量化をカスタマイズする方法を示しています。 このコード例では、列を削除し、変換パラメーターを追加しています。
featurization_config = FeaturizationConfig()
# Force the CPWVOL5 feature to be numeric type.
featurization_config.add_column_purpose("CPWVOL5", "Numeric")
# Fill missing values in the target column, Quantity, with zeros.
featurization_config.add_transformer_params(
"Imputer", ["Quantity"], {"strategy": "constant", "fill_value": 0}
)
# Fill missing values in the INCOME column with median value.
featurization_config.add_transformer_params(
"Imputer", ["INCOME"], {"strategy": "median"}
)
# Fill missing values in the Price column with forward fill (last value carried forward).
featurization_config.add_transformer_params("Imputer", ["Price"], {"strategy": "ffill"})
次の例は、ハードウェア パフォーマンス データセットを使用して回帰問題の特徴量化をカスタマイズする方法を示しています。 このコード例では、ブロックされたトランスフォーマーが定義され、列の目的が追加され、トランスフォーマーパラメーターが追加されます。
featurization_config = FeaturizationConfig()
featurization_config.blocked_transformers = ["LabelEncoder"]
# featurization_config.drop_columns = ['MMIN']
featurization_config.add_column_purpose("MYCT", "Numeric")
featurization_config.add_column_purpose("VendorName", "CategoricalHash")
# default strategy mean, add transformer param for for 3 columns
featurization_config.add_transformer_params("Imputer", ["CACH"], {"strategy": "median"})
featurization_config.add_transformer_params(
"Imputer", ["CHMIN"], {"strategy": "median"}
)
featurization_config.add_transformer_params(
"Imputer", ["PRP"], {"strategy": "most_frequent"}
)
# featurization_config.add_transformer_params('HashOneHotEncoder', [], {"number_of_bits": 3})
上記のコード例で定義されている FeaturizationConfig は、次のコード例に示すように、自動 ML 実験の構成で使用できます。
automl_settings = {
"enable_early_stopping": True,
"experiment_timeout_hours": 0.25,
"max_concurrent_iterations": 4,
"max_cores_per_iteration": -1,
"n_cross_validations": 5,
"primary_metric": "normalized_root_mean_squared_error",
"verbosity": logging.INFO,
}
automl_config = AutoMLConfig(
task="regression",
debug_log="automl_errors.log",
compute_target=compute_target,
featurization=featurization_config,
training_data=train_data,
label_column_name=label,
**automl_settings,
)
メソッド
| add_blocked_transformers |
ブロックするトランスフォーマーを追加します。 |
| add_column_purpose |
指定した列のフィーチャ タイプを追加します。 |
| add_drop_columns |
無視する列名または列名の一覧を追加します。 |
| add_prediction_transform_type |
ターゲット列の予測変換の種類を追加します。 PredictionTransformTypes クラス。 :type prediction_transform_type: str |
| add_transformer_params |
カスタム トランスフォーマー パラメーターの一覧に、カスタマイズされたトランスフォーマー パラメーターを追加します。 列リストが空の場合は、すべての列に適用します。 |
| get_transformer_params |
列のトランスフォーマーのカスタマイズ パラメーターを取得します。 |
| remove_column_purpose |
指定した列のフィーチャ タイプを削除します。 列にフィーチャが指定されていない場合は、検出された既定の機能が使用されます。 |
| remove_prediction_transform_type |
ターゲット列の予測変換の種類を既定値に戻します。 |
| remove_transformer_params |
特定の列またはすべての列のトランスフォーマーのカスタマイズ パラメーターを削除します。 |
add_blocked_transformers
ブロックするトランスフォーマーを追加します。
add_blocked_transformers(transformers: str | List[str]) -> None
パラメーター
| 名前 | 説明 |
|---|---|
|
transformers
必須
|
トランスフォーマー名またはトランスフォーマー名のリスト。 トランスフォーマー名は、 SupportedTransformers クラスの BLOCKED_TRANSFORMERS 属性にリストされているトランスフォーマーのいずれかである必要があります。 |
add_column_purpose
指定した列のフィーチャ タイプを追加します。
add_column_purpose(column_name: str, feature_type: str) -> None
パラメーター
| 名前 | 説明 |
|---|---|
|
column_name
必須
|
更新する列名。 |
|
feature_type
必須
|
列に使用する機能の種類。 フィーチャタイプは、 FeatureType クラスのFULL_SET属性で指定する必要があります。 |
add_drop_columns
add_prediction_transform_type
ターゲット列の予測変換の種類を追加します。
PredictionTransformTypes クラス。 :type prediction_transform_type: str
add_prediction_transform_type(prediction_transform_type: str) -> None
パラメーター
| 名前 | 説明 |
|---|---|
|
prediction_transform_type
必須
|
ターゲット列のキャストに使用する予測変換の種類。 特徴の種類は、次のFULL_SET属性で指定する必要があります。 |
add_transformer_params
カスタム トランスフォーマー パラメーターの一覧に、カスタマイズされたトランスフォーマー パラメーターを追加します。
列リストが空の場合は、すべての列に適用します。
add_transformer_params(transformer: str, cols: List[str], params: Dict[str, Any]) -> None
パラメーター
| 名前 | 説明 |
|---|---|
|
transformer
必須
|
トランスフォーマー名。 トランスフォーマー名は、 SupportedTransformers クラスにリストされているCUSTOMIZABLE_TRANSFORMERSのいずれかである必要があります。 |
|
cols
必須
|
指定したトランスフォーマーの入力列。 一部のトランスフォーマーは、リストとして指定された入力として複数の列を受け取ることができます。 |
|
params
必須
|
キーワードと引数のディクショナリ。 |
注釈
次のコード例は、予測用の自動 ML で特徴量化をカスタマイズする方法を示しています。 このコード例では、列を削除し、変換パラメーターを追加しています。
featurization_config = FeaturizationConfig()
# Force the CPWVOL5 feature to be numeric type.
featurization_config.add_column_purpose("CPWVOL5", "Numeric")
# Fill missing values in the target column, Quantity, with zeros.
featurization_config.add_transformer_params(
"Imputer", ["Quantity"], {"strategy": "constant", "fill_value": 0}
)
# Fill missing values in the INCOME column with median value.
featurization_config.add_transformer_params(
"Imputer", ["INCOME"], {"strategy": "median"}
)
# Fill missing values in the Price column with forward fill (last value carried forward).
featurization_config.add_transformer_params("Imputer", ["Price"], {"strategy": "ffill"})
get_transformer_params
列のトランスフォーマーのカスタマイズ パラメーターを取得します。
get_transformer_params(transformer: str, cols: List[str]) -> Dict[str, Any]
パラメーター
| 名前 | 説明 |
|---|---|
|
transformer
必須
|
トランスフォーマー名。 トランスフォーマー名は、 SupportedTransformers クラスにリストされているCUSTOMIZABLE_TRANSFORMERSのいずれかである必要があります。 |
|
cols
必須
|
情報を取得する列名。 空のリストを使用して、すべての列を指定します。 |
戻り値
| 型 | 説明 |
|---|---|
|
トランスフォーマー パラメーターの設定。 |
remove_column_purpose
指定した列のフィーチャ タイプを削除します。
列にフィーチャが指定されていない場合は、検出された既定の機能が使用されます。
remove_column_purpose(column_name: str) -> None
パラメーター
| 名前 | 説明 |
|---|---|
|
column_name
必須
|
更新する列名。 |
remove_prediction_transform_type
ターゲット列の予測変換の種類を既定値に戻します。
remove_prediction_transform_type() -> None
remove_transformer_params
特定の列またはすべての列のトランスフォーマーのカスタマイズ パラメーターを削除します。
remove_transformer_params(transformer: str, cols: List[str] | None = None) -> None
パラメーター
| 名前 | 説明 |
|---|---|
|
transformer
必須
|
トランスフォーマー名。 トランスフォーマー名は、 SupportedTransformers クラスにリストされているCUSTOMIZABLE_TRANSFORMERSのいずれかである必要があります。 |
|
cols
|
カスタマイズ パラメーターを削除する列名。 指定したトランスフォーマーのすべてのカスタマイズ パラメーターを削除するには、None (既定値) を指定します。 規定値: None
|