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
Een lijst met namen van transformatoren die moeten worden geblokkeerd tijdens featurization.
- column_purposes
- dict
Een woordenlijst met kolomnamen en functietypen die worden gebruikt om het kolomdoel bij te werken.
- transformer_params
- dict
Een woordenlijst met transformatieprogramma's en bijbehorende aanpassingsparameters.
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
Een str van het doeltransformatietype dat moet worden gebruikt om het doelkolomtype te casten.
Een lijst met namen van transformatoren die moeten worden geblokkeerd tijdens featurization.
- column_purposes
- dict
Een woordenlijst met kolomnamen en functietypen die worden gebruikt om het kolomdoel bij te werken.
- transformer_params
- dict
Een woordenlijst met transformatieprogramma's en bijbehorende aanpassingsparameters.
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 .
- prediction_transform_type
- 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 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
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
- feature_type
- FeatureType
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
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
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
De naam van de transformator. De naam van de transformator moet een van de CUSTOMIZABLE_TRANSFORMERS zijn die in de SupportedTransformers klasse worden vermeld.
Invoerkolommen voor opgegeven transformator. Sommige transformatoren kunnen meerdere kolommen gebruiken als invoer die is opgegeven als een lijst.
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
De naam van de transformator. De naam van de transformator moet een van de CUSTOMIZABLE_TRANSFORMERS zijn die in de SupportedTransformers klasse worden vermeld.
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
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
De naam van de transformator. De naam van de transformator moet een van de CUSTOMIZABLE_TRANSFORMERS zijn die in de SupportedTransformers klasse worden vermeld.
Kenmerken
blocked_transformers
column_purposes
dataset_language
drop_columns
prediction_transform_type
transformer_params
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor