FeaturizationConfig Klas
Definieert de configuratie van functie-engineering voor geautomatiseerde machine learning-experimenten in Azure Machine Learning.
Gebruik de klasse FeaturizationConfig in de featurization
parameter van de AutoMLConfig klasse. Zie Geautomatiseerde ML-experimenten configureren voor meer informatie.
Maak een FeaturizationConfig.
- Overname
-
builtins.objectFeaturizationConfig
Constructor
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)
Parameters
Name | Description |
---|---|
blocked_transformers
|
Een lijst met namen van transformatoren die moeten worden geblokkeerd tijdens featurization. Default value: None
|
column_purposes
|
Een woordenlijst met kolomnamen en functietypen die worden gebruikt om het kolomdoel bij te werken. Default value: None
|
transformer_params
|
Een woordenlijst met transformatieprogramma's en bijbehorende aanpassingsparameters. Default value: None
|
drop_columns
|
Een lijst met kolommen die moeten worden genegeerd in het featurization-proces. Deze instelling wordt afgeschaft. Verwijder kolommen uit uw gegevenssets als onderdeel van uw gegevensvoorbereidingsproces voordat u de gegevenssets aan AutoML verstrekt. Default value: None
|
prediction_transform_type
|
Een str van het doeltransformatietype dat moet worden gebruikt om het doelkolomtype te casten. Default value: None
|
blocked_transformers
Vereist
|
Een lijst met namen van transformatoren die moeten worden geblokkeerd tijdens featurization. |
column_purposes
Vereist
|
Een woordenlijst met kolomnamen en functietypen die worden gebruikt om het kolomdoel bij te werken. |
transformer_params
Vereist
|
Een woordenlijst met transformatieprogramma's en bijbehorende aanpassingsparameters. |
drop_columns
Vereist
|
Een lijst met kolommen die moeten worden genegeerd in het featurization-proces. Deze instelling wordt afgeschaft. Verwijder kolommen uit uw gegevenssets als onderdeel van uw gegevensvoorbereidingsproces voordat u de gegevenssets aan AutoML verstrekt. |
dataset_language
|
ISO 639-3-code van drie tekens voor de taal(en) in de gegevensset. Andere talen dan Engels worden alleen ondersteund als u rekenkracht met GPU gebruikt. De langugage_code 'mul' moet worden gebruikt als de gegevensset meerdere talen bevat. Als u ISO 639-3-codes voor verschillende talen wilt vinden, raadpleegt https://en.wikipedia.org/wiki/List_of_ISO_639-3_codesu . Default value: None
|
prediction_transform_type
Vereist
|
Een str van het doeltransformatietype dat moet worden gebruikt om het doelkolomtype te casten. |
Opmerkingen
Aanpassing van featurization heeft methoden waarmee u het volgende kunt doen:
Kolomdoel toevoegen of verwijderen. Met de
add_column_purpose
methoden enremove_column_purpose
kunt u het functietype voor opgegeven kolommen overschrijven, bijvoorbeeld wanneer het functietype van de kolom het doel niet correct weergeeft. De add-methode ondersteunt het toevoegen van alle functietypen die zijn opgegeven in het kenmerk FULL_SET van de FeatureType klasse.Parameters voor transformatoren toevoegen of verwijderen. Met de
add_transformer_params
methoden enremove_transformer_params
kunt u de parameters van aanpasbare transformatoren zoals Imputer, HashOneHotEncoder en TfIdf wijzigen. Aanpasbare transformatoren worden vermeld in de SupportedTransformers klasse CUSTOMIZABLE_TRANSFORMERS kenmerk. Gebruik deget_transformer_params
om aanpassingsparameters op te zoeken.Bloktransformatoren. Bloktransformatoren die moeten worden gebruikt voor het featurization-proces met de
add_blocked_transformers
methode. De transformatoren moeten een van de transformatoren zijn die worden vermeld in de SupportedTransformers klasse BLOCKED_TRANSFORMERS kenmerk.Voeg een neerzetkolom toe om te negeren voor featurization en training met de
add_drop_columns
methode. U kunt bijvoorbeeld een kolom verwijderen die geen nuttige informatie bevat.Type voorspellingstransformatie toevoegen of verwijderen. Met
add_prediction_transform_type
en
remove_prediction_transform_type
methoden die u kunt overschrijven van het bestaande doelkolomtype.
Typen voorspellingstransformaties worden vermeld in het PredictionTransformTypes kenmerk.
In het volgende codevoorbeeld ziet u hoe u featurization kunt aanpassen in geautomatiseerde ML voor prognose. In de voorbeeldcode worden het verwijderen van een kolom en het toevoegen van transformatieparameters weergegeven.
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"})
Het volledige voorbeeld is beschikbaar via 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
In het volgende voorbeeld ziet u het aanpassen van featurization in een regressieprobleem met behulp van de gegevensset hardwareprestaties. In de voorbeeldcode wordt een geblokkeerde transformator gedefinieerd, worden kolomdoeleinden toegevoegd en transformatieparameters toegevoegd.
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})
Het volledige voorbeeld is beschikbaar via https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/regression-explanation-featurization/auto-ml-regression-explanation-featurization.ipynb
De FeaturizationConfig die in het bovenstaande codevoorbeeld is gedefinieerd, kan vervolgens worden gebruikt in de configuratie van een geautomatiseerd ML-experiment, zoals wordt weergegeven in het volgende codevoorbeeld.
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,
)
Het volledige voorbeeld is beschikbaar via 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 |
Transformatoren toevoegen die moeten worden geblokkeerd. |
add_column_purpose |
Voeg een functietype toe voor de opgegeven kolom. |
add_drop_columns |
Voeg een kolomnaam of een lijst met kolomnamen toe die u wilt negeren. |
add_prediction_transform_type |
Voeg een type voorspellingstransformatie toe voor de doelkolom. PredictionTransformTypes Klasse. :type prediction_transform_type: str |
add_transformer_params |
Aangepaste transformatorparameters toevoegen aan de lijst met aangepaste transformatieparameters. Toepassen op alle kolommen als de kolomlijst leeg is. |
get_transformer_params |
Aanpassingsparameters voor transformatoren ophalen voor kolommen. |
remove_column_purpose |
Verwijder het functietype voor de opgegeven kolom. Als er geen functie is opgegeven voor een kolom, wordt de gedetecteerde standaardfunctie gebruikt. |
remove_prediction_transform_type |
Zet het type voorspellingstransformatie terug naar de standaardwaarde voor de doelkolom. |
remove_transformer_params |
Verwijder de aanpassingsparameters van de transformator voor specifieke kolommen of alle kolommen. |
add_blocked_transformers
Transformatoren toevoegen die moeten worden geblokkeerd.
add_blocked_transformers(transformers: str | List[str]) -> None
Parameters
Name | Description |
---|---|
transformers
Vereist
|
Een transformernaam of lijst met namen van transformatoren. Namen van transformaties moeten een van de transformatoren zijn die worden vermeld in het kenmerk BLOCKED_TRANSFORMERS van de SupportedTransformers klasse. |
add_column_purpose
Voeg een functietype toe voor de opgegeven kolom.
add_column_purpose(column_name: str, feature_type: str) -> None
Parameters
Name | Description |
---|---|
column_name
Vereist
|
Een kolomnaam die moet worden bijgewerkt. |
feature_type
Vereist
|
Een functietype dat moet worden gebruikt voor de kolom. Functietypen moeten een type zijn dat is opgegeven in het kenmerk FULL_SET van de FeatureType klasse. |
add_drop_columns
Voeg een kolomnaam of een lijst met kolomnamen toe die u wilt negeren.
add_drop_columns(drop_columns: str | List[str]) -> None
Parameters
Name | Description |
---|---|
drop_columns
Vereist
|
Een kolomnaam of lijst met kolomnamen. |
add_prediction_transform_type
Voeg een type voorspellingstransformatie toe voor de doelkolom.
PredictionTransformTypes Klasse. :type prediction_transform_type: str
add_prediction_transform_type(prediction_transform_type: str) -> None
Parameters
Name | Description |
---|---|
prediction_transform_type
Vereist
|
Een type voorspellingstransformatie dat moet worden gebruikt voor het casten van doelkolom. Functietypen moeten een type zijn dat is opgegeven in het kenmerk FULL_SET van de |
add_transformer_params
Aangepaste transformatorparameters toevoegen aan de lijst met aangepaste transformatieparameters.
Toepassen op alle kolommen als de kolomlijst leeg is.
add_transformer_params(transformer: str, cols: List[str], params: Dict[str, Any]) -> None
Parameters
Name | Description |
---|---|
transformer
Vereist
|
De naam van de transformator. De naam van de transformator moet een van de CUSTOMIZABLE_TRANSFORMERS zijn die in de SupportedTransformers klasse worden vermeld. |
cols
Vereist
|
Invoerkolommen voor opgegeven transformator. Sommige transformatoren kunnen meerdere kolommen gebruiken als invoer die is opgegeven als een lijst. |
params
Vereist
|
Een woordenlijst met trefwoorden en argumenten. |
Opmerkingen
In het volgende codevoorbeeld ziet u hoe u featurization kunt aanpassen in geautomatiseerde ML voor prognose. In de voorbeeldcode worden het verwijderen van een kolom en het toevoegen van transformatieparameters weergegeven.
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"})
Het volledige voorbeeld is beschikbaar via 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
Aanpassingsparameters voor transformatoren ophalen voor kolommen.
get_transformer_params(transformer: str, cols: List[str]) -> Dict[str, Any]
Parameters
Name | Description |
---|---|
transformer
Vereist
|
De naam van de transformator. De naam van de transformator moet een van de CUSTOMIZABLE_TRANSFORMERS zijn die in de SupportedTransformers klasse worden vermeld. |
cols
Vereist
|
De kolomnamen waarvoor informatie moet worden opgehaald. Gebruik een lege lijst om alle kolommen op te geven. |
Retouren
Type | Description |
---|---|
Instellingen voor transformatieparameters. |
remove_column_purpose
Verwijder het functietype voor de opgegeven kolom.
Als er geen functie is opgegeven voor een kolom, wordt de gedetecteerde standaardfunctie gebruikt.
remove_column_purpose(column_name: str) -> None
Parameters
Name | Description |
---|---|
column_name
Vereist
|
De naam van de kolom die moet worden bijgewerkt. |
remove_prediction_transform_type
Zet het type voorspellingstransformatie terug naar de standaardwaarde voor de doelkolom.
remove_prediction_transform_type() -> None
remove_transformer_params
Verwijder de aanpassingsparameters van de transformator voor specifieke kolommen of alle kolommen.
remove_transformer_params(transformer: str, cols: List[str] | None = None) -> None
Parameters
Name | Description |
---|---|
transformer
Vereist
|
De naam van de transformator. De naam van de transformator moet een van de CUSTOMIZABLE_TRANSFORMERS zijn die in de SupportedTransformers klasse worden vermeld. |
cols
|
De namen van kolommen waaruit u de aanpassingsparameters wilt verwijderen. Geef Geen (de standaardinstelling) op om alle aanpassingsparameters voor de opgegeven transformator te verwijderen. Default value: None
|