Rekayasa fitur memproses data mentah ke dalam format yang dapat dibaca mesin. Ini mengoptimalkan kinerja model ML dengan mengubah dan memilih fitur yang relevan.
Rekayasa fitur adalah proses mengubah data mentah menjadi informasi yang relevan untuk digunakan oleh model machine learning. Dengan kata lain, rekayasa fitur adalah proses pembuatan fitur model prediktif. Fitur, juga disebut dimensi, adalah variabel input yang digunakan untuk menghasilkan prediksi model. Karena kinerja model sebagian besar bergantung pada kualitas data yang digunakan selama pelatihan, rekayasa fitur adalah teknik prapemrosesan yang penting yang membutuhkan pemilihan aspek paling relevan dari data pelatihan mentah untuk tugas prediktif dan jenis model yang sedang Anda himpun.1
Sebelum melanjutkan, catatan singkat terkait terminologi. Banyak sumber yang menggunakanrekayasa fitur dan ekstraksi fitur secara bergantian untuk menunjukkan proses pembuatan variabel model.2 Terkadang, sumber juga menggunakan ekstraksi fitur untuk merujuk kepada pemetaan ulang ruang fitur asli ke ruang fitur dimensi yang lebih rendah.3 Seleksi fitur, sebaliknya, adalah bentuk pengurangan dimensi. Secara khusus, ini adalah pemrosesan pemilihan subset variabel untuk membuat model baru dengan tujuan mengurangi multikolinieritas, dan dengan demikian memaksimalkan generalisasi dan pengoptimalan model.
Mengingat model hanya sebaik data yang mendasarinya, para ilmuwan data menghabiskan banyak waktu untuk penyiapan data dan pembuatan fitur untuk membuat model berkualitas tinggi. Tergantung pada kompleksitas data mentah dan model prediktif yang diinginkan, rekayasa fitur dapat memerlukan banyak uji coba.
Sejumlah sumber dan tutorial online memecah rekayasa fitur menjadi beberapa langkah terpisah, yang jumlah dan namanya biasanya bervariasi. Langkah-langkah ini dapat mencakup pemahaman fitur, penataan atau konstruksi, transformasi, evaluasi, pengoptimalan dan seterusnya.4 Meskipun stratifikasi semacam itu dapat berguna untuk memberikan gambaran umum mengenai tugas-tugas yang terlibat dalam rekayasa fitur, namun hal ini menunjukkan bahwa rekayasa fitur merupakan proses yang linier. Pada kenyataannya, rekayasa fitur adalah proses berulang.
Rekayasa fitur bergantung pada konteks. Solusi ini membutuhkan analisis data yang substansif dan pengetahuan domain. Hal ini karena pengkodean fitur yang efektif dapat ditentukan oleh jenis model yang digunakan, hubungan antara prediktor dan hasil, serta masalah yang ingin ditangani oleh model.5 Hal ini didukung oleh fakta bahwa jenis kumpulan data yang berbeda—misalnya teks versus gambar—mungkin lebih cocok untuk teknik rekayasa fitur yang berbeda.6 Oleh karena itu, mungkin sulit untuk membuat pernyataan spesifik tentang cara terbaik untuk mengimplementasikan rekayasa fitur dalam algoritme machine learning tertentu.
Meskipun tidak ada metode rekayasa fitur atau pipeline yang disukai secara universal, ada beberapa tugas umum yang digunakan untuk membuat fitur dari tipe data yang berbeda untuk model yang berbeda. Namun, sebelum menerapkan salah satu dari teknik-teknik ini, kita harus ingat untuk melakukan analisis data secara menyeluruh untuk menentukan fitur yang relevan dan jumlah fitur yang tepat untuk mengatasi masalah yang diberikan. Selain itu, yang terbaik adalah menerapkan berbagai teknik pembersihan data dan prapemrosesan, seperti imputasi untuk data yang hilang atau missing values, serta mengatasi outlier yang dapat berdampak negatif pada prediksi model.
Transformasi fitur adalah proses mengubah satu jenis fitur menjadi bentuk lain yang lebih mudah dibaca untuk model tertentu. Ini terdiri dari mengubah data berlanjut menjadi data kategoris, atau sebaliknya.
Binning. Teknik ini pada dasarnya mengubah nilai numerik berlanjut menjadi fitur kategoris. Secara khusus, binning membandingkan setiap nilai dengan lingkungan nilai di sekitarnya dan kemudian mengurutkan titik data ke dalam sejumlah bin. Contoh dasar dari binning adalah demografi usia, di mana usia berlanjut dibagi menjadi kelompok umur, misalnya,18-25, 25-30, dll. Setelah nilai ditempatkan ke dalam bin, seseorang dapat lebih menghaluskan bin dengan rata-rata, median, atau batas. Menghaluskan bin menggantikan nilai asli yang terkandung dalam bin dengan nilai yang dihasilkan bin. Misalnya, jika kita menghaluskan bin yang berisi nilai usia antara 18-25 dengan rata-rata, kita mengganti setiap nilai dalam bin tersebut dengan rata-rata nilai bin tersebut. Binning menciptakan nilai kategoris dari yang berlanjut. Penghalusan (smoothing) bin adalah bentuk penghalusan lokal yang dimaksudkan untuk mengurangi kebisingan dalam data input.7
One-hot encoding. Ini adalah kebalikan dari binning; ini menciptakan fitur numerik dari variabel kategoris. One-hot encoding memetakan fitur kategoris ke representasi biner, yang digunakan untuk memetakan fitur dalam matriks atau ruang vektor. Literatur sering menyebut representasi biner ini sebagai variabel dummy. Karena one-hot encoding mengabaikan urutan, maka pengkodean ini paling baik digunakan untuk kategori nominal. Model Bag of words merupakan contoh one-hot encoding yang kerap digunakan dalam tugas pemrosesan bahasa alami. Contoh lain dari one-hot encoding adalah klasifikasi penyaringan spam di mana categories spam dan bukan spam masing-masing dikonversi menjadi 1 dan 0.8
Ekstraksi fitur adalah teknik untuk membuat ruang dimensi baru untuk sebuah model dengan menggabungkan variabel-variabel menjadi variabel pengganti yang baru atau untuk mengurangi dimensi ruang fitur model.9 Sebagai perbandingan, seleksi fitur menunjukkan teknik untuk memilih subset dari fitur yang paling relevan untuk merepresentasikan sebuah model. Baik ekstraksi dan seleksi fitur merupakan bentuk pengurangan dimensi, dan sangat cocok untuk masalah regression dengan jumlah fitur yang besar dan sampel data yang tersedia terbatas.
Analisis komponen utama. Principal component analysis (PCA) adalah metode ekstraksi fitur umum yang menggabungkan dan mentransformasi fitur asli kumpulan data untuk menghasilkan fitur baru, yang disebut komponen utama. PCA memilih subset variabel dari sebuah model yang secara bersama-sama terdiri atas mayoritas atau seluruh varians yang ada dalam set variabel asli model tersebut. PCA kemudian memproyeksikan data ke ruang baru yang ditentukan oleh subset variabel ini.10
Analisis diskriminan linier. Analisis diskriminan linier (LDA) seolah-olah mirip dengan PCA karena memproyeksikan data model ke ruang dimensi baru yang lebih rendah. Seperti dalam PCA, dimensi (atau fitur) ruang model ini berasal dari fitur model awal. LDA berbeda dari PCA, bagaimanapun, dalam keprihatinannya untuk mempertahankan label klasifikasi dalam kumpulan data asli. Sementara PCA menghasilkan variabel komponen baru yang dimaksudkan untuk memaksimalkan varians data, LDA menghasilkan variabel komponen yang terutama dimaksudkan untuk memaksimalkan perbedaan kelas dalam data.11
Fitur tertentu memiliki batas atas dan bawah yang melekat pada data yang membatasi kemungkinan nilai fitur, seperti data deret waktu atau usia. Namun dalam banyak kasus, fitur model mungkin tidak memiliki batasan nilai yang mungkin, dan skala fitur yang besar (menjadi perbedaan antara nilai terendah dan tertinggi fitur) dapat berdampak negatif pada model tertentu. Penskalaan fitur (terkadang disebut normalisasi fitur) adalah teknik standardisasi untuk mengubah skala fitur dan membatasi dampak skala besar pada model.12 Sementara transformasi fitur mengubah data dari satu jenis ke jenis lainnya, penskalaan fitur mengubah data dalam hal jangkauan dan distribusi, dengan tetap mempertahankan jenis data aslinya.13
Penskalaan min-maks. Penskalaan min-maks mengubah skala semua nilai untuk fitur tertentu sehingga berada di antara nilai minimum dan maksimum yang ditentukan, biasanya 0 dan 1. Nilai setiap titik data untuk fitur yang dipilih (diwakili oleh x) dihitung berdasarkan nilai fitur minimum dan maksimum yang telah ditentukan, min(x) dan max(x), yang menghasilkan nilai fitur baru untuk titik data tersebut (diwakili oleh x̃ ). Penskalaan min-max dihitung dengan menggunakan rumus14
Penskalaan skor-Z. Literatur juga menyebutnya sebagai standarisasi dan penskalaan varians. Sementara penskalaan min-maks menskalakan nilai-nilai fitur agar sesuai dengan nilai-nilai minimum dan maksimum yang telah ditetapkan, penskalaan skor-z menskalakan ulang fitur-fitur sehingga fitur-fitur tersebut memiliki deviasi standar bersama sebesar 1 dengan rata-rata 0. Penskalaan skor-z direpresentasikan oleh rumus:
Di sini, nilai fitur yang diberikan (x) dihitung berdasarkan rata-rata fitur yang diskalakan dan dibagi dengan deviasi standar terstandardisasi (direpresentasikan sebagai sqrt(var(x))). Penskalaan skor-Z dapat berguna ketika mengimplementasikan metode ekstraksi fitur seperti PCA dan LDA, karena kedua metode ini membutuhkan fitur untuk berbagi skala yang sama.15
Otomatisasi. Rekayasa fitur otomatis, harus diakui, telah menjadi area penelitian yang sedang berlangsung selama beberapa dekade.16 Pustaka Python seperti “tsflex” dan “featuretools” membantu mengotomatiskan ekstraksi dan transformasi fitur untuk data deret waktu. Pengembang terus menyediakan paket dan algoritme baru untuk mengotomatiskan rekayasa fitur untuk model regresi linier dan jenis data lainnya yang meningkatkan akurasi model.17 Baru-baru ini, rekayasa fitur otomatis telah menjadi salah satu bagian dari upaya yang lebih besar untuk membangun sistem machine learning otomatis (AutoML), yang bertujuan untuk membuat machine learning lebih mudah diakses oleh non-pakar.18
Pembelajaran Mendalam. Rekayasa fitur dapat menjadi proses yang melelahkan dan memakan waktu, melibatkan sejumlah besar percobaan dan kegagalan. Pembelajaran mendalam memungkinkan pengguna untuk menentukan serangkaian kecil fitur dasar yang digabungkan oleh arsitektur neural networks menjadi fitur tingkat yang lebih tinggi, yang juga disebut representasi.19 Salah satu contohnya adalah pemrosesan gambar visi komputer dan pengenalan pola, di mana model belajar mengidentifikasi objek yang bermakna secara semantik (misalnya,mobil, orang, dll.) dalam hal konsep sederhana (misalnya,tepi, kontur, dll.) dengan menggabungkan peta fitur.20 Studi terbaru, bagaimanapun, telah menggabungkan rekayasa fitur dengan neural networks dan tugas klasifikasi teknik pembelajaran mendalam lainnya, seperti deteksi penipuan, dengan hasil yang menjanjikan.21
IBM Granite adalah rangkaian model AI kami yang terbuka, berkinerja, dan tepercaya, yang dirancang untuk bisnis dan dioptimalkan untuk menskalakan aplikasi AI Anda. Jelajahi opsi bahasa, kode, deret waktu, dan batasan.
Kami menyurvei 2.000 organisasi tentang inisiatif AI mereka untuk mengetahui apa yang berhasil, apa yang tidak, dan cara Anda untuk maju.
Jelajahi pendekatan pembelajaran yang diawasi seperti mesin vendor pendukung dan pengklasifikasi probabilistik.
Belajar konsep dasar dan bangun keterampilan Anda dengan laboratorium praktis, kursus, proyek terpandu, uji coba, dan lainnya.
Pelajari cara memilih model dasar AI yang paling sesuai untuk contoh penggunaan Anda.
Latih, validasi, lakukan tuning, dan terapkan AI generatif, model dasar, dan kemampuan machine learning dengan IBM watsonx.ai, studio perusahaan generasi berikutnya untuk pembangun AI. Bangun aplikasi AI dalam waktu singkat, dengan sedikit data.
Gunakan AI di bisnis Anda dalam perpaduan antara keahlian AI terdepan di industri dari IBM dan portofolio solusi Anda.
Temukan kembali alur kerja dan operasi yang penting dengan menambahkan AI untuk memaksimalkan pengalaman, pengambilan keputusan secara real-time, dan nilai bisnis.
1 Alice Zheng dan Amanda Casari, Feature Engineering for Machine Learning, O’Reilly, 2018. Sinan Ozdemir dan Divya Susarla, Feature Engineering Made Easy, Packt, 2018.
2 Yoav Goldberg, Neural Network Methods for Natural Language Processing, Springer, 2022.
3 Suhang Wang, Jiliang Tang, dan Huan Liu, “Feature Selection”, Encyclopedia of Machine Learning and Data Mining, Springer, 2017.
4 Sinan Ozdemir, Feature Engineering Bookcamp, Manning Publications, 2022. Sinan Ozdemir dan Divya Susarla, Feature Engineering Made Easy, Packt, 2018.
5 Max Kuhn and Kjell Johnson, Applied Predictive Modeling, Springer, 2016.
6 Alice Zheng dan Amanda Casari, Feature Engineering for Machine Learning, O'Reilly, 2018.
7 Jaiwei Han, Penambangan Data: Konsep dan Teknik, edisike-3, 2012.
8 Kevin Murphy, Machine Learning: A Probabilistic Perspective, MIT Press, 2012. Soledad Galli, Python Feature Engineering Cookbook, edisi ke-2, Packt, 2022.
9 Max Kuhn dan Kjell Johnson, Applied Predictive Modeling, Springer, 2016.
10 I.T. Jollife, Principal Component Analysis, Springer, 2002.
11 Chris Albon, Machine Learning with Python Cookbook, O’Reilly, 2018.
12 Alice Zheng dan Amanda Casari, Feature Engineering for Machine Learning, O'Reilly, 2018.
13 Zahraa Abdallah, Lan Du, dan Geoffrey Webb, “Data preparation”, Encyclopedia of Machine Learning and Data Mining, Springer, 2017.
14 Alice Zheng dan Amanda Casari, Feature Engineering for Machine Learning, O’Reilly, 2018.
15 Zahraa Abdallah, Lan Du, dan Geoffrey Webb, “Data preparation”, Encyclopedia of Machine Learning and Data Mining, Springer, 2017. Alice Zheng dan Amanda Casari, Feature Engineering for Machine Learning, O’Reilly, 2018.
16 James Kanter dan Kalyan Veeramachaneni, "Deep feature synthesis: Towards automating data science effort," IEEE International Conference on Data Science and Advanced Analytics, 2015, https://ieeexplore.ieee.org/document/7344858.
17 Udayan Khurana, Deepak Turaga, Horst Samulowitz, dan Srinivasan Parthasrathy, “Cognito: Automated Feature Engineering for Supervised Learning”, IEEE 16th International Conference on Data Mining Workshops, 2016, hal. 1304-130, https://ieeexplore.ieee.org/abstract/document/7836821. Franziska Horn, Robert Pack, and Michael Rieger, “The autofeat Python Library for Automated Feature Engineering and Selection”, Joint European Conference on Machine Learning and Knowledge Discovery in Databases, 2019, pp. 111-120, https://link.springer.com/chapter/10.1007/978-3-030-43823-4_10.
18 Ahmad Alsharef, Karan Aggarwal, Sonia, Manoj Kumar, dan Ashutosh Mishra, “Review of ML and AutoML Solutions to Forecast Time-Series Data“, Archives of Computational Methods in Engineering, Vol. 29, 2022, pp. 5297–5311, https://link.springer.com/article/10.1007/s11831-022-09765-0. Sjoerd Boeschoten, Cagatay Catal, Bedir Tekinerdogan, Arjen Lommen, dan Marco Blokland, “The automation of the development of classification models andimprovement of model quality using feature engineering techniques”, Expert Systems with Applications, Vol. 213, 2023, https://www.sciencedirect.com/science/article/pii/S0957417422019303. Shubhra Kanti Karmaker, Mahadi Hassan, Micah Smith, Lei Xu, Chengxiang Zhai, dan Kalyan Veeramachaneni, “AutoML to Date and Beyond: Challenges and Opportunities”, ACM Computing Surveys, Vol. 54, No. 8, 2022, pp. 1-36, https://dl.acm.org/doi/abs/10.1145/3470918.
19 Yoav Goldberg, Neural Network Methods for Natural Language Processing, Springer, 2022.
3 Ian Goodfellow, Yoshua Bengio, dan Aaron Courville, Deep Learning, MIT Press, 2016, https://www.deeplearningbook.org
21 Xinwei Zhang, Yaoci Han, Wei Xu, and Qili Wang, “HOBA: A novel feature engineering methodology for credit card fraud detection with a deep learning architecture,” Information Sciences, Vol. 557, 2021, pp. 302-316, https://www.sciencedirect.com/science/article/abs/pii/S002002551930427X. Daniel Gibert, Jordi Planes, Carles Mateu, dan Quan Le, “Gabungan perancangan fitur dan pembelajaran mesin dalam kasus studi klasifikasi malware”, Expert Systems with Applications, Vol. 207, 2022, https://www.sciencedirect.com/science/article/pii/S0957417422011927. Ebenezerm Esenogho, Ibomoiye Domor Mienye, Theo Swart, Kehinde Aruleba, and George Obaido, “A Neural Network Ensemble With Feature Engineering for Improved Credit Card Fraud Detection”, IEEE Access, Vol. 10, 2020, pp. 16400-16407, https://ieeexplore.ieee.org/abstract/document/9698195.