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.objectFeaturizationConfig
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 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
|
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 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 eremove_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 eremove_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 perget_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
|
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
|
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
|
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
|
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
|
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
|
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
|
Nome del trasformatore. Il nome del trasformatore deve essere uno dei CUSTOMIZABLE_TRANSFORMERS elencati nella SupportedTransformers classe. |
cols
|
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
|