Share 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

blocked_transformers
list(str)
standaardwaarde: None

Een lijst met namen van transformatoren die moeten worden geblokkeerd tijdens featurization.

column_purposes
dict
standaardwaarde: None

Een woordenlijst met kolomnamen en functietypen die worden gebruikt om het kolomdoel bij te werken.

transformer_params
dict
standaardwaarde: None

Een woordenlijst met transformatieprogramma's en bijbehorende aanpassingsparameters.

drop_columns
list(str)
standaardwaarde: None

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.

prediction_transform_type
str
standaardwaarde: None

Een str van het doeltransformatietype dat moet worden gebruikt om het doelkolomtype te casten.

blocked_transformers
list(str)
Vereist

Een lijst met namen van transformatoren die moeten worden geblokkeerd tijdens featurization.

column_purposes
dict
Vereist

Een woordenlijst met kolomnamen en functietypen die worden gebruikt om het kolomdoel bij te werken.

transformer_params
dict
Vereist

Een woordenlijst met transformatieprogramma's en bijbehorende aanpassingsparameters.

drop_columns
list(str)
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
standaardwaarde: None

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 .

prediction_transform_type
str
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 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

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

column_name
str
Vereist

Een kolomnaam die moet worden bijgewerkt.

feature_type
FeatureType
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

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

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

transformer
str
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
list(str)
Vereist

Invoerkolommen voor opgegeven transformator. Sommige transformatoren kunnen meerdere kolommen gebruiken als invoer die is opgegeven als een lijst.

params
dict
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

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

De kolomnamen waarvoor informatie moet worden opgehaald. Gebruik een lege lijst om alle kolommen op te geven.

Retouren

Instellingen voor transformatieparameters.

Retourtype

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

column_name
str
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

transformer
str
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
list[str] of None
standaardwaarde: 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.

Kenmerken

blocked_transformers

column_purposes

dataset_language

drop_columns

prediction_transform_type

transformer_params