Freigeben über


FeaturizationConfig Klasse

Definiert die Konfiguration der Featurisierung für Experimente zum automatisierten maschinellen Lernen in Azure Machine Learning.

Verwenden Sie die FeaturizationConfig-Klasse im featurization-Parameter der AutoMLConfig-Klasse. Weitere Informationen finden Sie unter Konfigurieren automatisierter ML-Experimente.

Erstellen Sie eine FeaturizationConfig.

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

Parameter

Name Beschreibung
blocked_transformers

Eine Liste von Transformatornamen, die während der Featurisierung blockiert werden sollen.

Standardwert: None
column_purposes

Ein Wörterbuch mit Spaltennamen und Featuretypen, die zum Aktualisieren des Spaltenzwecks verwendet werden.

Standardwert: None
transformer_params

Ein Wörterbuch mit Transformatoren und entsprechenden Anpassungsparametern.

Standardwert: None
drop_columns

Eine Liste von Spalten, die im Featurisierungsprozess ignoriert werden sollen. Diese Einstellung wird als veraltet eingestuft. Löschen Sie im Rahmen des Datenaufbereitungsprozesses Spalten aus den Datasets, bevor Sie die Datasets für automatisiertes maschinelles Lernen bereitstellen.

Standardwert: None
prediction_transform_type
str

Str des Zieltransformationstyps, der zum Umwandeln des Zielspaltentyps verwendet werden soll.

Standardwert: None
blocked_transformers
Erforderlich

Eine Liste von Transformatornamen, die während der Featurisierung blockiert werden sollen.

column_purposes
Erforderlich

Ein Wörterbuch mit Spaltennamen und Featuretypen, die zum Aktualisieren des Spaltenzwecks verwendet werden.

transformer_params
Erforderlich

Ein Wörterbuch mit Transformatoren und entsprechenden Anpassungsparametern.

drop_columns
Erforderlich

Eine Liste von Spalten, die im Featurisierungsprozess ignoriert werden sollen. Diese Einstellung wird als veraltet eingestuft. Löschen Sie im Rahmen des Datenaufbereitungsprozesses Spalten aus den Datasets, bevor Sie die Datasets für automatisiertes maschinelles Lernen bereitstellen.

dataset_language
str

Iso 639-3-Code mit drei Zeichen für die Sprache(en) im Dataset. Andere Sprachen als Englisch werden nur unterstützt, wenn Sie GPU-fähiges Compute verwenden. Die langugage_code "mul" sollte verwendet werden, wenn das Dataset mehrere Sprachen enthält. Iso 639-3-Codes für verschiedene Sprachen finden Sie unter https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes.

Standardwert: None
prediction_transform_type
Erforderlich
str

Str des Zieltransformationstyps, der zum Umwandeln des Zielspaltentyps verwendet werden soll.

Hinweise

Die Anpassung der Featurisierung verfügt über Methoden für folgende Aufgaben:

  • Hinzufügen oder Entfernen des Spaltenzwecks. Mit den Methoden add_column_purpose und remove_column_purpose können Sie den Featuretyp für angegebene Spalten überschreiben, z. B. wenn der Featuretyp der Spalte den Zweck nicht richtig wiedergibt. Die add-Methode unterstützt das Hinzufügen aller Featuretypen, die im FULL_SET-Attribut der FeatureType-Klasse angegeben sind.

  • Hinzufügen oder Entfernen von Transformatorparametern. Mit den Methoden add_transformer_params und remove_transformer_params können Sie die Parameter anpassbarer Transformatoren wie Imputer, HashOneHotEncoder und TfIdf ändern. Anpassbare Transformatoren werden im CUSTOMIZABLE_TRANSFORMERS-Attribut der SupportedTransformers-Klasse aufgeführt. Verwenden Sie get_transformer_params, um nach Anpassungsparametern zu suchen.

  • Blockieren von Transformatoren. Blockieren Sie mit der Methode add_blocked_transformers Transformatoren, die für den Featurisierungsprozess verwendet werden sollen. Bei den Transformatoren muss es sich um einen der Transformatoren handeln, die im BLOCKED_TRANSFORMERS-Attribut der SupportedTransformers-Klasse aufgeführt sind.

  • Fügen Sie mit der Methode add_drop_columns eine zu löschende Spalte hinzu, die bei Featurisierung und Training ignoriert werden soll. Beispielsweise können Sie eine Spalte verwerfen, die keine nützlichen Informationen enthält.

  • Hinzufügen oder Entfernen des Vorhersagetransformationstyps. Mit den Methoden add_prediction_transform_type und

