Share via


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

blocked_transformers
list(str)
standardvärde: None

En lista över transformerarnamn som ska blockeras under funktionalisering.

column_purposes
dict
standardvärde: None

En ordlista med kolumnnamn och funktionstyper som används för att uppdatera kolumnsyftet.

transformer_params
dict
standardvärde: None

En ordlista med transformerare och motsvarande anpassningsparametrar.

drop_columns
list(str)
standardvärde: None

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.

prediction_transform_type
str
standardvärde: None

En str av måltransformeringstypen som ska användas för att omvandla målkolumntypen.

blocked_transformers
list(str)
Obligatorisk

En lista över transformerarnamn som ska blockeras under funktionalisering.

column_purposes
dict
Obligatorisk

En ordlista med kolumnnamn och funktionstyper som används för att uppdatera kolumnsyftet.

transformer_params
dict
Obligatorisk

En ordlista med transformerare och motsvarande anpassningsparametrar.

drop_columns
list(str)
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
standardvärde: None

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.

prediction_transform_type
str
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 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

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

column_name
str
Obligatorisk

Ett kolumnnamn som ska uppdateras.

feature_type
FeatureType
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

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

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

transformer
str
Obligatorisk

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

cols
list(str)
Obligatorisk

Indatakolumner för angiven transformerare. Vissa transformatorer kan ta flera kolumner som indata som anges som en lista.

params
dict
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

transformer
str
Obligatorisk

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

cols
list[str]
Obligatorisk

Kolumnnamnen som information ska hämtas för. Använd en tom lista för att ange alla kolumner.

Returer

Inställningar för transformeringsparametrar.

Returtyp

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

column_name
str
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

transformer
str
Obligatorisk

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

cols
list[str] eller None
standardvärde: None

Kolumnnamnen att ta bort anpassningsparametrar från. Ange Ingen (standard) om du vill ta bort alla anpassningsparamer för den angivna transformatorn.

Attribut

blocked_transformers

column_purposes

dataset_language

drop_columns

prediction_transform_type

transformer_params