FeaturizationConfig Classe
Define a configuração da engenharia de recursos para experiências de machine learning automatizado no Azure Machine Learning.
Use a classe FeaturizationConfig no parâmetro featurization
da classe AutoMLConfig. Para obter mais informações, confira Configurar experimentos de ML automatizado.
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
Uma lista de nomes de transformador a serem bloqueados durante a definição de recursos.
- column_purposes
- dict
Um dicionário de nomes de coluna e tipos de recursos usados para atualizar a finalidade da coluna.
- transformer_params
- dict
Um dicionário de transformador e os parâmetros de personalização correspondentes.
Uma lista de colunas a serem ignoradas no processo de definição de recursos. Essa configuração está sendo preterida. Remova as colunas de seus conjuntos de dados como parte do seu processo de preparação de dados antes de fornecer os conjuntos de dados ao ML automatizado.
- prediction_transform_type
- str
Uma sequência de tipo de transformação de destino a ser usada para converter o tipo de coluna de destino.
Uma lista de nomes de transformador a serem bloqueados durante a definição de recursos.
- column_purposes
- dict
Um dicionário de nomes de coluna e tipos de recursos usados para atualizar a finalidade da coluna.
- transformer_params
- dict
Um dicionário de transformador e os parâmetros de personalização correspondentes.
Uma lista de colunas a serem ignoradas no processo de definição de recursos. Essa configuração está sendo preterida. Remova as colunas de seus conjuntos de dados como parte do seu processo de preparação de dados antes de fornecer os conjuntos de dados ao ML automatizado.
- dataset_language
- str
Código ISO 639-3 de três caracteres para os idiomas contidos no conjunto de dados. Há suporte para idiomas diferentes do inglês se você usar a computação habilitada para GPU. O langugage_code 'mul' deve ser usado se o conjunto de dados contiver vários idiomas. Para encontrar códigos ISO 639-3 para idiomas diferentes, consulte https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes.
- prediction_transform_type
- str
Uma sequência de tipo de transformação de destino a ser usada para converter o tipo de coluna de destino.
Comentários
A personalização da definição de recursos tem métodos que permitem:
Adicionar ou remover a finalidade da coluna. Com os métodos
add_column_purpose
eremove_column_purpose
, você pode substituir o tipo de recurso para colunas especificadas, por exemplo, quando o tipo de recurso de coluna não reflete corretamente a finalidade. O método add dá suporte à adição de todos os tipos de recursos determinados no atributo FULL_SET da classe FeatureType.Adicionar ou remover parâmetros de transformador. Com os métodos
add_transformer_params
eremove_transformer_params
, você pode alterar os parâmetros de transformadores personalizáveis, como Imputer, HashOneHotEncoder e TfIdf. Os transformadores personalizáveis são listados no atributo CUSTOMIZABLE_TRANSFORMERS da classe SupportedTransformers. Use oget_transformer_params
para pesquisar parâmetros de personalização.Bloquear os transformadores. Bloqueie os transformadores a serem usados para o processo de definição de recursos com o método
add_blocked_transformers
. Os transformadores precisam ser um dos transformadores listados no atributo BLOCKED_TRANSFORMERS da classe SupportedTransformers.Adicionar uma remoção de coluna a ser ignorada para definição de recursos e treinamento com o método
add_drop_columns
. Por exemplo, você pode remover uma coluna que não contém informações úteis.Adicionar ou remover tipo de transformação de previsão. Com os métodos
add_prediction_transform_type
e
remove_prediction_transform_type
, você pode substituir o tipo de coluna de destino existente.
Os tipos de transformação previsão são listados no atributo PredictionTransformTypes.
O exemplo de código a seguir mostra como personalizar a definição de recursos no ML automatizado para previsão. No código de exemplo, são mostrados 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 em 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 a seguir mostra como personalizar a definição de recursos em um problema de regressão usando o Conjunto de Dados de Desempenho de Hardware. No código de exemplo, um transformador bloqueado é definido, as finalidades da coluna são adicionadas e os parâmetros de transformador são adicionados.
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 em 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 usado na configuração de um experimento de ML automatizado, conforme mostrado no próximo exemplo de código.
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 em 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 |
Adiciona os transformadores a serem bloqueados. |
add_column_purpose |
Adiciona o tipo de recurso para a coluna especificada. |
add_drop_columns |
Adiciona o nome de coluna ou a lista de nomes de coluna a serem ignorados. |
add_prediction_transform_type |
Adicione um tipo de transformação de previsão para coluna de destino. classe PredictionTransformTypes. :type prediction_transform_type: str |
add_transformer_params |
Adiciona parâmetros de transformador personalizados à lista de parâmetros de transformador personalizados. Aplique a todas as colunas, se a lista de colunas estiver vazia. |
get_transformer_params |
Recupera os parâmetros de personalização de transformador para colunas. |
remove_column_purpose |
Remova o tipo de recurso para a coluna especificada. Se nenhum recurso for especificado para uma coluna, o recurso padrão detectado será usado. |
remove_prediction_transform_type |
Reverte o tipo de transformação de previsão para padrão para coluna de destino. |
remove_transformer_params |
Remove os parâmetros de personalização de transformador para colunas específicas ou para todas as colunas. |
add_blocked_transformers
Adiciona os transformadores a serem bloqueados.
add_blocked_transformers(transformers: str | List[str]) -> None
Parâmetros
Um nome de transformador ou uma lista de nomes de transformador. Os nomes de transformador precisam ser um dos transformadores listados no atributo BLOCKED_TRANSFORMERS da classe SupportedTransformers.
add_column_purpose
Adiciona o tipo de recurso para a coluna especificada.
add_column_purpose(column_name: str, feature_type: str) -> None
Parâmetros
- feature_type
- FeatureType
Um tipo de recurso a ser usado para a coluna. Os tipos de recurso precisam ser fornecidos no atributo FULL_SET da classe FeatureType.
add_drop_columns
Adiciona o nome de coluna ou a lista de nomes de coluna a serem ignorados.
add_drop_columns(drop_columns: str | List[str]) -> None
Parâmetros
add_prediction_transform_type
Adicione um tipo de transformação de previsão para coluna de destino.
classe PredictionTransformTypes. :type prediction_transform_type: str
add_prediction_transform_type(prediction_transform_type: str) -> None
Parâmetros
- prediction_transform_type
Tipo de transformação de previsão a ser usado para converter a coluna de destino. Os tipos de recurso precisam ser fornecidos no atributo FULL_SET da
add_transformer_params
Adiciona parâmetros de transformador personalizados à lista de parâmetros de transformador personalizados.
Aplique 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
O nome do transformador. O nome de transformador precisa ser um dos CUSTOMIZABLE_TRANSFORMERS listados na classe SupportedTransformers.
Colunas de entrada para o transformador especificado. Alguns transformadores podem usar como entrada várias colunas especificadas em uma lista.
Comentários
O exemplo de código a seguir mostra como personalizar a definição de recursos no ML automatizado para previsão. No código de exemplo, são mostrados 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 em 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
Recupera os parâmetros de personalização de transformador para colunas.
get_transformer_params(transformer: str, cols: List[str]) -> Dict[str, Any]
Parâmetros
- transformer
- str
O nome do transformador. O nome de transformador precisa ser um dos CUSTOMIZABLE_TRANSFORMERS listados na classe SupportedTransformers.
Os nomes de colunas para os quais as informações devem ser obtidas. Use uma lista vazia para especificar todas as colunas.
Retornos
Configurações de parâmetro de transformador.
Tipo de retorno
remove_column_purpose
Remova o tipo de recurso para a coluna especificada.
Se nenhum recurso for especificado para uma coluna, o recurso padrão detectado será usado.
remove_column_purpose(column_name: str) -> None
Parâmetros
remove_prediction_transform_type
Reverte o tipo de transformação de previsão para padrão para coluna de destino.
remove_prediction_transform_type() -> None
remove_transformer_params
Remove os parâmetros de personalização de transformador para colunas específicas ou para todas as colunas.
remove_transformer_params(transformer: str, cols: List[str] | None = None) -> None
Parâmetros
- transformer
- str
O nome do transformador. O nome de transformador precisa ser um dos CUSTOMIZABLE_TRANSFORMERS listados na classe SupportedTransformers.
Atributos
blocked_transformers
column_purposes
dataset_language
drop_columns
prediction_transform_type
transformer_params
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de