Bagikan melalui


FeaturizationConfig Kelas

Menentukan konfigurasi rekayasa fitur untuk eksperimen pembelajaran mesin otomatis di Azure Machine Learning.

Gunakan kelas FeaturizationConfig pada featurization parameter AutoMLConfig kelas. Untuk informasi selengkapnya, lihat Mengonfigurasi eksperimen ML otomatis.

Buat FeaturizationConfig.

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

Parameter

blocked_transformers
list(str)
nilai default: None

Daftar nama pentransformasi yang akan diblokir selama fiturisasi.

column_purposes
dict
nilai default: None

Kamus nama kolom dan jenis fitur yang digunakan untuk memperbarui tujuan kolom.

transformer_params
dict
nilai default: None

Kamus pentransformasi dan parameter kustomisasi yang sesuai.

drop_columns
list(str)
nilai default: None

Daftar kolom yang harus diabaikan dalam proses fiturisasi. Pengaturan ini tidak digunakan lagi. Silakan hilangkan kolom dari himpunan data Anda sebagai bagian dari proses penyiapan data Anda sebelum memberikan himpunan data ke AutoML.

prediction_transform_type
str
nilai default: None

Sebuah str dari jenis transformasi target yang akan digunakan untuk mentransmisikan jenis kolom target.

blocked_transformers
list(str)
Diperlukan

Daftar nama pentransformasi yang akan diblokir selama fiturisasi.

column_purposes
dict
Diperlukan

Kamus nama kolom dan jenis fitur yang digunakan untuk memperbarui tujuan kolom.

transformer_params
dict
Diperlukan

Kamus pentransformasi dan parameter kustomisasi yang sesuai.

drop_columns
list(str)
Diperlukan

Daftar kolom yang harus diabaikan dalam proses fiturisasi. Pengaturan ini tidak digunakan lagi. Silakan hilangkan kolom dari himpunan data Anda sebagai bagian dari proses penyiapan data Anda sebelum memberikan himpunan data ke AutoML.

dataset_language
str
nilai default: None

Tiga karakter kode ISO 639-3 untuk bahasa yang terkandung dalam himpunan data. Bahasa selain bahasa Inggris hanya didukung jika Anda menggunakan komputasi berkemampuan GPU. langugage_code 'mul' harus digunakan jika himpunan data berisi beberapa bahasa. Untuk menemukan kode ISO 639-3 untuk bahasa yang berbeda, silakan lihat https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes.

prediction_transform_type
str
Diperlukan

Sebuah str dari jenis transformasi target yang akan digunakan untuk mentransmisikan jenis kolom target.

Keterangan

Kustomisasi fiturisasi memiliki metode yang memungkinkan Anda untuk:

  • Menambahkan atau menghapus tujuan kolom. Dengan metode add_column_purpose dan remove_column_purpose Anda dapat mengambil alih jenis fitur untuk kolom yang ditentukan, misalnya, ketika jenis fitur kolom tidak mencerminkan tujuannya dengan benar. Metode tambahkan mendukung penambahan semua jenis fitur yang diberikan dalam atribut FULL_SET dari kelas FeatureType.

  • Menambahkan atau menghapus parameter pentransformasi. Dengan metode add_transformer_params dan remove_transformer_params Anda dapat mengubah parameter pentransformasi yang dapat disesuaikan seperti Imputer, HashOneHotEncoder, dan TfIdf. Pentransformasi yang dapat disesuaikan tercantum dalam atribut CUSTOMIZABLE_TRANSFORMERS kelas SupportedTransformers. Menggunakan get_transformer_params untuk mencari parameter kustomisasi.

  • Memblokir pentransformasi. Memblokir pentransformasi yang akan digunakan untuk proses fiturisasi dengan metode add_blocked_transformers. Pentransformasi harus merupakan salah satu pentransformasi yang tercantum dalam atribut BLOCKED_TRANSFORMERS kelas SupportedTransformers.

  • Menambahkan kolom hilangkan yang akan diabaikan untuk fiturisasi dan pelatihan dengan metode add_drop_columns. Misalnya, Anda dapat menghilangkan kolom yang tidak berisi informasi yang berguna.

  • Tambahkan atau hapus jenis transformasi prediksi. Dengan add_prediction_transform_type dan

metode remove_prediction_transform_type Anda dapat mengambil alih jenis kolom target yang ada. Jenis transformasi prediksi tercantum dalam atribut PredictionTransformTypes.

Contoh kode berikut menunjukkan cara mengkustomisasi fiturisasi dalam Pembelajaran Mesin otomatis untuk prakiraan. Dalam kode contoh, menghilangkan kolom dan menambahkan parameter transformasi ditampilkan.


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

Sampel lengkap tersedia dari 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

Contoh berikutnya menunjukkan fiturisasi kustomisasi dalam masalah regresi menggunakan Himpunan Data Performa Perangkat Keras. Dalam kode contoh, pentransformasi yang diblokir ditentukan, tujuan kolom ditambahkan, dan parameter pentransformasi ditambahkan.


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

Sampel lengkap tersedia dari https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/regression-explanation-featurization/auto-ml-regression-explanation-featurization.ipynb

FeaturizationConfig yang didefinisikan dalam contoh kode di atas kemudian dapat digunakan dalam konfigurasi eksperimen ML otomatis seperti yang ditunjukkan dalam contoh kode berikutnya.


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

