Condividi tramite


FeaturizationConfig Classe

Definisce la configurazione di progettazione delle funzionalità per esperimenti automatizzati di Machine Learning in Azure Machine Learning.

Utilizzare la classe FeaturizationConfig nel featurization parametro della AutoMLConfig classe . Per altre informazioni, vedere Configurare esperimenti di Machine Learning automatizzati.

Creare un oggetto FeaturizationConfig.

Ereditarietà
builtins.object
FeaturizationConfig

Costruttore

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)

Parametri

Nome Descrizione
blocked_transformers

Elenco dei nomi dei trasformatori da bloccare durante la funzionalità.

Valore predefinito: None
column_purposes

Dizionario dei nomi delle colonne e dei tipi di funzionalità usati per aggiornare lo scopo della colonna.

Valore predefinito: None
transformer_params

Dizionario dei parametri di personalizzazione e trasformatore corrispondenti.

Valore predefinito: None
drop_columns

Elenco di colonne da ignorare nel processo di funzionalità. Questa impostazione è deprecata. Eliminare colonne dai set di dati nell'ambito del processo di preparazione dei dati prima di fornire i set di dati a AutoML.

Valore predefinito: None
prediction_transform_type
str

Str del tipo di trasformazione di destinazione da usare per eseguire il cast del tipo di colonna di destinazione.

Valore predefinito: None
blocked_transformers
Necessario

Elenco dei nomi dei trasformatori da bloccare durante la funzionalità.

column_purposes
Necessario

Dizionario dei nomi delle colonne e dei tipi di funzionalità usati per aggiornare lo scopo della colonna.

transformer_params
Necessario

Dizionario dei parametri di personalizzazione e trasformatore corrispondenti.

drop_columns
Necessario

Elenco di colonne da ignorare nel processo di funzionalità. Questa impostazione è deprecata. Eliminare colonne dai set di dati nell'ambito del processo di preparazione dei dati prima di fornire i set di dati a AutoML.

dataset_language
str

Codice ISO 639-3 di tre caratteri per i linguaggi contenuti nel set di dati. Le lingue diverse dall'inglese sono supportate solo se si usa il calcolo abilitato per la GPU. L'langugage_code 'mul' deve essere usato se il set di dati contiene più lingue. Per trovare codici ISO 639-3 per lingue diverse, vedere https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes.

Valore predefinito: None
prediction_transform_type
Necessario
str

Str del tipo di trasformazione di destinazione da usare per eseguire il cast del tipo di colonna di destinazione.

Commenti

La personalizzazione delle funzionalità include metodi che consentono di:

  • Aggiungere o rimuovere lo scopo della colonna. Con i add_column_purpose metodi e remove_column_purpose è possibile eseguire l'override del tipo di funzionalità per le colonne specificate, ad esempio quando il tipo di funzionalità di colonna non riflette correttamente lo scopo. Il metodo add supporta l'aggiunta di tutti i tipi di funzionalità specificati nell'attributo FULL_SET della FeatureType classe.

  • Aggiungere o rimuovere i parametri del trasformatore. Con i add_transformer_params metodi e remove_transformer_params è possibile modificare i parametri dei trasformatori personalizzabili come Imputer, HashOneHotEncoder e TfIdf. I trasformatori personalizzabili sono elencati nell'attributo SupportedTransformers CUSTOMIZABLE_TRANSFORMERS classe. Usare per get_transformer_params cercare i parametri di personalizzazione.

  • Trasformatori a blocchi. Trasformatori a blocchi da usare per il processo di funzionalità con il add_blocked_transformers metodo . I trasformatori devono essere uno dei trasformatori elencati nell'attributo SupportedTransformers BLOCKED_TRANSFORMERS classe.

  • Aggiungere una colonna a discesa da ignorare per la funzionalità e il training con il add_drop_columns metodo . Ad esempio, è possibile eliminare una colonna che non contiene informazioni utili.

  • Aggiungere o rimuovere il tipo di trasformazione della stima. Con add_prediction_transform_type e

remove_prediction_transform_type è possibile eseguire l'override del tipo di colonna di destinazione esistente. I tipi di trasformazione di stima sono elencati nell'attributo PredictionTransformTypes .

Nell'esempio di codice seguente viene illustrato come personalizzare la funzionalità in Machine Learning automatizzato per la previsione. Nel codice di esempio viene visualizzata l'eliminazione di una colonna e l'aggiunta di parametri di trasformazione.


   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"})

L'esempio completo è disponibile da 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

Nell'esempio successivo viene illustrata la personalizzazione della funzionalità in un problema di regressione usando il set di dati di prestazioni hardware. Nel codice di esempio viene definito un trasformatore bloccato, vengono aggiunti scopi di colonna e i parametri del trasformatore vengono aggiunti.


   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})

L'esempio completo è disponibile da https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/regression-explanation-featurization/auto-ml-regression-explanation-featurization.ipynb

L'elemento FeaturizationConfig definito nell'esempio di codice precedente può quindi essere usato nella configurazione di un esperimento di Machine Learning automatizzato, come illustrato nell'esempio di codice successivo.


   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,
   )

L'esempio completo è disponibile da https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/regression-explanation-featurization/auto-ml-regression-explanation-featurization.ipynb

Metodi

add_blocked_transformers

Aggiungere trasformatori da bloccare.

add_column_purpose

Aggiungere un tipo di funzionalità per la colonna specificata.

add_drop_columns

Aggiungere il nome della colonna o l'elenco di nomi di colonna da ignorare.

add_prediction_transform_type

Aggiungere un tipo di trasformazione di stima per la colonna di destinazione.

ClassePredictionTransformTypes . :type prediction_transform_type: str

add_transformer_params

Aggiungere parametri di trasformatore personalizzati all'elenco di parametri di trasformatore personalizzati.

Applicare a tutte le colonne se l'elenco di colonne è vuoto.

get_transformer_params

Recuperare i parametri di personalizzazione del trasformatore per le colonne.

remove_column_purpose

Rimuovere il tipo di funzionalità per la colonna specificata.

Se non viene specificata alcuna funzionalità per una colonna, viene usata la funzionalità predefinita rilevata.

remove_prediction_transform_type

Ripristinare il tipo di trasformazione di stima in base al valore predefinito per la colonna di destinazione.

remove_transformer_params

Rimuovere i parametri di personalizzazione del trasformatore per una colonna specifica o per tutte le colonne.

add_blocked_transformers

Aggiungere trasformatori da bloccare.

add_blocked_transformers(transformers: str | List[str]) -> None

Parametri

Nome Descrizione
transformers
Necessario
str oppure list[str]

Nome del trasformatore o elenco di nomi di trasformatori. I nomi dei trasformatori devono essere uno dei trasformatori elencati nell'attributo BLOCKED_TRANSFORMERS della SupportedTransformers classe.

add_column_purpose

Aggiungere un tipo di funzionalità per la colonna specificata.

add_column_purpose(column_name: str, feature_type: str) -> None

Parametri

Nome Descrizione
column_name
Necessario
str

Nome di colonna da aggiornare.

feature_type
Necessario

Tipo di funzionalità da usare per la colonna. I tipi di funzionalità devono essere specificati nell'attributo FULL_SET della FeatureType classe.

add_drop_columns

Aggiungere il nome della colonna o l'elenco di nomi di colonna da ignorare.

add_drop_columns(drop_columns: str | List[str]) -> None

Parametri

Nome Descrizione
drop_columns
Necessario
str oppure list[str]

Nome di colonna o elenco di nomi di colonna.

add_prediction_transform_type

Aggiungere un tipo di trasformazione di stima per la colonna di destinazione.

ClassePredictionTransformTypes . :type prediction_transform_type: str

add_prediction_transform_type(prediction_transform_type: str) -> None

Parametri

Nome Descrizione
prediction_transform_type
Necessario

Tipo di trasformazione di stima da usare per la colonna di destinazione di cast. I tipi di funzionalità devono essere specificati nell'attributo FULL_SET dell'oggetto

add_transformer_params

Aggiungere parametri di trasformatore personalizzati all'elenco di parametri di trasformatore personalizzati.

Applicare a tutte le colonne se l'elenco di colonne è vuoto.

add_transformer_params(transformer: str, cols: List[str], params: Dict[str, Any]) -> None

Parametri

Nome Descrizione
transformer
Necessario
str

Nome del trasformatore. Il nome del trasformatore deve essere uno dei CUSTOMIZABLE_TRANSFORMERS elencati nella SupportedTransformers classe.

cols
Necessario

Colonne di input per il trasformatore specificato. Alcuni trasformatori possono accettare più colonne come input specificato come elenco.

params
Necessario

Dizionario di parole chiave e argomenti.

Commenti

Nell'esempio di codice seguente viene illustrato come personalizzare la funzionalità in Machine Learning automatizzato per la previsione. Nel codice di esempio viene visualizzata l'eliminazione di una colonna e l'aggiunta di parametri di trasformazione.


   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"})

L'esempio completo è disponibile da 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

Recuperare i parametri di personalizzazione del trasformatore per le colonne.

get_transformer_params(transformer: str, cols: List[str]) -> Dict[str, Any]

Parametri

Nome Descrizione
transformer
Necessario
str

Nome del trasformatore. Il nome del trasformatore deve essere uno dei CUSTOMIZABLE_TRANSFORMERS elencati nella SupportedTransformers classe.

cols
Necessario

Nomi delle colonne per ottenere informazioni. Usare un elenco vuoto per specificare tutte le colonne.

Restituisce

Tipo Descrizione

Impostazioni dei parametri del trasformatore.

remove_column_purpose

Rimuovere il tipo di funzionalità per la colonna specificata.

Se non viene specificata alcuna funzionalità per una colonna, viene usata la funzionalità predefinita rilevata.

remove_column_purpose(column_name: str) -> None

Parametri

Nome Descrizione
column_name
Necessario
str

Nome della colonna da aggiornare.

remove_prediction_transform_type

Ripristinare il tipo di trasformazione di stima in base al valore predefinito per la colonna di destinazione.

remove_prediction_transform_type() -> None

remove_transformer_params

Rimuovere i parametri di personalizzazione del trasformatore per una colonna specifica o per tutte le colonne.

remove_transformer_params(transformer: str, cols: List[str] | None = None) -> None

Parametri

Nome Descrizione
transformer
Necessario
str

Nome del trasformatore. Il nome del trasformatore deve essere uno dei CUSTOMIZABLE_TRANSFORMERS elencati nella SupportedTransformers classe.

cols
list[str] oppure None

Nomi delle colonne da cui rimuovere i parametri di personalizzazione. Specificare Nessuno (impostazione predefinita) per rimuovere tutti i params di personalizzazione per il trasformatore specificato.

Valore predefinito: None

Attributi

blocked_transformers

column_purposes

dataset_language

drop_columns

prediction_transform_type

transformer_params