Partilhar via


FeaturizationConfig Classe

Define a configuração de engenharia de funcionalidades para experimentações automatizadas de machine learning no Azure Machine Learning.

Utilize a classe FeaturizationConfig no featurization parâmetro da AutoMLConfig classe. Para obter mais informações, veja Configurar experimentações de ML automatizadas.

Crie um FeaturizationConfig.

Herança
builtins.object
FeaturizationConfig

Construtor

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)

Parâmetros

Name Description
blocked_transformers

Uma lista de nomes de transformador a serem bloqueados durante a caracterização.

Default value: None
column_purposes

Um dicionário de nomes de colunas e tipos de funcionalidades utilizados para atualizar a finalidade da coluna.

Default value: None
transformer_params

Um dicionário do transformador e dos parâmetros de personalização correspondentes.

Default value: None
drop_columns

Uma lista de colunas a ignorar no processo de caracterização. Esta definição está a ser preterida. Largue colunas dos seus conjuntos de dados como parte do processo de preparação de dados antes de fornecer os conjuntos de dados ao AutoML.

Default value: None
prediction_transform_type
str

Um limite do tipo de transformação de destino a ser utilizado para lançar o tipo de coluna de destino.

Default value: None
blocked_transformers
Necessário

Uma lista de nomes de transformador a serem bloqueados durante a caracterização.

column_purposes
Necessário

Um dicionário de nomes de colunas e tipos de funcionalidades utilizados para atualizar a finalidade da coluna.

transformer_params
Necessário

Um dicionário do transformador e dos parâmetros de personalização correspondentes.

drop_columns
Necessário

Uma lista de colunas a ignorar no processo de caracterização. Esta definição está a ser preterida. Largue colunas dos seus conjuntos de dados como parte do processo de preparação de dados antes de fornecer os conjuntos de dados ao AutoML.

dataset_language
str

Código ISO 639-3 de três carateres para os idiomas contidos no conjunto de dados. Os idiomas que não o inglês só são suportados se utilizar computação ativada por GPU. A langugage_code "mula" deve ser utilizada se o conjunto de dados contiver vários idiomas. Para localizar códigos ISO 639-3 para idiomas diferentes, consulte https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes.

Default value: None
prediction_transform_type
Necessário
str

Um limite do tipo de transformação de destino a ser utilizado para lançar o tipo de coluna de destino.

Observações

A personalização da caracterização tem métodos que lhe permitem:

  • Adicionar ou remover a finalidade da coluna. Com os add_column_purpose métodos e remove_column_purpose , por exemplo, pode substituir o tipo de funcionalidade para colunas especificadas, por exemplo, quando o tipo de funcionalidade da coluna não reflete corretamente o seu objetivo. O método add suporta a adição de todos os tipos de funcionalidades fornecidos no atributo FULL_SET da FeatureType classe.

  • Adicionar ou remover parâmetros do transformador. Com os add_transformer_params métodos e remove_transformer_params , pode alterar os parâmetros de transformadores personalizáveis, como Imputer, HashOneHotEncoder e TfIdf. Os transformadores personalizáveis estão listados no SupportedTransformers atributo CUSTOMIZABLE_TRANSFORMERS classe. Utilize os get_transformer_params parâmetros de personalização para pesquisa.

  • Bloquear transformadores. Bloquear transformadores a utilizar para o processo de caracterização com o add_blocked_transformers método . Os transformadores têm de ser um dos transformadores listados na SupportedTransformers classe BLOCKED_TRANSFORMERS atributo.

  • Adicione uma coluna pendente a ignorar para caracterização e preparação com o add_drop_columns método . Por exemplo, pode remover uma coluna que não contenha informações úteis.

  • Adicionar ou remover o tipo de transformação de predição. Com add_prediction_transform_type e

remove_prediction_transform_type métodos que pode substituir o tipo de coluna de destino existente. Os tipos de transformação de predição estão listados no PredictionTransformTypes atributo.

O seguinte exemplo de código mostra como personalizar a caracterização no ML automatizado para previsão. No código de exemplo, é apresentada a remoção de uma coluna e a adição de parâmetros de transformação.


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

O exemplo completo está disponível a partir de 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

O exemplo seguinte mostra a personalização da caracterização num problema de regressão com o Conjunto de Dados de Desempenho de Hardware. No código de exemplo, é definido um transformador bloqueado, são adicionados fins de coluna e são adicionados parâmetros do transformador.


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

O exemplo completo está disponível a partir de https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/regression-explanation-featurization/auto-ml-regression-explanation-featurization.ipynb

O FeaturizationConfig definido no exemplo de código acima pode ser utilizado na configuração de uma experimentação de ML automatizada, conforme mostrado no exemplo de código seguinte.


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

O exemplo completo está disponível a partir de https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/regression-explanation-featurization/auto-ml-regression-explanation-featurization.ipynb

Métodos

add_blocked_transformers