Sampel lengkap tersedia dari https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/regression-explanation-featurization/auto-ml-regression-explanation-featurization.ipynb

Metode

add_blocked_transformers

Tambahkan pentransformasi untuk diblokir.

add_column_purpose

Tambahkan jenis fitur untuk kolom yang ditentukan.

add_drop_columns

Tambahkan nama kolom atau daftar nama kolom untuk diabaikan.

add_prediction_transform_type

Tambahkan jenis transformasi prediksi untuk kolom target.

kelas PredictionTransformTypes. :type prediction_transform_type: str

add_transformer_params

Tambahkan parameter pentransformasi yang dikustomisasi ke daftar parameter pentransformasi kustom.

Terapkan ke semua kolom jika daftar kolom kosong.

get_transformer_params

Ambil parameter kustomisasi pentransformasi untuk kolom.

remove_column_purpose

Hapus jenis fitur untuk kolom yang ditentukan.

Jika tidak ada fitur yang ditentukan untuk kolom, fitur default yang terdeteksi digunakan.

remove_prediction_transform_type

Kembalikan jenis transformasi prediksi ke default untuk kolom target.

remove_transformer_params

Hapus parameter kustomisasi pentransformasi untuk kolom tertentu atau semua kolom.

add_blocked_transformers

Tambahkan pentransformasi untuk diblokir.

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

Parameter

transformers
str atau list[str]
Diperlukan

Nama transformator atau daftar nama transformator. Nama pentransformasi harus merupakan salah satu pentransformasi yang tercantum dalam atribut BLOCKED_TRANSFORMERS dari kelas SupportedTransformers.

add_column_purpose

Tambahkan jenis fitur untuk kolom yang ditentukan.

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

Parameter

column_name
str
Diperlukan

Nama kolom untuk diperbarui.

feature_type
FeatureType
Diperlukan

Jenis fitur yang akan digunakan untuk kolom. Jenis fitur harus merupakan yang ditentukan dalam atribut FULL_SET dari kelas FeatureType.

add_drop_columns

Tambahkan nama kolom atau daftar nama kolom untuk diabaikan.

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

Parameter

drop_columns
str atau list[str]
Diperlukan

Nama kolom atau daftar nama kolom.

add_prediction_transform_type

Tambahkan jenis transformasi prediksi untuk kolom target.

kelas PredictionTransformTypes. :type prediction_transform_type: str

add_prediction_transform_type(prediction_transform_type: str) -> None

Parameter

prediction_transform_type
Diperlukan

Jenis transformasi prediksi yang akan digunakan untuk mentransmisikan kolom target. Jenis fitur harus ditentukan dalam atribut FULL_SET dari

add_transformer_params

Tambahkan parameter pentransformasi yang dikustomisasi ke daftar parameter pentransformasi kustom.

Terapkan ke semua kolom jika daftar kolom kosong.

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

Parameter

transformer
str
Diperlukan

Nama transformator. Nama pentransformasi harus merupakan salah satu CUSTOMIZABLE_TRANSFORMERS yang tercantum dalam kelas SupportedTransformers.

cols
list(str)
Diperlukan

Kolom input untuk pentransformasi tertentu. Beberapa pentransformasi dapat mengambil beberapa kolom sebagai input yang ditentukan sebagai daftar.

params
dict
Diperlukan

Kamus kata kunci dan argumen.

Keterangan

Contoh kode berikut menunjukkan cara mengkustomisasi fiturisasi dalam ML otomatis untuk prakiraan. Dalam kode contoh, menghilangkan kolom dan menambahkan parameter transformasi ditampilkan.


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

Sampel lengkap tersedia dari 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

Ambil parameter kustomisasi pentransformasi untuk kolom.

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

Parameter

transformer
str
Diperlukan

Nama pentransformasi. Nama pentransformasi harus merupakan salah satu CUSTOMIZABLE_TRANSFORMERS yang tercantum dalam kelas SupportedTransformers.

cols
list[str]
Diperlukan

Nama kolom untuk mendapatkan informasi. Gunakan daftar kosong untuk menentukan semua kolom.

Mengembalikan

Pengaturan parameter pentransformasi.

Tipe hasil

remove_column_purpose

Hapus jenis fitur untuk kolom yang ditentukan.

Jika tidak ada fitur yang ditentukan untuk kolom, fitur default yang terdeteksi digunakan.

remove_column_purpose(column_name: str) -> None

Parameter

column_name
str
Diperlukan

Nama kolom untuk diperbarui.

remove_prediction_transform_type

Kembalikan jenis transformasi prediksi ke default untuk kolom target.

remove_prediction_transform_type() -> None

remove_transformer_params

Hapus parameter kustomisasi pentransformasi untuk kolom tertentu atau semua kolom.

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

Parameter

transformer
str
Diperlukan

Nama transformator. Nama pentransformasi harus merupakan salah satu CUSTOMIZABLE_TRANSFORMERS yang tercantum dalam kelas SupportedTransformers.

cols
list[str] atau None
nilai default: None

Nama kolom tempat parameter kustomisasi dihapus. Tentukan None (default) untuk menghapus semua parameter kustomisasi untuk pentransformasi yang ditentukan.

Atribut

blocked_transformers

column_purposes

dataset_language

drop_columns

prediction_transform_type

transformer_params