remove_prediction_transform_type können Sie den vorhandenen Zielspaltentyp außer Kraft setzen. Vorhersagetransformationstypen sind im PredictionTransformTypes-Attribut aufgeführt.

Das folgende Codebeispiel zeigt, wie Sie die Featurisierung in automatisiertem maschinellem Lernen vorhersagen. Im Beispielcode werden das Löschen einer Spalte und das Hinzufügen von Transformationsparametern gezeigt.


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

Das vollständige Beispiel finden Sie unter 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.

Das nächste Beispiel zeigt das Anpassen der Featurisierung für ein Regressionsproblem mithilfe des Datasets zur Hardwareleistung. Im Beispielcode wird ein blockierter Transformator definiert. Außerdem werden Spaltenzwecke und Transformatorparameter hinzugefügt.


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

Das vollständige Beispiel finden Sie unter https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/regression-explanation-featurization/auto-ml-regression-explanation-featurization.ipynb.

Die im obigen Codebeispiel definierte Featurisierungskonfiguration (FeaturizationConfig) kann dann wie im nächsten Codebeispiel gezeigt in der Konfiguration eines Experiments für automatisiertes maschinelles Lernen verwendet werden.


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

Das vollständige Beispiel finden Sie unter https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/regression-explanation-featurization/auto-ml-regression-explanation-featurization.ipynb.

Methoden

add_blocked_transformers

Hinzufügen zu blockierender Transformatoren.

add_column_purpose

Hinzufügen eines Featuretyps für die angegebene Spalte.

add_drop_columns

Fügen Sie einen zu ignorierenden Spaltennamen oder eine Liste von zu ignorierenden Spaltennamen hinzu.

add_prediction_transform_type

Fügen Sie einen Vorhersagetransformationstyp für die Zielspalte hinzu.

PredictionTransformTypes -Klasse. :type prediction_transform_type: str

add_transformer_params

Hinzufügen angepasster Transformatorparameter zur Liste der benutzerdefinierten Transformatorparameter.

Gilt für alle Spalten, wenn die Spaltenliste leer ist.

get_transformer_params

Abrufen der Anpassungsparameter für Transformatoren für Spalten.

remove_column_purpose

Entfernen des Featuretyps für die angegebene Spalte.

Wenn für eine Spalte kein Feature angegeben ist, wird das erkannte Standardfeature verwendet.

remove_prediction_transform_type

Setzt den Vorhersagetransformationstyp für die Zielspalte auf den Standardwert zurück.

remove_transformer_params

Entfernen der Anpassungsparameter für Transformatoren für eine bestimmte Spalte oder alle Spalten.

add_blocked_transformers

Hinzufügen zu blockierender Transformatoren.

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

Parameter

Name Beschreibung
transformers
Erforderlich
str oder list[str]

Ein Transformatorname oder eine Liste von Transformatornamen. Bei den Transformatornamen muss es sich um einen der Transformatoren handeln, die im BLOCKED_TRANSFORMERS-Attribut der SupportedTransformers-Klasse aufgeführt sind.

add_column_purpose

Hinzufügen eines Featuretyps für die angegebene Spalte.

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

Parameter

Name Beschreibung
column_name
Erforderlich
str

Ein zu aktualisierender Spaltenname.

feature_type
Erforderlich

