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