FeaturizationConfig Klasa
Definiuje konfigurację inżynierii cech dla eksperymentów zautomatyzowanego uczenia maszynowego w usłudze Azure Machine Learning.
Użyj klasy FeaturizationConfig w parametrze featurization
AutoMLConfig klasy . Aby uzyskać więcej informacji, zobacz Konfigurowanie eksperymentów zautomatyzowanego uczenia maszynowego.
Utwórz element FeaturizationConfig.
- Dziedziczenie
-
builtins.objectFeaturizationConfig
Konstruktor
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)
Parametry
Nazwa | Opis |
---|---|
blocked_transformers
|
Lista nazw transformatorów, które mają być blokowane podczas cechowania. Domyślna wartość: None
|
column_purposes
|
Słownik nazw kolumn i typów funkcji używanych do aktualizowania przeznaczenia kolumn. Domyślna wartość: None
|
transformer_params
|
Słownik transformatora i odpowiadających mu parametrów dostosowywania. Domyślna wartość: None
|
drop_columns
|
Lista kolumn, które mają być ignorowane w procesie cechowania. To ustawienie jest przestarzałe. Przed dostarczeniem zestawów danych do rozwiązania AutoML upuść kolumny z zestawów danych w ramach procesu przygotowywania danych. Domyślna wartość: None
|
prediction_transform_type
|
Typ przekształcenia docelowego, który ma być używany do rzutowania typu kolumny docelowej. Domyślna wartość: None
|
blocked_transformers
Wymagane
|
Lista nazw transformatorów, które mają być blokowane podczas cechowania. |
column_purposes
Wymagane
|
Słownik nazw kolumn i typów funkcji używanych do aktualizowania przeznaczenia kolumn. |
transformer_params
Wymagane
|
Słownik transformatora i odpowiadających mu parametrów dostosowywania. |
drop_columns
Wymagane
|
Lista kolumn, które mają być ignorowane w procesie cechowania. To ustawienie jest przestarzałe. Przed dostarczeniem zestawów danych do rozwiązania AutoML upuść kolumny z zestawów danych w ramach procesu przygotowywania danych. |
dataset_language
|
Trzy znaki kodu ISO 639-3 dla języków zawartych w zestawie danych. Języki inne niż angielski są obsługiwane tylko w przypadku korzystania z obliczeń z obsługą procesora GPU. Jeśli zestaw danych zawiera wiele języków, należy użyć langugage_code "mul". Aby znaleźć kody ISO 639-3 dla różnych języków, zapoznaj się z tematem https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes. Domyślna wartość: None
|
prediction_transform_type
Wymagane
|
Typ przekształcenia docelowego, który ma być używany do rzutowania typu kolumny docelowej. |
Uwagi
Dostosowywanie cech ma metody, które umożliwiają:
Dodawanie lub usuwanie przeznaczenia kolumny.
add_column_purpose
Za pomocą metod iremove_column_purpose
można zastąpić typ funkcji dla określonych kolumn, na przykład wtedy, gdy typ funkcji kolumny nie odzwierciedla prawidłowo jego przeznaczenia. Metoda add obsługuje dodawanie wszystkich typów funkcji podanych w FULL_SET atrybutu FeatureType klasy .Dodawanie lub usuwanie parametrów transformatora.
add_transformer_params
Za pomocą metod iremove_transformer_params
można zmienić parametry transformatorów, takich jak Imputer, HashOneHotEncoder i TfIdf. Transformatory dostosowywalne są wymienione w atrybucie SupportedTransformers CUSTOMIZABLE_TRANSFORMERS klasy. Użyj polecenia ,get_transformer_params
aby wyszukać parametry dostosowywania.Transformatory blokowe. Transformatory blokowe, które mają być używane do procesu cechowania za pomocą
add_blocked_transformers
metody . Transformatory muszą być jednym z transformatorów wymienionych w SupportedTransformers klasie BLOCKED_TRANSFORMERS atrybutu.Dodaj kolumnę drop, która ma być ignorowana na potrzeby cechowania i trenowania za pomocą
add_drop_columns
metody . Możesz na przykład usunąć kolumnę, która nie zawiera przydatnych informacji.Dodawanie lub usuwanie typu przekształcenia przewidywania. Z i
add_prediction_transform_type
remove_prediction_transform_type
metody, które można zastąpić istniejący typ kolumny docelowej.
Typy przekształceń przewidywania są wymienione w atrybucie PredictionTransformTypes .
W poniższym przykładzie kodu pokazano, jak dostosować cechowanie w zautomatyzowanym uczeniu maszynowym na potrzeby prognozowania. W przykładowym kodzie są wyświetlane porzucanie kolumny i dodawanie parametrów transformacji.
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"})
Pełna próbka jest dostępna w witrynie 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
W następnym przykładzie pokazano dostosowywanie cech w problemie regresji przy użyciu zestawu danych wydajności sprzętu. W przykładowym kodzie zdefiniowany jest zablokowany transformator, dodawane są cele kolumn i dodawane są parametry przekształcania.
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})
Pełna próbka jest dostępna w witrynie https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/regression-explanation-featurization/auto-ml-regression-explanation-featurization.ipynb
Element FeaturizationConfig zdefiniowany w powyższym przykładzie kodu może być używany w konfiguracji eksperymentu zautomatyzowanego uczenia maszynowego, jak pokazano w następnym przykładzie kodu.
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,
)
Pełna próbka jest dostępna w witrynie https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/regression-explanation-featurization/auto-ml-regression-explanation-featurization.ipynb
Metody
add_blocked_transformers |
Dodaj transformatory do zablokowania. |
add_column_purpose |
Dodaj typ funkcji dla określonej kolumny. |
add_drop_columns |
Dodaj nazwę kolumny lub listę nazw kolumn do zignorowania. |
add_prediction_transform_type |
Dodaj typ przekształcenia przewidywania dla kolumny docelowej. PredictionTransformTypes Klasa. :type prediction_transform_type: str |
add_transformer_params |
Dodaj niestandardowe parametry transformatora do listy niestandardowych parametrów transformatora. Zastosuj do wszystkich kolumn, jeśli lista kolumn jest pusta. |
get_transformer_params |
Pobieranie parametrów dostosowywania transformatora dla kolumn. |
remove_column_purpose |
Usuń typ funkcji dla określonej kolumny. Jeśli żadna funkcja nie zostanie określona dla kolumny, zostanie użyta wykryta funkcja domyślna. |
remove_prediction_transform_type |
Przywróć domyślny typ przekształcenia przewidywania dla kolumny docelowej. |
remove_transformer_params |
Usuń parametry dostosowywania transformatora dla określonej kolumny lub wszystkich kolumn. |
add_blocked_transformers
Dodaj transformatory do zablokowania.
add_blocked_transformers(transformers: str | List[str]) -> None
Parametry
Nazwa | Opis |
---|---|
transformers
Wymagane
|
Nazwa transformatora lub lista nazw transformatorów. Nazwy transformatorów muszą być jednym z transformatorów wymienionych w BLOCKED_TRANSFORMERS atrybutu SupportedTransformers klasy. |
add_column_purpose
Dodaj typ funkcji dla określonej kolumny.
add_column_purpose(column_name: str, feature_type: str) -> None
Parametry
Nazwa | Opis |
---|---|
column_name
Wymagane
|
Nazwa kolumny do zaktualizowania. |
feature_type
Wymagane
|
Typ funkcji, który ma być używany dla kolumny. Typy funkcji muszą być podane w FULL_SET atrybutu FeatureType klasy. |
add_drop_columns
Dodaj nazwę kolumny lub listę nazw kolumn do zignorowania.
add_drop_columns(drop_columns: str | List[str]) -> None
Parametry
Nazwa | Opis |
---|---|
drop_columns
Wymagane
|
Nazwa kolumny lub lista nazw kolumn. |
add_prediction_transform_type
Dodaj typ przekształcenia przewidywania dla kolumny docelowej.
PredictionTransformTypes Klasa. :type prediction_transform_type: str
add_prediction_transform_type(prediction_transform_type: str) -> None
Parametry
Nazwa | Opis |
---|---|
prediction_transform_type
Wymagane
|
Typ przekształcenia przewidywania, który ma być używany do rzutowania kolumny docelowej. Typy funkcji muszą być podane w FULL_SET atrybutu |
add_transformer_params
Dodaj niestandardowe parametry transformatora do listy niestandardowych parametrów transformatora.
Zastosuj do wszystkich kolumn, jeśli lista kolumn jest pusta.
add_transformer_params(transformer: str, cols: List[str], params: Dict[str, Any]) -> None
Parametry
Nazwa | Opis |
---|---|
transformer
Wymagane
|
Nazwa transformatora. Nazwa transformatora musi być jedną z CUSTOMIZABLE_TRANSFORMERS wymienionych w SupportedTransformers klasie. |
cols
Wymagane
|
Kolumny wejściowe dla określonego transformatora. Niektóre transformatory mogą przyjmować wiele kolumn jako dane wejściowe określone jako lista. |
params
Wymagane
|
Słownik słów kluczowych i argumentów. |
Uwagi
W poniższym przykładzie kodu pokazano, jak dostosować cechowanie w zautomatyzowanym uczeniu maszynowym na potrzeby prognozowania. W przykładowym kodzie są wyświetlane porzucanie kolumny i dodawanie parametrów transformacji.
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"})
Pełna próbka jest dostępna w witrynie 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
Pobieranie parametrów dostosowywania transformatora dla kolumn.
get_transformer_params(transformer: str, cols: List[str]) -> Dict[str, Any]
Parametry
Nazwa | Opis |
---|---|
transformer
Wymagane
|
Nazwa transformatora. Nazwa transformatora musi być jedną z CUSTOMIZABLE_TRANSFORMERS wymienionych w SupportedTransformers klasie. |
cols
Wymagane
|
Nazwy kolumn, dla których mają być uzyskiwane informacje. Użyj pustej listy, aby określić wszystkie kolumny. |
Zwraca
Typ | Opis |
---|---|
Ustawienia parametrów transformatora. |
remove_column_purpose
Usuń typ funkcji dla określonej kolumny.
Jeśli żadna funkcja nie zostanie określona dla kolumny, zostanie użyta wykryta funkcja domyślna.
remove_column_purpose(column_name: str) -> None
Parametry
Nazwa | Opis |
---|---|
column_name
Wymagane
|
Nazwa kolumny do zaktualizowania. |
remove_prediction_transform_type
Przywróć domyślny typ przekształcenia przewidywania dla kolumny docelowej.
remove_prediction_transform_type() -> None
remove_transformer_params
Usuń parametry dostosowywania transformatora dla określonej kolumny lub wszystkich kolumn.
remove_transformer_params(transformer: str, cols: List[str] | None = None) -> None
Parametry
Nazwa | Opis |
---|---|
transformer
Wymagane
|
Nazwa transformatora. Nazwa transformatora musi być jedną z CUSTOMIZABLE_TRANSFORMERS wymienionych w SupportedTransformers klasie. |
cols
|
Nazwy kolumn, z których mają zostać usunięte parametry dostosowywania. Określ wartość Brak (wartość domyślna), aby usunąć wszystkie parametry dostosowywania dla określonego transformatora. Domyślna wartość: None
|