Ein Featuretyp, der für die Spalte verwendet werden soll. Bei den Featuretypen muss es sich um einen der Typen handeln, die im FULL_SET-Attribut der FeatureType-Klasse angegeben sind.

add_drop_columns

Fügen Sie einen zu ignorierenden Spaltennamen oder eine Liste von zu ignorierenden Spaltennamen hinzu.

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

Parameter

Name Beschreibung
drop_columns
Erforderlich
str oder list[str]

Ein Spaltenname oder eine Liste von Spaltennamen.

add_prediction_transform_type

Fügen Sie einen Vorhersagetransformationstyp für die Zielspalte hinzu.

PredictionTransformTypes -Klasse. :type prediction_transform_type: str

add_prediction_transform_type(prediction_transform_type: str) -> None

Parameter

Name Beschreibung
prediction_transform_type
Erforderlich

Ein für die Umwandlung der Zielspalte zu verwendender Vorhersagetransformationstyp. Featuretypen müssen angegeben werden im FULL_SET-Attribut der

add_transformer_params

Hinzufügen angepasster Transformatorparameter zur Liste der benutzerdefinierten Transformatorparameter.

Gilt für alle Spalten, wenn die Spaltenliste leer ist.

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

Parameter

Name Beschreibung
transformer
Erforderlich
str

Name des Transformators. Beim Transformatornamen muss es sich um einen der Namen handeln, die im CUSTOMIZABLE_TRANSFORMERS-Attribut der SupportedTransformers-Klasse aufgeführt sind.

cols
Erforderlich

Die Eingabespalten für den angegebenen Transformator. Einige Transformatoren akzeptieren mehrere als Liste angegebene Spalten als Eingabe.

params
Erforderlich

Ein Wörterbuch mit Schlüsselwörtern und Argumenten.

Hinweise

Das folgende Codebeispiel zeigt, wie Sie die Featurisierung in automatisiertem maschinellem Lernen vorhersagen. Im Beispielcode werden das Löschen einer Spalte und das Hinzufügen von Transformationsparametern gezeigt.


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

Das vollständige Beispiel finden Sie unter 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

Abrufen der Anpassungsparameter für Transformatoren für Spalten.

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

Parameter

Name Beschreibung
transformer
Erforderlich
str

Der Name des Transformators. Beim Transformatornamen muss es sich um einen der Namen handeln, die im CUSTOMIZABLE_TRANSFORMERS-Attribut der SupportedTransformers-Klasse aufgeführt sind.

cols
Erforderlich

Die Spaltennamen, für die Informationen abgerufen werden sollen. Verwenden Sie eine leere Liste, um alle Spalten anzugeben.

Gibt zurück

Typ Beschreibung

Einstellungen der Transformatorparameter.

remove_column_purpose

Entfernen des Featuretyps für die angegebene Spalte.

Wenn für eine Spalte kein Feature angegeben ist, wird das erkannte Standardfeature verwendet.

remove_column_purpose(column_name: str) -> None

Parameter

Name Beschreibung
column_name
Erforderlich
str

Der zu aktualisierende Spaltenname.

remove_prediction_transform_type

Setzt den Vorhersagetransformationstyp für die Zielspalte auf den Standardwert zurück.

remove_prediction_transform_type() -> None

remove_transformer_params

Entfernen der Anpassungsparameter für Transformatoren für eine bestimmte Spalte oder alle Spalten.

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

Parameter

Name Beschreibung
transformer
Erforderlich
str

Name des Transformators. Beim Transformatornamen muss es sich um einen der Namen handeln, die im CUSTOMIZABLE_TRANSFORMERS-Attribut der SupportedTransformers-Klasse aufgeführt sind.

cols
list[str] oder None

Die Namen der Spalten, aus denen Anpassungsparameter entfernt werden sollen. Geben Sie „None“ (Standardwert) an, um alle Anpassungsparameter für den angegebenen Transformator zu entfernen.

Standardwert: None

Attribute

blocked_transformers

column_purposes

dataset_language

drop_columns

prediction_transform_type

transformer_params