FeaturizationConfig Sınıf

Azure Machine Learning'de otomatik makine öğrenmesi denemeleri için özellik mühendisliği yapılandırmasını tanımlar.

sınıfının parametresinde featurization FeaturizationConfig sınıfını AutoMLConfig kullanın. Daha fazla bilgi için bkz . Otomatik ML denemelerini yapılandırma.

Bir FeaturizationConfig oluşturun.

Devralma
builtins.object
FeaturizationConfig

Oluşturucu

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)

Parametreler

blocked_transformers
list(str)
varsayılan değer: None

Özellik geliştirme sırasında engellenecek transformatör adlarının listesi.

column_purposes
dict
varsayılan değer: None

Sütun amacını güncelleştirmek için kullanılan sütun adlarının ve özellik türlerinin sözlüğü.

transformer_params
dict
varsayılan değer: None

Transformatör sözlüğü ve ilgili özelleştirme parametreleri.

drop_columns
list(str)
varsayılan değer: None

Özellik geliştirme işleminde yoksayılacak sütunların listesi. Bu ayar kullanım dışı bırakılıyor. Veri kümelerini AutoML'ye sağlamadan önce lütfen veri kümelerinizin sütunlarını veri hazırlama sürecinizin bir parçası olarak bırakın.

prediction_transform_type
str
varsayılan değer: None

Hedef sütun türünü dönüştürmek için kullanılacak hedef dönüştürme türünün str değeri.

blocked_transformers
list(str)
Gerekli

Özellik geliştirme sırasında engellenecek transformatör adlarının listesi.

column_purposes
dict
Gerekli

Sütun amacını güncelleştirmek için kullanılan sütun adlarının ve özellik türlerinin sözlüğü.

transformer_params
dict
Gerekli

Transformatör sözlüğü ve ilgili özelleştirme parametreleri.

drop_columns
list(str)
Gerekli

Özellik geliştirme işleminde yoksayılacak sütunların listesi. Bu ayar kullanım dışı bırakılıyor. Veri kümelerini AutoML'ye sağlamadan önce lütfen veri kümelerinizin sütunlarını veri hazırlama sürecinizin bir parçası olarak bırakın.

dataset_language
str
varsayılan değer: None

Veri kümesinde yer alan diller için üç karakterli ISO 639-3 kodu. İngilizce dışındaki diller yalnızca GPU özellikli işlem kullanıyorsanız desteklenir. Veri kümesi birden çok dil içeriyorsa 'mul' langugage_code kullanılmalıdır. Farklı diller için ISO 639-3 kodlarını bulmak için lütfen adresine https://en.wikipedia.org/wiki/List_of_ISO_639-3_codesbakın.

prediction_transform_type
str
Gerekli

Hedef sütun türünü dönüştürmek için kullanılacak hedef dönüştürme türünün str değeri.

Açıklamalar

Özellik geliştirme özelleştirmesinde şunları yapmanızı sağlayan yöntemler vardır:

  • Sütun amacı ekleme veya kaldırma. add_column_purpose ve remove_column_purpose yöntemleriyle belirtilen sütunlar için özellik türünü geçersiz kılabilirsiniz; örneğin, sütunun özellik türü amacını doğru yansıtmadığında. add yöntemi, sınıfın FULL_SET özniteliğinde verilen tüm özellik türlerini eklemeyi FeatureType destekler.

  • Transformatör parametrelerini ekleyin veya kaldırın. add_transformer_params ve remove_transformer_params yöntemleriyle Imputer, HashOneHotEncoder ve TfIdf gibi özelleştirilebilir transformatörlerin parametrelerini değiştirebilirsiniz. Özelleştirilebilir transformatörler sınıf CUSTOMIZABLE_TRANSFORMERS özniteliğinde SupportedTransformers listelenir. Özelleştirme parametrelerinde arama yapmak için öğesini get_transformer_params kullanın.

  • Blok transformatörleri. Yöntemiyle add_blocked_transformers özellik kazandırma işlemi için kullanılacak blok transformatörleri. Transformatörler sınıf BLOCKED_TRANSFORMERS özniteliğinde SupportedTransformers listelenen transformatörlerden biri olmalıdır.

  • yöntemiyle add_drop_columns özellik geliştirme ve eğitim için yoksaymak üzere bir bırakma sütunu ekleyin. Örneğin, yararlı bilgiler içermeyen bir sütunu bırakabilirsiniz.

  • Tahmin dönüştürme türünü ekleyin veya kaldırın. ve ile add_prediction_transform_type

remove_prediction_transform_type mevcut hedef sütun türünü geçersiz kılabilirsiniz. Tahmin dönüştürme türleri özniteliğinde PredictionTransformTypes listelenir.

Aşağıdaki kod örneğinde, tahmin için otomatik ML'de özellik geliştirmenin nasıl özelleştirileceği gösterilmektedir. Örnek kodda, bir sütunu bırakma ve dönüştürme parametreleri ekleme gösterilir.


   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"})

Tam örnek şu kaynaktan edinilebilir: 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

Sonraki örnekte, Donanım Performansı Veri Kümesi'ni kullanarak bir regresyon sorunundaki özellik geliştirmeyi özelleştirme işlemi gösterilmektedir. Örnek kodda engellenen transformatör tanımlanır, sütun amaçları eklenir ve transformatör parametreleri eklenir.


   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})

Tam örnek şu kaynaktan edinilebilir: https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/regression-explanation-featurization/auto-ml-regression-explanation-featurization.ipynb

Yukarıdaki kod örneğinde tanımlanan FeaturizationConfig, sonraki kod örneğinde gösterildiği gibi otomatik ml denemesinin yapılandırmasında kullanılabilir.


   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,
   )

