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.objectFeaturizationConfig
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
|
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
|
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
|
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 eremove_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 eremove_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 osget_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
|
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
|
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
|
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
|
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
|
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
|
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
|
O nome do transformador. O nome do transformador tem de ser um dos CUSTOMIZABLE_TRANSFORMERS listados na SupportedTransformers classe. |
cols
|
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
|