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

blocked_transformers
list(str)
valor predefinido: None

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

column_purposes
dict
valor predefinido: None

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

transformer_params
dict
valor predefinido: None

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

drop_columns
list(str)
valor predefinido: None

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.

prediction_transform_type
str
valor predefinido: None

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

blocked_transformers
list(str)
Necessário

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

column_purposes
dict
Necessário

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

transformer_params
dict
Necessário

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

drop_columns
list(str)
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
valor predefinido: None

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.

prediction_transform_type
str
Necessário

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

transformers
str ou list[str]
Necessário

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

column_name
str
Necessário

Um nome de coluna a atualizar.

feature_type
FeatureType
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

drop_columns
str ou list[str]
Necessário

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

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

transformer
str
Necessário

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

cols
list(str)
Necessário

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

params
dict
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

transformer
str
Necessário

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

cols
list[str]
Necessário

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

Devoluções

Definições de parâmetros do transformador.

Tipo de retorno

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

column_name
str
Necessário

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

transformer
str
Necessário

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

cols
list[str] ou None
valor predefinido: 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.

Atributos

blocked_transformers

column_purposes

dataset_language

drop_columns

prediction_transform_type

transformer_params