Adicione transformadores a bloquear.

add_column_purpose

Adicione um tipo de funcionalidade para a coluna especificada.

add_drop_columns

Adicione o nome da coluna ou a lista de nomes de colunas a ignorar.

add_prediction_transform_type

Adicione um tipo de transformação de predição para a coluna de destino.

PredictionTransformTypes classe. :type prediction_transform_type: str

add_transformer_params

Adicione parâmetros do transformador personalizados à lista de parâmetros do transformador personalizado.

Aplicar a todas as colunas se a lista de colunas estiver vazia.

get_transformer_params

Obtenha parâmetros de personalização do transformador para colunas.

remove_column_purpose

Remova o tipo de funcionalidade da coluna especificada.

Se não for especificada nenhuma funcionalidade para uma coluna, é utilizada a funcionalidade predefinida detetada.

remove_prediction_transform_type

Reverta o tipo de transformação de predição para predefinição para a coluna de destino.

remove_transformer_params

Remova os parâmetros de personalização do transformador para colunas específicas ou todas as colunas.

add_blocked_transformers

Adicione transformadores a bloquear.

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

Parâmetros

Name Description
transformers
Necessário
str ou list[str]

Um nome de transformador ou uma lista de nomes de transformador. Os nomes dos transformadores têm de ser um dos transformadores listados no atributo BLOCKED_TRANSFORMERS da SupportedTransformers classe.

add_column_purpose

Adicione um tipo de funcionalidade para a coluna especificada.

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

Parâmetros

Name Description
column_name
Necessário
str

Um nome de coluna a atualizar.

feature_type
Necessário

Um tipo de funcionalidade a utilizar para a coluna. Os tipos de funcionalidades têm de ser fornecidos no atributo FULL_SET da FeatureType classe.

add_drop_columns

Adicione o nome da coluna ou a lista de nomes de colunas a ignorar.

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

Parâmetros

Name Description
drop_columns
Necessário
str ou list[str]

Um nome de coluna ou lista de nomes de colunas.

add_prediction_transform_type

Adicione um tipo de transformação de predição para a coluna de destino.

PredictionTransformTypes classe. :type prediction_transform_type: str

add_prediction_transform_type(prediction_transform_type: str) -> None

Parâmetros

Name Description
prediction_transform_type
Necessário

Um tipo de transformação de predição a ser utilizado para a coluna de destino de fundição. Os tipos de funcionalidades têm de ser fornecidos no atributo FULL_SET do

add_transformer_params

Adicione parâmetros do transformador personalizados à lista de parâmetros do transformador personalizado.

Aplicar a todas as colunas se a lista de colunas estiver vazia.

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

Parâmetros

Name Description
transformer
Necessário
str

O nome do transformador. O nome do transformador tem de ser um dos CUSTOMIZABLE_TRANSFORMERS listados na SupportedTransformers classe.

cols
Necessário

Colunas de entrada para o transformador especificado. Alguns transformadores podem utilizar várias colunas como entrada especificada como uma lista.

params
Necessário

Um dicionário de palavras-chave e argumentos.

Observações

O seguinte exemplo de código mostra como personalizar a caracterização no ML automatizado para previsão. No código de exemplo, é apresentada a remoção de uma coluna e a adição de parâmetros de transformação.


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

O exemplo completo está disponível a partir de 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

Obtenha parâmetros de personalização do transformador para colunas.

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

Parâmetros

Name Description
transformer
Necessário
str

O nome do transformador. O nome do transformador tem de ser um dos CUSTOMIZABLE_TRANSFORMERS listados na SupportedTransformers classe.

cols
Necessário

Os nomes das colunas para onde obter informações. Utilize uma lista vazia para especificar todas as colunas.

Devoluções

Tipo Description

Definições de parâmetros do transformador.

remove_column_purpose

Remova o tipo de funcionalidade da coluna especificada.

Se não for especificada nenhuma funcionalidade para uma coluna, é utilizada a funcionalidade predefinida detetada.

remove_column_purpose(column_name: str) -> None

Parâmetros

Name Description
column_name
Necessário
str

O nome da coluna a atualizar.

remove_prediction_transform_type

Reverta o tipo de transformação de predição para predefinição para a coluna de destino.

remove_prediction_transform_type() -> None

remove_transformer_params

Remova os parâmetros de personalização do transformador para colunas específicas ou todas as colunas.

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

Parâmetros

Name Description
transformer
Necessário
str

O nome do transformador. O nome do transformador tem de ser um dos CUSTOMIZABLE_TRANSFORMERS listados na SupportedTransformers classe.

cols
list[str] ou None

Os nomes das colunas para remover os parâmetros de personalização. Especifique Nenhum (a predefinição) para remover todos os parâmetros de personalização do transformador especificado.

Default value: None

Atributos

blocked_transformers

column_purposes

dataset_language

drop_columns

prediction_transform_type

transformer_params