FeaturizationConfig Klass
Definierar funktionsframställningskonfiguration för automatiserade maskininlärningsexperiment i Azure Machine Learning.
Använd klassen FeaturizationConfig i parametern featurization
för AutoMLConfig klassen . Mer information finns i Konfigurera automatiserade ML-experiment.
Skapa en FeaturizationConfig.
- Arv
-
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)
Parametrar
Name | Description |
---|---|
blocked_transformers
|
En lista över transformerarnamn som ska blockeras under funktionalisering. Standardvärde: None
|
column_purposes
|
En ordlista med kolumnnamn och funktionstyper som används för att uppdatera kolumnsyftet. Standardvärde: None
|
transformer_params
|
En ordlista med transformerare och motsvarande anpassningsparametrar. Standardvärde: None
|
drop_columns
|
En lista över kolumner som ska ignoreras i funktionaliseringsprocessen. Den här inställningen är inaktuell. Ta bort kolumner från dina datauppsättningar som en del av förberedelseprocessen innan du tillhandahåller datauppsättningarna till AutoML. Standardvärde: None
|
prediction_transform_type
|
En str av måltransformeringstypen som ska användas för att omvandla målkolumntypen. Standardvärde: None
|
blocked_transformers
Obligatorisk
|
En lista över transformerarnamn som ska blockeras under funktionalisering. |
column_purposes
Obligatorisk
|
En ordlista med kolumnnamn och funktionstyper som används för att uppdatera kolumnsyftet. |
transformer_params
Obligatorisk
|
En ordlista med transformerare och motsvarande anpassningsparametrar. |
drop_columns
Obligatorisk
|
En lista över kolumner som ska ignoreras i funktionaliseringsprocessen. Den här inställningen är inaktuell. Ta bort kolumner från dina datauppsättningar som en del av förberedelseprocessen innan du tillhandahåller datauppsättningarna till AutoML. |
dataset_language
|
Iso 639-3-kod med tre tecken för de språk som finns i datauppsättningen. Andra språk än engelska stöds bara om du använder GPU-aktiverad beräkning. Den langugage_code "mul" ska användas om datauppsättningen innehåller flera språk. Information om hur du hittar ISO 639-3-koder för olika språk finns i https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes. Standardvärde: None
|
prediction_transform_type
Obligatorisk
|
En str av måltransformeringstypen som ska användas för att omvandla målkolumntypen. |
Kommentarer
Anpassning av funktionalisering har metoder som gör att du kan:
Lägg till eller ta bort kolumnsyfte.
add_column_purpose
Med metoderna ochremove_column_purpose
kan du åsidosätta funktionstypen för angivna kolumner, till exempel när funktionstypen för kolumnen inte korrekt återspeglar dess syfte. Metoden add har stöd för att lägga till alla funktionstyper som anges i FULL_SET-attributet för FeatureType klassen.Lägg till eller ta bort transformerarparametrar.
add_transformer_params
Med metoderna ochremove_transformer_params
kan du ändra parametrarna för anpassningsbara transformatorer som Imputer, HashOneHotEncoder och TfIdf. Anpassningsbara transformatorer visas i SupportedTransformers attributet klass CUSTOMIZABLE_TRANSFORMERS.get_transformer_params
Använd anpassningsparametrarna för att söka efter.Blockera transformatorer. Blockera transformatorer som ska användas för funktionaliseringsprocessen med
add_blocked_transformers
metoden . Transformatorerna måste vara en av de transformatorer som anges i SupportedTransformers attributet klass BLOCKED_TRANSFORMERS.Lägg till en släppkolumn som ska ignoreras för funktionalisering och träning med
add_drop_columns
metoden . Du kan till exempel släppa en kolumn som inte innehåller användbar information.Lägg till eller ta bort förutsägelsetransformeringstypen. Med
add_prediction_transform_type
och
remove_prediction_transform_type
metoder som du kan åsidosätta den befintliga målkolumntypen.
Förutsägelsetransformeringstyper visas i attributet PredictionTransformTypes .
Följande kodexempel visar hur du anpassar funktionalisering i automatiserad ML för prognostisering. I exempelkoden visas att släppa en kolumn och lägga till transformeringsparametrar.
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"})
Fullständigt exempel är tillgängligt från 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
I nästa exempel visas hur du anpassar funktionalisering i ett regressionsproblem med hjälp av datauppsättningen maskinvaruprestanda. I exempelkoden definieras en blockerad transformerare, kolumnsyften läggs till och transformerarparametrar läggs till.
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})
Fullständigt exempel är tillgängligt från https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/regression-explanation-featurization/auto-ml-regression-explanation-featurization.ipynb
FeaturizationConfig som definieras i kodexemplet ovan kan sedan användas i konfigurationen av ett automatiserat ML-experiment enligt nästa kodexempel.
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,
)
Fullständigt exempel är tillgängligt från https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/regression-explanation-featurization/auto-ml-regression-explanation-featurization.ipynb
Metoder
add_blocked_transformers |
Lägg till transformatorer som ska blockeras. |
add_column_purpose |
Lägg till en funktionstyp för den angivna kolumnen. |
add_drop_columns |
Lägg till kolumnnamn eller lista över kolumnnamn som ska ignoreras. |
add_prediction_transform_type |
Lägg till en förutsägelsetransformeringstyp för målkolumnen. PredictionTransformTypes Klass. :type prediction_transform_type: str |
add_transformer_params |
Lägg till anpassade transformeringsparametrar i listan över anpassade transformeringsparametrar. Gäller för alla kolumner om kolumnlistan är tom. |
get_transformer_params |
Hämta transformeraranpassningsparametrar för kolumner. |
remove_column_purpose |
Ta bort funktionstypen för den angivna kolumnen. Om ingen funktion har angetts för en kolumn används den identifierade standardfunktionen. |
remove_prediction_transform_type |
Återställ förutsägelsetransformeringstypen till standard för målkolumnen. |
remove_transformer_params |
Ta bort transformeraranpassningsparametrar för en specifik kolumn eller alla kolumner. |
add_blocked_transformers
Lägg till transformatorer som ska blockeras.
add_blocked_transformers(transformers: str | List[str]) -> None
Parametrar
Name | Description |
---|---|
transformers
Obligatorisk
|
Ett transformerarnamn eller en lista med transformatornamn. Transformerarnamn måste vara en av de transformatorer som anges i BLOCKED_TRANSFORMERS-attributet för SupportedTransformers klassen. |
add_column_purpose
Lägg till en funktionstyp för den angivna kolumnen.
add_column_purpose(column_name: str, feature_type: str) -> None
Parametrar
Name | Description |
---|---|
column_name
Obligatorisk
|
Ett kolumnnamn som ska uppdateras. |
feature_type
Obligatorisk
|
En funktionstyp som ska användas för kolumnen. Funktionstyper måste anges i attributet FULL_SET för FeatureType klassen. |
add_drop_columns
Lägg till kolumnnamn eller lista över kolumnnamn som ska ignoreras.
add_drop_columns(drop_columns: str | List[str]) -> None
Parametrar
Name | Description |
---|---|
drop_columns
Obligatorisk
|
Ett kolumnnamn eller en lista med kolumnnamn. |
add_prediction_transform_type
Lägg till en förutsägelsetransformeringstyp för målkolumnen.
PredictionTransformTypes Klass. :type prediction_transform_type: str
add_prediction_transform_type(prediction_transform_type: str) -> None
Parametrar
Name | Description |
---|---|
prediction_transform_type
Obligatorisk
|
En förutsägelsetransformeringstyp som ska användas för att omvandla målkolumnen. Funktionstyper måste anges i attributet FULL_SET för |
add_transformer_params
Lägg till anpassade transformeringsparametrar i listan över anpassade transformeringsparametrar.
Gäller för alla kolumner om kolumnlistan är tom.
add_transformer_params(transformer: str, cols: List[str], params: Dict[str, Any]) -> None
Parametrar
Name | Description |
---|---|
transformer
Obligatorisk
|
Transformerarens namn. Transformerarens namn måste vara ett av de CUSTOMIZABLE_TRANSFORMERS som anges i SupportedTransformers klassen . |
cols
Obligatorisk
|
Indatakolumner för angiven transformerare. Vissa transformatorer kan ta flera kolumner som indata som anges som en lista. |
params
Obligatorisk
|
En ordlista med nyckelord och argument. |
Kommentarer
Följande kodexempel visar hur du anpassar funktionalisering i automatiserad ML för prognostisering. I exempelkoden visas att släppa en kolumn och lägga till transformeringsparametrar.
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"})
Fullständigt exempel är tillgängligt från 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
Hämta transformeraranpassningsparametrar för kolumner.
get_transformer_params(transformer: str, cols: List[str]) -> Dict[str, Any]
Parametrar
Name | Description |
---|---|
transformer
Obligatorisk
|
Transformerarens namn. Transformerarens namn måste vara ett av de CUSTOMIZABLE_TRANSFORMERS som anges i SupportedTransformers klassen . |
cols
Obligatorisk
|
Kolumnnamnen som information ska hämtas för. Använd en tom lista för att ange alla kolumner. |
Returer
Typ | Description |
---|---|
Inställningar för transformeringsparametrar. |
remove_column_purpose
Ta bort funktionstypen för den angivna kolumnen.
Om ingen funktion har angetts för en kolumn används den identifierade standardfunktionen.
remove_column_purpose(column_name: str) -> None
Parametrar
Name | Description |
---|---|
column_name
Obligatorisk
|
Kolumnnamnet som ska uppdateras. |
remove_prediction_transform_type
Återställ förutsägelsetransformeringstypen till standard för målkolumnen.
remove_prediction_transform_type() -> None
remove_transformer_params
Ta bort transformeraranpassningsparametrar för en specifik kolumn eller alla kolumner.
remove_transformer_params(transformer: str, cols: List[str] | None = None) -> None
Parametrar
Name | Description |
---|---|
transformer
Obligatorisk
|
Transformerarens namn. Transformerarens namn måste vara ett av de CUSTOMIZABLE_TRANSFORMERS som anges i SupportedTransformers klassen . |
cols
|
Kolumnnamnen att ta bort anpassningsparametrar från. Ange Ingen (standard) om du vill ta bort alla anpassningsparamer för den angivna transformatorn. Standardvärde: None
|