次の方法で共有


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

ターゲット列型のキャストに使用するターゲット変換型の 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属性にリストされているトランスフォーマーのいずれかである必要があります。

  • 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 クラス。 :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
必須
str または list[str]

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

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 クラス。 :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
必須
str

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

完全なサンプルは次から入手できます 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のいずれかである必要があります。

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のいずれかである必要があります。

cols
list[str] または None

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

規定値: None

属性

blocked_transformers

column_purposes

dataset_language

drop_columns

prediction_transform_type

transformer_params