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
En lista över transformerarnamn som ska blockeras under funktionalisering.
- column_purposes
- dict
En ordlista med kolumnnamn och funktionstyper som används för att uppdatera kolumnsyftet.
- transformer_params
- dict
En ordlista med transformerare och motsvarande anpassningsparametrar.
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
En str av måltransformeringstypen som ska användas för att omvandla målkolumntypen.
En lista över transformerarnamn som ska blockeras under funktionalisering.
- column_purposes
- dict
En ordlista med kolumnnamn och funktionstyper som används för att uppdatera kolumnsyftet.
- transformer_params
- dict
En ordlista med transformerare och motsvarande anpassningsparametrar.
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.
- prediction_transform_type
- 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 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
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
- feature_type
- FeatureType
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
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
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
Transformerarens namn. Transformerarens namn måste vara ett av de CUSTOMIZABLE_TRANSFORMERS som anges i SupportedTransformers klassen .
Indatakolumner för angiven transformerare. Vissa transformatorer kan ta flera kolumner som indata som anges som en lista.
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
Transformerarens namn. Transformerarens namn måste vara ett av de CUSTOMIZABLE_TRANSFORMERS som anges i SupportedTransformers klassen .
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
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
Transformerarens namn. Transformerarens namn måste vara ett av de CUSTOMIZABLE_TRANSFORMERS som anges i SupportedTransformers klassen .
Attribut
blocked_transformers
column_purposes
dataset_language
drop_columns
prediction_transform_type
transformer_params
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för