Tam örnek şu kaynaktan edinilebilir: https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/regression-explanation-featurization/auto-ml-regression-explanation-featurization.ipynb

Yöntemler

add_blocked_transformers

Engellenecek transformatörleri ekleyin.

add_column_purpose

Belirtilen sütun için bir özellik türü ekleyin.

add_drop_columns

Yoksaymak için sütun adı veya sütun adları listesi ekleyin.

add_prediction_transform_type

Hedef sütun için tahmin dönüştürme türü ekleyin.

PredictionTransformTypes Sınıfı. :type prediction_transform_type: str

add_transformer_params

Özel transformatör parametreleri listesine özelleştirilmiş transformatör parametreleri ekleyin.

Sütun listesi boşsa tüm sütunlara uygula.

get_transformer_params

Sütunlar için transformatör özelleştirme parametrelerini alın.

remove_column_purpose

Belirtilen sütun için özellik türünü kaldırın.

Bir sütun için hiçbir özellik belirtilmezse, algılanan varsayılan özellik kullanılır.

remove_prediction_transform_type

Tahmin dönüştürme türünü hedef sütun için varsayılan değere geri döndürün.

remove_transformer_params

Belirli bir sütun veya tüm sütunlar için transformatör özelleştirme parametrelerini kaldırın.

add_blocked_transformers

Engellenecek transformatörleri ekleyin.

add_blocked_transformers(transformers: str | List[str]) -> None

Parametreler

transformers
str veya list[str]
Gerekli

Transformatör adı veya transformatör adlarının listesi. Transformatör adları, sınıfın BLOCKED_TRANSFORMERS özniteliğinde SupportedTransformers listelenen transformatörlerden biri olmalıdır.

add_column_purpose

Belirtilen sütun için bir özellik türü ekleyin.

add_column_purpose(column_name: str, feature_type: str) -> None

Parametreler

column_name
str
Gerekli

Güncelleştirilecek sütun adı.

feature_type
FeatureType
Gerekli

Sütun için kullanılacak özellik türü. Özellik türleri sınıfının FULL_SET özniteliğinde FeatureType verilmelidir.

add_drop_columns

Yoksaymak için sütun adı veya sütun adları listesi ekleyin.

add_drop_columns(drop_columns: str | List[str]) -> None

Parametreler

drop_columns
str veya list[str]
Gerekli

Sütun adı veya sütun adları listesi.

add_prediction_transform_type

Hedef sütun için tahmin dönüştürme türü ekleyin.

PredictionTransformTypes Sınıfı. :type prediction_transform_type: str

add_prediction_transform_type(prediction_transform_type: str) -> None

Parametreler

prediction_transform_type
Gerekli

Hedef sütunun ataması için kullanılacak tahmin dönüştürme türü. Özellik türleri, FULL_SET özniteliğinde verilenlerden biri olmalıdır

add_transformer_params

Özel transformatör parametreleri listesine özelleştirilmiş transformatör parametreleri ekleyin.

Sütun listesi boşsa tüm sütunlara uygula.

add_transformer_params(transformer: str, cols: List[str], params: Dict[str, Any]) -> None

Parametreler

transformer
str
Gerekli

Transformatör adı. Transformatör adı sınıfta listelenen SupportedTransformers CUSTOMIZABLE_TRANSFORMERS biri olmalıdır.

cols
list(str)
Gerekli

Belirtilen transformatör için giriş sütunları. Bazı transformatörler, liste olarak belirtilen giriş olarak birden çok sütun alabilir.

params
dict
Gerekli

Anahtar sözcüklerin ve bağımsız değişkenlerin sözlüğü.

Açıklamalar

Aşağıdaki kod örneğinde, tahmin için otomatik ML'de özellik geliştirmenin nasıl özelleştirileceği gösterilmektedir. Örnek kodda, bir sütunu bırakma ve dönüştürme parametreleri ekleme gösterilir.


   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"})

Tam örnek şu kaynaktan edinilebilir: 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

Sütunlar için transformatör özelleştirme parametrelerini alın.

get_transformer_params(transformer: str, cols: List[str]) -> Dict[str, Any]

Parametreler

transformer
str
Gerekli

Transformatör adı. Transformatör adı sınıfta listelenen SupportedTransformers CUSTOMIZABLE_TRANSFORMERS biri olmalıdır.

cols
list[str]
Gerekli

Bilgi almak için sütun adları. Tüm sütunları belirtmek için boş bir liste kullanın.

Döndürülenler

Transformer parametre ayarları.

Dönüş türü

remove_column_purpose

Belirtilen sütun için özellik türünü kaldırın.

Bir sütun için hiçbir özellik belirtilmezse, algılanan varsayılan özellik kullanılır.

remove_column_purpose(column_name: str) -> None

Parametreler

column_name
str
Gerekli

Güncelleştirilecek sütun adı.

remove_prediction_transform_type

Tahmin dönüştürme türünü hedef sütun için varsayılan değere geri döndürün.

remove_prediction_transform_type() -> None

remove_transformer_params

Belirli bir sütun veya tüm sütunlar için transformatör özelleştirme parametrelerini kaldırın.

remove_transformer_params(transformer: str, cols: List[str] | None = None) -> None

Parametreler

transformer
str
Gerekli

Transformatör adı. Transformatör adı sınıfta listelenen SupportedTransformers CUSTOMIZABLE_TRANSFORMERS biri olmalıdır.

cols
list[str] veya None
varsayılan değer: None

Özelleştirme parametrelerinin kaldırılacağı sütun adları. Belirtilen transformatör için tüm özelleştirme parametrelerini kaldırmak için Yok (varsayılan) belirtin.

Öznitelikler

blocked_transformers

column_purposes

dataset_language

drop_columns

prediction_transform_type

transformer_params