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.objectFeaturizationConfig
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 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
|
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 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 aremove_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 aremove_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 kget_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
|
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
|
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
|
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
|
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
|
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
|
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
|
Název transformátoru. Název transformátoru musí být jedním z CUSTOMIZABLE_TRANSFORMERS uvedených ve SupportedTransformers třídě. |
cols
|
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
|