Sdílet prostřednictvím


FeaturizationConfig Třída

Definuje konfiguraci přípravy funkcí pro experimenty automatizovaného strojového učení ve službě Azure Machine Learning.

Použijte třídu FeaturizationConfig v featurization parametru AutoMLConfig třídy. Další informace najdete v tématu Konfigurace experimentů automatizovaného strojového učení.

Vytvořte funkci FeaturizationConfig.

Dědičnost
builtins.object
FeaturizationConfig

Konstruktor

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)

Parametry

Name Description
blocked_transformers

Seznam názvů transformátorů, které mají být během featurizace blokovány.

Default value: None
column_purposes

Slovník názvů sloupců a typů funkcí, které slouží k aktualizaci účelu sloupce.

Default value: None
transformer_params

Slovník transformátoru a odpovídajících parametrů přizpůsobení.

Default value: None
drop_columns

Seznam sloupců, které mají být ignorovány v procesu featurizace. Toto nastavení je zastaralé. Před poskytnutím datových sad do Automatizovaného strojového učení vypusťte sloupce z datových sad v rámci procesu přípravy dat.

Default value: None
prediction_transform_type
str

Str of target transform type to be used to cast target column type.

Default value: None
blocked_transformers
Vyžadováno

Seznam názvů transformátorů, které mají být během featurizace blokovány.

column_purposes
Vyžadováno

Slovník názvů sloupců a typů funkcí, které slouží k aktualizaci účelu sloupce.

transformer_params
Vyžadováno

Slovník transformátoru a odpovídajících parametrů přizpůsobení.

drop_columns
Vyžadováno

Seznam sloupců, které mají být ignorovány v procesu featurizace. Toto nastavení je zastaralé. Před poskytnutím datových sad do Automatizovaného strojového učení vypusťte sloupce z datových sad v rámci procesu přípravy dat.

dataset_language
str

Tříznakový kód ISO 639-3 pro jazyky obsažené v datové sadě. Jiné jazyky než angličtina se podporují jenom v případě, že používáte výpočetní prostředky s podporou GPU. Pokud datová sada obsahuje více jazyků, měla by se použít langugage_code "mul". Kódy ISO 639-3 pro různé jazyky najdete v tématu https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes.

Default value: None
prediction_transform_type
Vyžadováno
str

Str of target transform type to be used to cast target column type.

Poznámky

Přizpůsobení funkce featurizace obsahuje metody, které umožňují:

  • Přidání nebo odebrání účelu sloupce add_column_purpose Pomocí metod a remove_column_purpose můžete přepsat typ funkce pro zadané sloupce, například když typ funkce sloupce neodpovídá správně jeho účelu. Metoda add podporuje přidání všech typů funkcí uvedených v atributu FeatureType FULL_SET třídy.

  • Přidejte nebo odeberte parametry transformátoru. add_transformer_params Pomocí metod a remove_transformer_params můžete změnit parametry přizpůsobitelných transformátorů, jako je Imputer, HashOneHotEncoder a TfIdf. Přizpůsobitelné transformátory jsou uvedeny v atributu SupportedTransformers třídy CUSTOMIZABLE_TRANSFORMERS. Použijte k get_transformer_params vyhledávání parametrů vlastního nastavení.

  • Blokové transformátory. Blokové transformátory, které se mají použít pro proces featurizace pomocí add_blocked_transformers metody. Transformátory musí být jedním z transformátorů uvedených v atributu SupportedTransformers třídy BLOCKED_TRANSFORMERS.

  • Přidejte drop sloupec, který se má ignorovat pro featurizaci a trénování pomocí add_drop_columns metody. Můžete například odstranit sloupec, který neobsahuje užitečné informace.

  • Přidání nebo odebrání typu transformace predikce S add_prediction_transform_type a

remove_prediction_transform_type můžete přepsat existující typ cílového sloupce. Typy transformace predikce jsou uvedené v atributu PredictionTransformTypes .

Následující příklad kódu ukazuje, jak přizpůsobit funkciaturizaci v automatizovaném strojovém učení pro prognózování. V ukázkovém kódu se zobrazí vyřazení sloupce a přidání parametrů transformace.


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

Úplná ukázka je k dispozici od 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

Další příklad ukazuje přizpůsobení featurizace v regresním problému pomocí datové sady hardwarového výkonu. V ukázkovém kódu je definován blokovaný transformátor, přidají se sloupce a přidají se parametry transformátoru.


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

Úplná ukázka je k dispozici od https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/regression-explanation-featurization/auto-ml-regression-explanation-featurization.ipynb

Funkce FeaturizationConfig definovaná v příkladu výše uvedeného kódu se pak může použít v konfiguraci automatizovaného experimentu ML, jak je znázorněno v dalším příkladu kódu.


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

Úplná ukázka je k dispozici od https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/regression-explanation-featurization/auto-ml-regression-explanation-featurization.ipynb

Metody

add_blocked_transformers

Přidejte transformátory, které mají být blokované.

add_column_purpose

Přidejte typ funkce pro zadaný sloupec.

add_drop_columns

Přidejte název sloupce nebo seznam názvů sloupců, které chcete ignorovat.

add_prediction_transform_type

Přidejte typ transformace předpovědi pro cílový sloupec.

PredictionTransformTypes Třída. :type prediction_transform_type: str

add_transformer_params

Přidejte vlastní parametry transformátoru do seznamu vlastních parametrů transformátoru.

Použít u všech sloupců, pokud je seznam sloupců prázdný.

get_transformer_params

Načtěte parametry přizpůsobení transformátoru pro sloupce.

remove_column_purpose

Odeberte typ funkce pro zadaný sloupec.

Pokud pro sloupec není zadána žádná funkce, použije se zjištěná výchozí funkce.

remove_prediction_transform_type

Vraťte typ transformace predikce na výchozí pro cílový sloupec.

remove_transformer_params

Odeberte parametry přizpůsobení transformátoru pro konkrétní sloupec nebo všechny sloupce.

add_blocked_transformers

Přidejte transformátory, které mají být blokované.

add_blocked_transformers(transformers: str | List[str]) -> None

Parametry

Name Description
transformers
Vyžadováno
str nebo list[str]

Název transformátoru nebo seznam názvů transformátorů. Názvy transformátorů musí být jedním z transformátorů uvedených v atributu SupportedTransformers BLOCKED_TRANSFORMERS třídy.

add_column_purpose

Přidejte typ funkce pro zadaný sloupec.

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

Parametry

Name Description
column_name
Vyžadováno
str

Název sloupce, který se má aktualizovat.

feature_type
Vyžadováno

Typ funkce, který se má použít pro sloupec. Typy funkcí musí být uvedeny v atributu FeatureType FULL_SET třídy.

add_drop_columns

Přidejte název sloupce nebo seznam názvů sloupců, které chcete ignorovat.

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

Parametry

Name Description
drop_columns
Vyžadováno
str nebo list[str]

Název sloupce nebo seznam názvů sloupců.

add_prediction_transform_type

Přidejte typ transformace předpovědi pro cílový sloupec.

PredictionTransformTypes Třída. :type prediction_transform_type: str

add_prediction_transform_type(prediction_transform_type: str) -> None

Parametry

Name Description
prediction_transform_type
Vyžadováno

Typ transformace předpovědi, který se má použít pro přetypování cílového sloupce. Typy funkcí musí být uvedeny v atributu FULL_SET

add_transformer_params

Přidejte vlastní parametry transformátoru do seznamu vlastních parametrů transformátoru.

Použít u všech sloupců, pokud je seznam sloupců prázdný.

add_transformer_params(transformer: str, cols: List[str], params: Dict[str, Any]) -> None

Parametry

Name Description
transformer
Vyžadováno
str

Název transformátoru. Název transformátoru musí být jedním z CUSTOMIZABLE_TRANSFORMERS uvedených ve SupportedTransformers třídě.

cols
Vyžadováno

Vstupní sloupce pro zadaný transformátor. Některé transformátory můžou přijímat více sloupců jako vstup zadaný jako seznam.

params
Vyžadováno

Slovník klíčových slov a argumentů.

Poznámky

Následující příklad kódu ukazuje, jak přizpůsobit funkciaturizaci v automatizovaném strojovém učení pro prognózování. V ukázkovém kódu se zobrazí vyřazení sloupce a přidání parametrů transformace.


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

Úplná ukázka je k dispozici od 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

Načtěte parametry přizpůsobení transformátoru pro sloupce.

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

Parametry

Name Description
transformer
Vyžadováno
str

Název transformátoru. Název transformátoru musí být jedním z CUSTOMIZABLE_TRANSFORMERS uvedených ve SupportedTransformers třídě.

cols
Vyžadováno

Názvy sloupců, pro které chcete získat informace. Pomocí prázdného seznamu můžete zadat všechny sloupce.

Návraty

Typ Description

Nastavení parametrů transformátoru.

remove_column_purpose

Odeberte typ funkce pro zadaný sloupec.

Pokud pro sloupec není zadána žádná funkce, použije se zjištěná výchozí funkce.

remove_column_purpose(column_name: str) -> None

Parametry

Name Description
column_name
Vyžadováno
str

Název sloupce, který se má aktualizovat.

remove_prediction_transform_type

Vraťte typ transformace predikce na výchozí pro cílový sloupec.

remove_prediction_transform_type() -> None

remove_transformer_params

Odeberte parametry přizpůsobení transformátoru pro konkrétní sloupec nebo všechny sloupce.

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

Parametry

Name Description
transformer
Vyžadováno
str

Název transformátoru. Název transformátoru musí být jedním z CUSTOMIZABLE_TRANSFORMERS uvedených ve SupportedTransformers třídě.

cols
list[str] nebo None

Názvy sloupců, ze které se mají odebrat parametry vlastního nastavení Zadáním možnosti None (výchozí) odeberete všechny parametry přizpůsobení pro zadaný transformátor.

Default value: None

Atributy

blocked_transformers

column_purposes

dataset_language

drop_columns

prediction_transform_type

transformer_params