Delen via


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.object
FeaturizationConfig

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
str

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
str

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
str

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 en remove_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 en remove_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 de get_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
str of list[str]

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
str

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

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
str

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
str

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
str

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
str

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
list[str] of None

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

Kenmerken

blocked_transformers

column_purposes

dataset_language

drop_columns

prediction_transform_type

transformer_params