Udostępnij za pośrednictwem


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 featurizationAutoMLConfig klasy . Aby uzyskać więcej informacji, zobacz Konfigurowanie eksperymentów zautomatyzowanego uczenia maszynowego.

Utwórz element FeaturizationConfig.

Dziedziczenie
builtins.object
FeaturizationConfig

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
str

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
str

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
str

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 i remove_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 i remove_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
str lub list[str]

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
str

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
str lub list[str]

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
str

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
str

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
str

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
str

Nazwa transformatora. Nazwa transformatora musi być jedną z CUSTOMIZABLE_TRANSFORMERS wymienionych w SupportedTransformers klasie.

cols
list[str] lub None

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

Atrybuty

blocked_transformers

column_purposes

dataset_language

drop_columns

prediction_transform_type

transformer_params