FeaturizationConfig クラス

Azure Machine Learning 内での自動機械学習実験用の特徴エンジニアリング構成を定義します。

AutoMLConfig クラスの featurization パラメーター内で FeaturizationConfig クラスを使用します。 詳細については、自動 ML 実験の構成に関する記事をご覧ください。

FeaturizationConfig を作成します。

継承
builtins.object
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

ターゲット列の型をキャストするために使用されるターゲット変換の型の str。

規定値: None
blocked_transformers
必須

特徴量化中にブロックされるトランスフォーマー名のリスト。

column_purposes
必須

列の目的を更新するために使用される列名と特徴量の種類の辞書。

transformer_params
必須

トランスフォーマーの辞書と対応するカスタマイズ パラメーター。

drop_columns
必須

特徴量化プロセスで無視される列のリスト。 この設定は非推奨になります。 AutoML にデータセットを提供する前に、データ準備プロセスの一環としてデータセットから列をドロップしてください。

dataset_language
str

データセットに含まれる言語の 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

ターゲット列の型をキャストするために使用されるターゲット変換の型の 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"})

完全なサンプルは、https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/forecasting-orange-juice-sales/auto-ml-forecasting-orange-juice-sales.ipynb から入手できます

次の例は、ハードウェア パフォーマンス データセットを使用した回帰の問題での特徴量化のカスタマイズを示しています。 コード例では、ブロックされるトランスフォーマーが定義され、列の目的が追加され、トランスフォーマー パラメーターが追加されています。


   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})

完全なサンプルは、https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/regression-explanation-featurization/auto-ml-regression-explanation-featurization.ipynb から入手できます

その後、上のコード例で定義された 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,
   )

完全なサンプルは、https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/regression-explanation-featurization/auto-ml-regression-explanation-featurization.ipynb から入手できます

メソッド

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
必須
str または list[str]

トランスフォーマー名またはトランスフォーマー名のリスト。 トランスフォーマー名は、SupportedTransformers クラスの BLOCKED_TRANSFORMERS 属性内にリストされているトランスフォーマーの 1 つにする必要があります。

add_column_purpose

指定された列の特徴量の種類を追加します。

add_column_purpose(column_name: str, feature_type: str) -> None

パラメーター

名前 説明
column_name
必須
str

更新する列名。

feature_type
必須

列に使用される特徴量の種類。 特徴量の種類は、FeatureType クラスの FULL_SET 属性で指定されたものにする必要があります。

add_drop_columns

無視する列名または列名のリストを追加します。

add_drop_columns(drop_columns: str | List[str]) -> None

パラメーター

名前 説明
drop_columns
必須
str または list[str]

列名または列名のリスト。

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
必須
str

トランスフォーマー名。 トランスフォーマー名は、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"})

完全なサンプルは、https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/forecasting-orange-juice-sales/auto-ml-forecasting-orange-juice-sales.ipynb から入手できます

get_transformer_params

列のトランスフォーマー カスタマイズ パラメーターを取得します。

get_transformer_params(transformer: str, cols: List[str]) -> Dict[str, Any]

パラメーター

名前 説明
transformer
必須
str

トランスフォーマー名。 トランスフォーマー名は、SupportedTransformers クラス内にリストされている CUSTOMIZABLE_TRANSFORMERS の 1 つにする必要があります。

cols
必須

情報を取得する列名。 すべての列を指定するには、空のリストを使用します。

戻り値

説明

トランスフォーマー パラメーターの設定。

remove_column_purpose

指定された列の特徴量の種類を削除します。

列に対して特徴が指定されていない場合は、検出された既定の特徴が使用されます。

remove_column_purpose(column_name: str) -> None

パラメーター

名前 説明
column_name
必須
str

更新する列名。

remove_prediction_transform_type

ターゲット列の予測変換の型を既定値に戻します。

remove_prediction_transform_type() -> None

remove_transformer_params

特定の列またはすべての列のトランスフォーマー カスタマイズ パラメーターを削除します。

remove_transformer_params(transformer: str, cols: List[str] | None = None) -> None

パラメーター

名前 説明
transformer
必須
str

トランスフォーマー名。 トランスフォーマー名は、SupportedTransformers クラス内にリストされている CUSTOMIZABLE_TRANSFORMERS の 1 つにする必要があります。

cols
list[str] または None

カスタマイズ パラメーターを削除する列名。 指定されたトランスフォーマーのすべてのカスタマイズ パラメーターを削除するには、None (既定値) を指定します。

規定値: None

属性

blocked_transformers

column_purposes

dataset_language

drop_columns

prediction_transform_type

transformer_params