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
Uma lista de nomes de transformador a serem bloqueados durante a caracterização.
- column_purposes
- dict
Um dicionário de nomes de colunas e tipos de funcionalidades utilizados para atualizar a finalidade da coluna.
- transformer_params
- dict
Um dicionário do transformador e dos parâmetros de personalização correspondentes.
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
Um limite do tipo de transformação de destino a ser utilizado para lançar o tipo de coluna de destino.
Uma lista de nomes de transformador a serem bloqueados durante a caracterização.
- column_purposes
- dict
Um dicionário de nomes de colunas e tipos de funcionalidades utilizados para atualizar a finalidade da coluna.
- transformer_params
- dict
Um dicionário do transformador e dos parâmetros de personalização correspondentes.
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.
- 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.
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
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
- feature_type
- FeatureType
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
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
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
O nome do transformador. O nome do transformador tem de ser um dos CUSTOMIZABLE_TRANSFORMERS listados na SupportedTransformers classe.
Colunas de entrada para o transformador especificado. Alguns transformadores podem utilizar várias colunas como entrada especificada como uma lista.
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
O nome do transformador. O nome do transformador tem de ser um dos CUSTOMIZABLE_TRANSFORMERS listados na SupportedTransformers classe.
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
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
O nome do transformador. O nome do transformador tem de ser um dos CUSTOMIZABLE_TRANSFORMERS listados na SupportedTransformers classe.
Atributos
blocked_transformers
column_purposes
dataset_language
drop_columns
prediction_transform_type
transformer_params
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários