FeaturizationConfig クラス
Azure Machine Learning 内での自動機械学習実験用の特徴エンジニアリング構成を定義します。
AutoMLConfig クラスの featurization
パラメーター内で FeaturizationConfig クラスを使用します。 詳細については、自動 ML 実験の構成に関する記事をご覧ください。
FeaturizationConfig を作成します。
- 継承
-
builtins.objectFeaturizationConfig
コンストラクター
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 属性内にリストされているトランスフォーマーの 1 つにする必要があります。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 クラス。 :型 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 属性内にリストされているトランスフォーマーの 1 つにする必要があります。 |
add_column_purpose
指定された列の特徴量の種類を追加します。
add_column_purpose(column_name: str, feature_type: str) -> None
パラメーター
名前 | 説明 |
---|---|
column_name
必須
|
更新する列名。 |
feature_type
必須
|
列に使用される特徴量の種類。 特徴量の種類は、FeatureType クラスの FULL_SET 属性で指定されたものにする必要があります。 |
add_drop_columns
無視する列名または列名のリストを追加します。
add_drop_columns(drop_columns: str | List[str]) -> None
パラメーター
名前 | 説明 |
---|---|
drop_columns
必須
|
列名または列名のリスト。 |
add_prediction_transform_type
ターゲット列の予測変換の型を追加します。
PredictionTransformTypes クラス。 :型 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 の 1 つにする必要があります。 |
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 の 1 つにする必要があります。 |
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 の 1 つにする必要があります。 |
cols
|
カスタマイズ パラメーターを削除する列名。 指定されたトランスフォーマーのすべてのカスタマイズ パラメーターを削除するには、None (既定値) を指定します。 規定値: None
|