FeaturizationConfig Classe
Définit la configuration de l’ingénierie des caractéristiques pour les expériences de Machine Learning automatisées dans Azure Machine Learning.
Utilisez la classe FeaturizationConfig dans le paramètre featurization
de la classe AutoMLConfig. Pour plus d’informations, consultez Configurer des expériences de Machine Learning automatisé.
Créez un featurizationConfig.
- Héritage
-
builtins.objectFeaturizationConfig
Constructeur
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)
Paramètres
Liste des noms de transformateur à bloquer pendant l’ingénierie de caractéristiques.
- column_purposes
- dict
Dictionnaire des noms de colonnes et des types de caractéristiques utilisés pour mettre à jour l’objet de la colonne.
- transformer_params
- dict
Dictionnaire du transformateur et des paramètres de personnalisation correspondants.
Liste des colonnes à ignorer dans le processus d’ingénierie de caractéristiques. Ce paramètre est déconseillé. Supprimez les colonnes de vos jeux de données dans le cadre de votre processus de préparation des données avant de fournir les jeux de données au Machine Learning automatisé.
- prediction_transform_type
- str
Chaîne de type de transformation cible à utiliser pour caster le type de colonne cible.
Liste des noms de transformateur à bloquer pendant l’ingénierie de caractéristiques.
- column_purposes
- dict
Dictionnaire des noms de colonnes et des types de caractéristiques utilisés pour mettre à jour l’objet de la colonne.
- transformer_params
- dict
Dictionnaire du transformateur et des paramètres de personnalisation correspondants.
Liste des colonnes à ignorer dans le processus d’ingénierie de caractéristiques. Ce paramètre est déconseillé. Supprimez les colonnes de vos jeux de données dans le cadre de votre processus de préparation des données avant de fournir les jeux de données au Machine Learning automatisé.
- dataset_language
- str
Code ISO 639-3 à trois caractères pour les langues contenues dans le jeu de données. Les langues autres que l’anglais ne sont prises en charge que si vous utilisez le calcul avec GPU. Le langugage_code « mul » doit être utilisé si le jeu de données contient plusieurs langues. Pour trouver des codes ISO 639-3 pour différentes langues, reportez-vous à https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes.
- prediction_transform_type
- str
Chaîne de type de transformation cible à utiliser pour caster le type de colonne cible.
Remarques
La personnalisation de l’ingénierie de caractéristiques a des méthodes qui vous permettent d’effectuer les opérations suivantes :
Ajouter ou supprimer l’objet de la colonne. Avec les méthodes
add_column_purpose
etremove_column_purpose
, vous pouvez remplacer le type de caractéristique pour les colonnes spécifiées, par exemple, lorsque le type de caractéristique de colonne ne reflète pas correctement son objectif. La méthode d’ajout prend en charge l’ajout de tous les types de caractéristiques fournis dans l’attribut FULL_SET de la classe FeatureType.Ajouter ou supprimer des paramètres du transformateur. Avec les méthodes
add_transformer_params
etremove_transformer_params
, vous pouvez modifier les paramètres des transformateurs personnalisables tels qu’Imputer, HashOneHotEncoder et TfIdf. Les transformateurs personnalisables sont répertoriés dans l’attribut CUSTOMIZABLE_TRANSFORMERS de la classe SupportedTransformers. Utilisezget_transformer_params
pour rechercher les paramètres de personnalisation.Transformateurs de blocs. Transformateurs de blocs à utiliser pour le processus d’ingénierie de caractéristiques avec la méthode
add_blocked_transformers
. Les transformateurs doivent correspondre à l’un des transformateurs figurant dans l’attribut BLOCKED_TRANSFORMERS de la classe SupportedTransformers.Ajoutez une colonne de dépôt à ignorer pour l’ingénierie de caractéristiques et la formation avec la méthode
add_drop_columns
. Par exemple, vous pouvez supprimer une colonne qui ne contient pas d’informations utiles.Ajoutez ou supprimez un type de transformation de prédiction. Avec les méthodes
add_prediction_transform_type
et
remove_prediction_transform_type
, vous pouvez remplacer le type de colonne cible existant.
Les types de transformation de prédiction sont répertoriés dans l’attribut PredictionTransformTypes.
L’exemple de code suivant montre comment personnaliser l’ingénierie de caractéristiques dans le Machine Learning automatisé pour les prévisions. Dans l’exemple de code, la suppression d’une colonne et l’ajout de paramètres de transformation sont affichés.
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"})
Un exemple complet est disponible sur 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
L’exemple suivant illustre la personnalisation d’ingénierie de caractéristiques dans un problème de régression à l’aide du jeu de données de performances matérielles. Dans l’exemple de code, un transformateur bloqué est défini, des objectifs de colonne sont ajoutés et des paramètres de transformateur sont ajoutés.
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})
Un exemple complet est disponible sur https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/regression-explanation-featurization/auto-ml-regression-explanation-featurization.ipynb
L’objet FeaturizationConfig défini dans l’exemple de code ci-dessus peut ensuite être utilisé dans la configuration d’une expérience de ML automatisé, comme indiqué dans l’exemple de code suivant.
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,
)
Un exemple complet est disponible sur https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/regression-explanation-featurization/auto-ml-regression-explanation-featurization.ipynb
Méthodes
add_blocked_transformers |
Ajoutez des transformateurs à bloquer. |
add_column_purpose |
Ajoutez un type de caractéristique pour la colonne spécifiée. |
add_drop_columns |
Ajoutez un nom de colonne ou une liste de noms de colonnes à ignorer. |
add_prediction_transform_type |
Ajoutez un type de transformation de prédiction pour la colonne cible. ClassePredictionTransformTypes . :type prediction_transform_type: str |
add_transformer_params |
Ajoutez des paramètres de transformateur personnalisés à la liste des paramètres de transformateur personnalisés. Appliquez à toutes les colonnes si la liste des colonnes est vide. |
get_transformer_params |
Récupérez les paramètres de personnalisation du transformateur pour les colonnes. |
remove_column_purpose |
Supprimez le type de caractéristique pour la colonne spécifiée. Si aucune caractéristique n’est spécifiée pour une colonne, la caractéristique par défaut détectée est utilisée. |
remove_prediction_transform_type |
Rétablissez le type de transformation de prédiction par défaut pour la colonne cible. |
remove_transformer_params |
Supprimez les paramètres de personnalisation de transformateur pour une colonne spécifique ou toutes les colonnes. |
add_blocked_transformers
Ajoutez des transformateurs à bloquer.
add_blocked_transformers(transformers: str | List[str]) -> None
Paramètres
Nom de transformateur ou liste de noms de transformateurs. Les noms de transformateurs doivent correspondre à l’un des transformateurs figurant dans l’attribut BLOCKED_TRANSFORMERS de la classe SupportedTransformers.
add_column_purpose
Ajoutez un type de caractéristique pour la colonne spécifiée.
add_column_purpose(column_name: str, feature_type: str) -> None
Paramètres
- feature_type
- FeatureType
Type de caractéristique à utiliser pour la colonne. Les types de caractéristiques doivent figurer dans l’attribut FULL_SET de la classe FeatureType.
add_drop_columns
Ajoutez un nom de colonne ou une liste de noms de colonnes à ignorer.
add_drop_columns(drop_columns: str | List[str]) -> None
Paramètres
add_prediction_transform_type
Ajoutez un type de transformation de prédiction pour la colonne cible.
ClassePredictionTransformTypes . :type prediction_transform_type: str
add_prediction_transform_type(prediction_transform_type: str) -> None
Paramètres
- prediction_transform_type
Type de transformation de prédiction à utiliser pour caster la colonne cible. Les types de caractéristiques doivent figurer dans l’attribut FULL_SET de la
add_transformer_params
Ajoutez des paramètres de transformateur personnalisés à la liste des paramètres de transformateur personnalisés.
Appliquez à toutes les colonnes si la liste des colonnes est vide.
add_transformer_params(transformer: str, cols: List[str], params: Dict[str, Any]) -> None
Paramètres
- transformer
- str
Nom du transformateur. Le nom du transformateur doit être l’un des CUSTOMIZABLE_TRANSFORMERS listés dans la classe SupportedTransformers.
Colonnes d’entrée pour le transformateur spécifié. Certains transformateurs peuvent prendre plusieurs colonnes comme entrées spécifiées sous forme de liste.
Remarques
L’exemple de code suivant montre comment personnaliser caractérisation dans le Machine Learning automatisé pour les prévisions. Dans l’exemple de code, la suppression d’une colonne et l’ajout de paramètres de transformation sont affichés.
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"})
Un exemple complet est disponible sur 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
Récupérez les paramètres de personnalisation du transformateur pour les colonnes.
get_transformer_params(transformer: str, cols: List[str]) -> Dict[str, Any]
Paramètres
- transformer
- str
Nom du transformateur. Le nom du transformateur doit être l’un des CUSTOMIZABLE_TRANSFORMERS listés dans la classe SupportedTransformers.
Noms des colonnes pour lesquelles obtenir des informations. Utilisez une liste vide pour spécifier toutes les colonnes.
Retours
Paramètres du transformateur.
Type de retour
remove_column_purpose
Supprimez le type de caractéristique pour la colonne spécifiée.
Si aucune caractéristique n’est spécifiée pour une colonne, la caractéristique par défaut détectée est utilisée.
remove_column_purpose(column_name: str) -> None
Paramètres
remove_prediction_transform_type
Rétablissez le type de transformation de prédiction par défaut pour la colonne cible.
remove_prediction_transform_type() -> None
remove_transformer_params
Supprimez les paramètres de personnalisation de transformateur pour une colonne spécifique ou toutes les colonnes.
remove_transformer_params(transformer: str, cols: List[str] | None = None) -> None
Paramètres
- transformer
- str
Nom du transformateur. Le nom du transformateur doit être l’un des CUSTOMIZABLE_TRANSFORMERS listés dans la classe SupportedTransformers.
Attributs
blocked_transformers
column_purposes
dataset_language
drop_columns
prediction_transform_type
transformer_params
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour