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

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
str

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
str

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
str

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 och remove_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 och remove_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
str eller list[str]

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
str

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
str eller list[str]

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
str

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
str

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
str

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
str

Transformerarens namn. Transformerarens namn måste vara ett av de CUSTOMIZABLE_TRANSFORMERS som anges i SupportedTransformers klassen .

cols
list[str] eller None

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

Attribut

blocked_transformers

column_purposes

dataset_language

drop_columns

prediction_transform_type

transformer_params