HOTLINE

(0275) 2974 127

CHAT WA 24/7
0859-60000-390 (Sales)
0852-8969-9009 (Support)
Blog

Feature Engineering: Teknik Rahasia Mengubah Data Biasa Menjadi Informasi Bernilai

Dalam machine learning, kualitas model tidak hanya ditentukan oleh algoritma yang digunakan. Model yang sangat kompleks sekalipun dapat menghasilkan prediksi yang kurang baik apabila data yang diberikan tidak relevan, tidak terstruktur, atau belum merepresentasikan pola yang dibutuhkan.

Feature engineering merupakan proses mengolah data mentah menjadi fitur atau variabel yang lebih informatif sehingga dapat digunakan oleh model machine learning untuk mempelajari pola dan menghasilkan prediksi yang lebih baik. Proses ini dapat mencakup pembuatan fitur baru, transformasi data, encoding data kategorikal, scaling, binning, hingga pemilihan fitur yang relevan.

Dengan feature engineering yang tepat, data yang awalnya sulit dimanfaatkan dapat diubah menjadi representasi yang lebih sesuai dengan kebutuhan model. Lalu, apa sebenarnya feature engineering, mengapa proses ini penting, dan bagaimana cara menerapkannya?

Apa Itu Feature Engineering?

Feature engineering adalah proses memilih, membuat, mengubah, atau mengekstraksi fitur dari data mentah agar menjadi representasi yang lebih relevan bagi model machine learning. Dalam machine learning, feature atau fitur merupakan variabel yang digunakan model sebagai input untuk mempelajari pola dan menghasilkan prediksi.

Sebagai contoh, sebuah perusahaan ingin membuat model untuk memprediksi kemungkinan pelanggan melakukan churn. Data yang tersedia dapat berupa usia, kota, jenis paket, jumlah transaksi, tanggal pendaftaran, tanggal transaksi terakhir, jumlah komplain, dan durasi penggunaan layanan. Data tersebut kemudian dapat diolah menjadi fitur yang lebih informatif, seperti lama menjadi pelanggan, jumlah transaksi dalam 30 hari terakhir, jumlah komplain dalam 90 hari terakhir, jumlah hari sejak transaksi terakhir, hingga rata-rata nilai transaksi.

Dengan demikian, feature engineering bukan sekadar mengubah data menjadi angka, tetapi juga menentukan bagaimana informasi dalam data dapat direpresentasikan agar lebih berguna bagi model. Proses ini membutuhkan pemahaman terhadap karakteristik data, hubungan antarvariabel, tujuan model, serta konteks bisnis yang ingin diselesaikan.

Secara sederhana, alurnya dapat digambarkan sebagai data mentah → feature engineering → fitur yang lebih informatif → model machine learning → prediksi.
Fitur yang dirancang dengan tepat dapat membantu model mengenali pola yang relevan dan menghasilkan prediksi yang lebih baik.

Mengapa Feature Engineering Penting?

Feature engineering penting karena model machine learning belajar berdasarkan informasi yang diberikan dalam bentuk fitur. Jika fitur yang tersedia tidak merepresentasikan pola penting dalam data, model akan kesulitan menghasilkan prediksi yang baik. Sebaliknya, fitur yang dirancang dengan tepat dapat membuat pola tertentu menjadi lebih mudah dipelajari oleh model. Beberapa alasan feature engineering penting antara lain:

1. Membuat Data Lebih Mudah Dipahami Model

Data dunia nyata sering kali memiliki format yang tidak langsung sesuai dengan kebutuhan algoritma machine learning. Misalnya, sebuah kolom berisi:

  • Jakarta
  • Bandung
  • Surabaya
  • Semarang

Informasi tersebut merupakan data kategorikal. Untuk banyak algoritma, kategori seperti ini perlu direpresentasikan dalam bentuk numerik yang sesuai. Salah satu teknik yang umum digunakan adalah one-hot encoding, yaitu mengubah kategori menjadi sejumlah fitur biner. Scikit-learn menyediakan OneHotEncoder untuk tujuan tersebut.

2. Menghasilkan Informasi yang Lebih Relevan

Data mentah terkadang belum menunjukkan informasi yang sebenarnya penting bagi prediksi. Misalnya, model prediksi keterlambatan pembayaran memiliki data:

  • Tanggal tagihan.
  • Tanggal pembayaran.

Kedua tanggal tersebut dapat diubah menjadi fitur baru: Jumlah hari keterlambatan = tanggal pembayaran − tanggal jatuh tempo
Fitur baru tersebut dapat memberikan informasi yang jauh lebih relevan dibandingkan dua tanggal mentah secara terpisah.

3. Meningkatkan Kinerja Model

Feature engineering yang baik dapat membantu model menemukan pola yang sebelumnya sulit terlihat. Namun, feature engineering tidak secara otomatis menjamin peningkatan performa. Fitur yang tidak relevan, terlalu banyak, atau dibuat dengan cara yang salah justru dapat meningkatkan noise, menyebabkan overfitting, atau menghasilkan kebocoran data. Karena itu, setiap fitur sebaiknya diuji berdasarkan validasi yang tepat.

4. Mengurangi Kompleksitas Data

Dataset dapat memiliki ratusan atau bahkan ribuan kolom. Tidak semua fitur memiliki nilai prediktif. Melalui proses feature selection dan transformasi, fitur yang tidak relevan dapat dikurangi sehingga model bekerja dengan representasi data yang lebih efisien.

5. Menghubungkan Data dengan Konteks Bisnis

Feature engineering sering kali membutuhkan pemahaman domain. Contohnya, dalam bisnis e-commerce, informasi seperti recency, frequency, dan monetary value dapat memberikan gambaran perilaku pelanggan yang lebih berguna daripada sekadar menggunakan data transaksi mentah. Artinya, feature engineering bukan hanya pekerjaan teknis. Pengetahuan tentang domain bisnis juga dapat berperan besar dalam menentukan fitur yang masuk akal.

Perbedaan Feature Engineering dan Data Preprocessing

Feature engineering dan data preprocessing sering dianggap sama karena keduanya sama-sama melibatkan pengolahan data. Padahal, keduanya memiliki fokus yang berbeda meskipun saling berkaitan.

Aspek Feature Engineering Data Preprocessing
Fokus Membuat atau mengubah fitur agar lebih informatif Menyiapkan data agar dapat diproses dengan baik
Tujuan Meningkatkan representasi informasi untuk model Membersihkan dan menyiapkan data
Contoh Membuat fitur umur dari tanggal lahir Menangani missing value
Contoh lain Membuat rasio harga terhadap luas bangunan Standardisasi skala
Hubungan Bagian dari proses persiapan fitur Proses persiapan data yang lebih luas

Jenis-Jenis Feature Engineering

Feature engineering dapat dilakukan dengan berbagai pendekatan tergantung jenis data dan kebutuhan model. Beberapa teknik yang umum digunakan adalah sebagai berikut.

1. Feature Creation

Feature creation adalah membuat fitur baru dari fitur yang sudah tersedia. Contohnya, dataset properti memiliki:

  • Luas tanah.
  • Luas bangunan.
  • Harga rumah.

Dari data tersebut dapat dibuat fitur: Harga per meter persegi = harga rumah ÷ luas bangunan
Fitur tersebut dapat memberikan konteks tambahan mengenai harga properti.

Contoh lainnya dalam data pelanggan: Lama pelanggan = tanggal sekarang − tanggal pendaftaran
Dengan demikian, tanggal pendaftaran diubah menjadi informasi yang lebih relevan bagi model.

2. Feature Transformation

Feature transformation merupakan proses mengubah representasi suatu fitur tanpa menghilangkan informasi penting yang dibutuhkan. Contohnya:

  • Log transformation.
  • Standardization.
  • Min-max scaling.
  • Normalization.
  • Power transformation.

Scikit-learn menyediakan berbagai transformer untuk melakukan scaling dan transformasi data, termasuk StandardScaler, MinMaxScaler, RobustScaler, PowerTransformer, dan QuantileTransformer. Transformasi tertentu dapat membantu algoritma yang sensitif terhadap skala atau distribusi data. Sebagai contoh, apabila satu fitur memiliki nilai antara 0–1 sedangkan fitur lain berada pada rentang 0–1.000.000, beberapa algoritma dapat bekerja lebih baik apabila skala fitur disesuaikan.

Namun, scaling tidak selalu diperlukan untuk semua model. Algoritma berbasis pohon, misalnya, umumnya tidak memiliki kebutuhan scaling yang sama seperti model yang menggunakan jarak atau optimisasi berbasis gradien.

3. Feature Encoding

Feature encoding digunakan untuk mengubah data kategorikal menjadi representasi yang dapat digunakan model. Misalnya:

Jenis Paket
Basic
Premium
Enterprise

Data tersebut dapat diubah menggunakan one-hot encoding menjadi:

Basic Premium Enterprise
1 0 0
0 1 0
0 0 1

One-hot encoding merupakan salah satu teknik encoding yang umum digunakan. Google juga membahas one-hot encoding, feature hashing, dan mean encoding dalam pengolahan data kategorikal.

4. Feature Binning

Feature binning atau discretization mengubah nilai numerik kontinu menjadi beberapa kelompok. Misalnya usia:

  • 0–17 tahun
  • 18–25 tahun
  • 26–35 tahun
  • 36–50 tahun
  • 50 tahun

Daripada menggunakan usia sebagai angka kontinu, model dapat menggunakan kelompok usia tertentu. Binning dapat berguna ketika hubungan antara variabel numerik dan target tidak linear atau ketika kategori tertentu lebih mudah diinterpretasikan. Namun, binning juga dapat menyebabkan hilangnya informasi jika interval dibuat terlalu kasar.

5. Feature Scaling

Feature scaling digunakan untuk menyamakan atau menyesuaikan skala fitur. Dua teknik yang umum adalah:

  • Standardization
    Mengubah data sehingga memiliki rata-rata sekitar 0 dan deviasi standar sekitar 1.
  • Min-Max Scaling
    Mengubah nilai ke dalam rentang tertentu, misalnya 0 sampai 1.

6. Feature Interaction

Feature interaction adalah membuat fitur yang merepresentasikan interaksi antara dua atau lebih variabel. Misalnya terdapat:

  • Luas rumah.
  • Jumlah kamar.

Dapat dibuat fitur: Luas rumah per kamar = luas rumah ÷ jumlah kamar

Dalam kasus lain, kombinasi dua fitur kategorikal juga dapat menghasilkan informasi baru. Google menyebut teknik semacam ini sebagai feature crosses, yaitu kombinasi fitur yang dapat membantu model menangkap hubungan tertentu antarfitur.

7. Feature Extraction

Feature extraction adalah proses mengambil representasi yang lebih ringkas atau informatif dari data. Contohnya:

  • Mengambil TF-IDF dari teks.
  • Menghasilkan embedding dari teks.
  • Mengambil fitur tertentu dari gambar.
  • Menghasilkan representasi numerik dari data berdimensi tinggi.

Dalam machine learning modern, embedding juga digunakan untuk merepresentasikan data dalam bentuk vektor yang dapat diproses oleh model. Google memasukkan embeddings sebagai bagian dari materi machine learning modern.

8. Feature Selection

Feature selection adalah proses memilih fitur yang paling relevan dan mengurangi fitur yang tidak diperlukan. Misalnya terdapat 100 fitur, tetapi hanya sebagian yang memiliki hubungan kuat dengan target. Fitur yang tidak relevan dapat dihilangkan berdasarkan metode statistik, evaluasi model, atau pengetahuan domain. Feature selection berbeda dari feature extraction. Feature selection memilih fitur yang sudah tersedia, sedangkan feature extraction menghasilkan representasi atau fitur baru dari data.

Perbedaan Feature Selection, Feature Extraction, dan Feature Engineering

Ketiganya memiliki hubungan yang erat, tetapi tidak identik.

Konsep Pengertian Contoh
Feature Engineering Proses luas untuk merancang dan mengolah fitur Membuat fitur umur pelanggan
Feature Selection Memilih fitur yang paling relevan Memilih usia dan pendapatan dari 20 fitur
Feature Extraction Menghasilkan representasi baru dari data Mengubah teks menjadi TF-IDF atau embedding

Dengan demikian, feature selection dan feature extraction dapat menjadi bagian dari workflow feature engineering.

Contoh Feature Engineering Sederhana

Misalnya sebuah perusahaan ingin membuat model untuk memprediksi kemungkinan pelanggan melakukan pembelian.
Data awal:

Pelanggan Tanggal Daftar Transaksi Total Belanja Transaksi Terakhir
A 2024-01-10 20 Rp5 juta 2026-08-20
B 2025-03-15 5 Rp700 ribu 2026-05-10
C 2023-06-01 50 Rp15 juta 2026-08-30

Data tersebut dapat diolah menjadi fitur yang lebih informatif.

Fitur Baru Cara Membentuk Makna
Customer Age Tanggal sekarang − tanggal daftar Lama pelanggan
Purchase Frequency Jumlah transaksi ÷ periode pelanggan Frekuensi transaksi
Average Order Value Total belanja ÷ transaksi Rata-rata nilai transaksi
Recency Tanggal sekarang − transaksi terakhir Seberapa baru pelanggan bertransaksi
Total Spending Total belanja Nilai ekonomi pelanggan

Hasilnya, model tidak hanya melihat data transaksi mentah, tetapi memperoleh representasi perilaku pelanggan yang lebih relevan.

Feature Engineering Berdasarkan Jenis Data

Teknik feature engineering sangat bergantung pada tipe data.

Data Numerik

Untuk data numerik, teknik yang dapat digunakan antara lain:

  • Scaling.
  • Normalization.
  • Log transformation.
  • Binning.
  • Polynomial features.
  • Ratio atau perbandingan.
  • Interaction features.

Scikit-learn menyediakan berbagai transformer untuk standardisasi, normalisasi, discretization, dan polynomial features.

Data Kategorikal

Untuk data kategorikal, teknik yang umum meliputi:

  • One-hot encoding.
  • Ordinal encoding.
  • Target encoding.
  • Feature hashing.
  • Pengelompokan kategori langka.

Pemilihan metode encoding harus disesuaikan dengan karakteristik data dan algoritma yang digunakan. Misalnya, memberikan angka 1, 2, dan 3 pada kategori yang sebenarnya tidak memiliki urutan dapat membuat model tertentu menganggap terdapat hubungan ordinal yang sebenarnya tidak ada.

Data Tanggal dan Waktu

Tanggal sering kali mengandung informasi yang jauh lebih kaya daripada sekadar format tanggal. Dari sebuah timestamp dapat dibuat:

  • Tahun.
  • Bulan.
  • Minggu.
  • Hari.
  • Hari dalam minggu.
  • Jam.
  • Akhir pekan atau bukan.
  • Musim.
  • Jarak waktu dari suatu kejadian.
  • Frekuensi kejadian dalam periode tertentu.

Contohnya, timestamp transaksi dapat diubah menjadi:

transaction_hour = 21
is_weekend = 1
days_since_last_transaction = 4

Fitur tersebut mungkin lebih berguna bagi model dibandingkan timestamp mentah.

Data Teks

Data teks tidak dapat selalu diberikan langsung kepada model machine learning tradisional. Beberapa pendekatan yang dapat digunakan antara lain:

  • Bag-of-Words.
  • TF-IDF.
  • N-gram.
  • Feature hashing.
  • Word embedding.
  • Sentence embedding.

Pemilihan teknik bergantung pada jenis tugas, model, ukuran data, dan kebutuhan representasi.

Data Gambar

Dalam computer vision, feature engineering secara tradisional dapat mencakup ekstraksi karakteristik seperti:

  • Edge.
  • Bentuk.
  • Tekstur.
  • Histogram warna.

Namun, pada deep learning modern, banyak fitur visual dapat dipelajari secara otomatis oleh neural network. Hal ini membuat peran feature engineering manual pada beberapa kasus menjadi lebih kecil, meskipun preprocessing dan representasi data tetap penting.

Tahapan Melakukan Feature Engineering

Feature engineering sebaiknya tidak dilakukan secara acak. Prosesnya perlu mengikuti workflow yang terstruktur.

1. Memahami Masalah

Langkah pertama adalah memahami apa yang ingin diprediksi. Misalnya:

  • Apakah pelanggan akan churn?
  • Berapa harga properti?
  • Apakah transaksi merupakan fraud?
  • Apakah pelanggan akan membeli produk?
  • Berapa permintaan produk minggu depan?

Tujuan tersebut menentukan jenis fitur yang relevan.

2. Memahami Dataset

Selanjutnya, pahami karakteristik data:

  • Jumlah baris.
  • Jumlah kolom.
  • Tipe data.
  • Missing values.
  • Outlier.
  • Distribusi data.
  • Data kategorikal.
  • Data numerik.
  • Duplikasi.
  • Hubungan antarfitur.

Tahap ini penting karena feature engineering yang baik membutuhkan pemahaman terhadap data sebelum melakukan transformasi.

3. Menentukan Fitur yang Relevan

Tidak semua kolom harus digunakan. Pertimbangkan apakah sebuah fitur:

  • Memiliki hubungan dengan target.
  • Tersedia pada saat prediksi.
  • Memiliki kualitas data yang baik.
  • Tidak menyebabkan data leakage.
  • Memiliki makna bisnis.
  • Tidak terlalu banyak noise.

4. Membuat Fitur Baru

Setelah memahami data, buat fitur berdasarkan pola yang masuk akal. Contohnya:

  • Rasio.
  • Selisih.
  • Jumlah.
  • Rata-rata.
  • Frekuensi.
  • Recency.
  • Rolling statistics.
  • Interaksi antarfitur.

5. Melakukan Transformasi

Fitur kemudian dapat ditransformasikan menggunakan metode yang sesuai, seperti:

  • Encoding.
  • Scaling.
  • Normalization.
  • Binning.
  • Log transformation.

6. Mengevaluasi Fitur

Jangan menganggap fitur baru pasti lebih baik. Bandingkan performa model: Model dengan fitur awal vs Model dengan fitur hasil engineering Gunakan metrik yang sesuai dengan masalah, misalnya:

  • Accuracy.
  • Precision.
  • Recall.
  • F1-score.
  • ROC-AUC.
  • MAE.
  • MSE.
  • RMSE.

7. Memasukkan Proses ke Pipeline

Dalam implementasi machine learning, transformasi sebaiknya dibuat konsisten antara data training dan data yang digunakan saat inference. Pipeline dapat membantu memastikan preprocessing dan transformasi fitur dilakukan dengan urutan yang sama. Hal ini sangat penting ketika model dipindahkan ke production.

Contoh Feature Engineering pada Beberapa Industri

Feature engineering dapat diterapkan hampir di berbagai bidang.

1. E-Commerce

Untuk prediksi pembelian pelanggan, fitur yang dapat dibuat antara lain:

  • Jumlah transaksi.
  • Total nilai transaksi.
  • Rata-rata nilai transaksi.
  • Jumlah hari sejak pembelian terakhir.
  • Jumlah produk yang dibeli.
  • Frekuensi kunjungan.
  • Jumlah kategori produk yang pernah dibeli.

2. Perbankan

Dalam prediksi risiko kredit, fitur dapat mencakup:

  • Rasio utang terhadap pendapatan.
  • Jumlah keterlambatan pembayaran.
  • Rata-rata saldo.
  • Frekuensi transaksi.
  • Lama hubungan dengan bank.

3. Cybersecurity

Untuk mendeteksi aktivitas mencurigakan, fitur dapat berupa:

  • Jumlah login per jam.
  • Jumlah IP berbeda.
  • Frekuensi kegagalan login.
  • Perubahan lokasi login.
  • Jumlah request dalam periode tertentu.
  • Rasio request sukses dan gagal.

4. Healthcare

Untuk analisis data kesehatan, fitur dapat mencakup:

  • Usia.
  • Perubahan tekanan darah.
  • Rata-rata hasil pemeriksaan.
  • Frekuensi kunjungan.
  • Jarak waktu antar pemeriksaan.

Dalam domain yang sensitif seperti kesehatan, pembuatan fitur juga harus memperhatikan kualitas data, privasi, validitas klinis, serta potensi bias.

5. Marketing

Untuk memprediksi kemungkinan pelanggan melakukan konversi, fitur dapat berupa:

  • Jumlah kunjungan website.
  • Jumlah halaman yang dilihat.
  • Jumlah interaksi dengan email.
  • Frekuensi pembelian.
  • Waktu sejak interaksi terakhir.
  • Jumlah kampanye yang pernah direspons.

Kesalahan yang Harus Dihindari dalam Feature Engineering

Feature engineering yang buruk dapat menyebabkan model menghasilkan performa yang terlihat bagus saat training tetapi buruk ketika digunakan pada data baru. Beberapa kesalahan berikut perlu diperhatikan.

1. Data Leakage

Data leakage terjadi ketika informasi yang seharusnya tidak tersedia pada saat prediksi masuk ke dalam proses training. Contohnya, perusahaan ingin memprediksi apakah pelanggan akan churn bulan depan. Namun, fitur yang digunakan justru mengandung informasi yang baru diketahui setelah pelanggan churn. Model dapat terlihat sangat akurat karena mendapatkan informasi dari masa depan. Ini merupakan salah satu masalah paling serius dalam feature engineering.

2. Menggunakan Terlalu Banyak Fitur

Menambahkan fitur sebanyak mungkin tidak selalu menghasilkan model yang lebih baik. Fitur yang tidak relevan dapat:

  • Menambah noise.
  • Meningkatkan kompleksitas.
  • Memperbesar waktu komputasi.
  • Memperbesar risiko overfitting.
  • Menyulitkan interpretasi.

3. Encoding yang Tidak Sesuai

Tidak semua data kategorikal cocok diberi angka secara langsung. Misalnya:

Browser Encoding
Chrome 1
Firefox 2
Safari 3

Jika model memperlakukan angka tersebut sebagai nilai ordinal, model dapat menganggap Safari lebih besar daripada Firefox dan Firefox lebih besar daripada Chrome. Padahal, kategori tersebut tidak memiliki urutan seperti itu. Karena itu, metode encoding harus dipilih berdasarkan karakteristik kategori dan algoritma.

4. Mengabaikan Missing Value

Missing value dapat menyebabkan masalah jika tidak ditangani dengan benar. Pilihan penanganannya dapat mencakup:

  • Imputasi.
  • Menambahkan indikator missing.
  • Menghapus data tertentu.
  • Menggunakan metode yang secara native menangani missing value.

Tidak ada satu metode yang selalu paling tepat untuk semua dataset.

5. Mengabaikan Outlier

Outlier dapat memengaruhi beberapa jenis transformasi dan algoritma. Sebelum melakukan transformasi, pahami apakah outlier merupakan:

  • Kesalahan input.
  • Kondisi yang memang valid.
  • Kejadian langka tetapi penting.

Menghapus outlier secara otomatis bukan selalu keputusan yang benar.

6. Melakukan Transformasi Sebelum Train-Test Split

Ini merupakan kesalahan yang cukup umum. Misalnya, scaling dilakukan menggunakan seluruh dataset sebelum data dibagi menjadi training dan testing. Statistik dari data testing secara tidak langsung dapat masuk ke proses training. Pendekatan yang lebih aman adalah melakukan fitting transformasi berdasarkan data training dan kemudian menerapkannya pada validation/test set. Pipeline dapat membantu menjaga proses ini tetap konsisten.

Perbandingan Feature Engineering Manual dan AutoML

Feature engineering secara tradisional banyak dilakukan secara manual oleh data scientist atau machine learning engineer. Namun, saat ini beberapa platform AutoML dapat mengotomatisasi sebagian tugas dalam workflow machine learning. Google menjelaskan bahwa AutoML dapat mengotomatisasi pekerjaan seperti feature engineering, feature selection, pemilihan algoritma, dan hyperparameter tuning. Perbandingannya dapat dilihat berikut:

Aspek Manual AutoML
Pembuatan fitur Dirancang manusia Sebagian dapat diotomatisasi
Pengetahuan domain Sangat penting Tetap penting
Kontrol proses Tinggi Lebih terbatas
Kecepatan eksperimen Relatif lebih lambat Dapat lebih cepat
Interpretasi Lebih mudah dikontrol Bergantung platform
Fleksibilitas Tinggi Bergantung kemampuan tools
Cocok untuk Kebutuhan khusus dan domain kompleks Eksperimen cepat dan workflow standar

Apakah Feature Engineering Masih Penting di Era Deep Learning?

Ya, feature engineering masih penting di era deep learning, meskipun perannya dapat berbeda tergantung pada jenis data dan model yang digunakan. Pada machine learning klasik, feature engineering sering menjadi bagian penting karena model sangat bergantung pada representasi fitur yang diberikan. Sementara itu, deep learning memungkinkan neural network mempelajari sebagian representasi fitur secara otomatis dari data selama proses training, seperti convolutional neural network yang dapat mempelajari pola visual pada gambar.

Meskipun demikian, deep learning tidak sepenuhnya menghilangkan kebutuhan akan feature engineering. Data tetap perlu dibersihkan dan dipersiapkan, target harus ditentukan dengan tepat, missing value perlu ditangani, format input harus disesuaikan, dan fitur berbasis domain masih dapat memberikan informasi yang bermanfaat. Selain itu, data leakage, pemilihan window waktu, serta konsistensi data antara proses training dan inference juga perlu diperhatikan.

Dengan demikian, deep learning dapat mengurangi kebutuhan terhadap sebagian feature engineering manual, tetapi tidak menghilangkan pentingnya merancang dan menyiapkan data dengan tepat.

Feature Engineering dan Feature Store

Dalam sistem machine learning skala besar, fitur yang sama dapat digunakan oleh banyak model. Misalnya sebuah perusahaan memiliki fitur:

  • Customer lifetime.
  • Total transaksi.
  • Average order value.
  • Number of failed payments.

Fitur tersebut mungkin digunakan oleh berbagai model sekaligus. Feature store dapat membantu organisasi mengelola dan menyediakan fitur secara lebih terstruktur agar fitur dapat digunakan secara konsisten dalam workflow machine learning. Hal ini menjadi semakin penting ketika organisasi memiliki banyak model, banyak tim, dan kebutuhan deployment yang kompleks.

Praktik Terbaik Feature Engineering

Agar feature engineering menghasilkan fitur yang benar-benar bermanfaat, beberapa praktik berikut dapat diterapkan.

  • Pahami Tujuan Model

Jangan membuat fitur hanya karena fitur tersebut tersedia. Selalu tanyakan: Apakah fitur ini membantu menjawab masalah yang ingin diprediksi?

  • Gunakan Pengetahuan Domain

Pengetahuan bisnis dapat membantu menemukan hubungan yang tidak selalu terlihat dari analisis statistik sederhana.

  • Hindari Data Leakage

Pastikan setiap fitur hanya menggunakan informasi yang memang tersedia pada waktu prediksi.

  • Buat Fitur yang Dapat Direproduksi

Fitur yang digunakan saat training harus dapat dibuat kembali dengan cara yang sama ketika model digunakan di production.

  • Validasi dengan Eksperimen

Bandingkan performa sebelum dan sesudah feature engineering. Jangan menganggap fitur baru pasti meningkatkan performa.

  • Jangan Terlalu Banyak Membuat Fitur

Lebih banyak fitur bukan berarti lebih baik. Fokus pada fitur yang memiliki alasan kuat untuk digunakan.

  • Gunakan Pipeline

Pipeline membantu menjaga preprocessing dan feature transformation tetap konsisten.

  • Dokumentasikan Setiap Fitur

Untuk sistem production, dokumentasikan:

    1. Nama fitur.
    2. Definisi.
    3. Sumber data.
    4. Cara perhitungan.
    5. Frekuensi pembaruan.
    6. Waktu ketersediaan.
    7. Model yang menggunakan fitur.
    8. Potensi risiko leakage.

Dokumentasi tersebut akan sangat membantu ketika sistem semakin besar.

Contoh Alur Feature Engineering

Secara sederhana, proses feature engineering dapat digambarkan sebagai berikut:

Raw Data

Data Cleaning

Data Exploration

Feature Creation

Feature Transformation

Feature Encoding

Feature Selection

Model Training

Model Evaluation

Deployment

Namun, proses tersebut tidak selalu berjalan satu arah. Setelah model dievaluasi, data scientist dapat kembali membuat atau mengubah fitur berdasarkan hasil eksperimen. Karena itu, feature engineering biasanya merupakan proses iteratif.

Hubungan Feature Engineering dengan Performa Machine Learning

Feature engineering dapat memberikan dampak besar terhadap performa model karena model hanya dapat mempelajari pola dari representasi data yang tersedia.
Misalnya terdapat data: Tanggal lahir = 15 Januari 1995
Untuk model tertentu, tanggal tersebut mungkin kurang informatif dalam bentuk mentah.
Data tersebut dapat diubah menjadi: Usia = 31 tahun
Usia lebih mudah digunakan untuk merepresentasikan karakteristik pelanggan.
Contoh lain: Total transaksi = 100

Angka tersebut belum tentu memiliki arti yang sama bagi pelanggan yang sudah menggunakan layanan selama satu bulan dan pelanggan yang sudah menggunakan layanan selama sepuluh tahun.
Dengan feature engineering, data tersebut dapat diubah menjadi: Transaksi per bulan = total transaksi ÷ lama penggunaan

Representasi tersebut dapat memberikan konteks yang lebih baik. Namun, perlu ditekankan bahwa feature engineering bukan pengganti pemilihan algoritma, hyperparameter tuning, evaluasi model, maupun kualitas dataset. Model tetap harus diuji secara menyeluruh.

Tantangan dalam Feature Engineering

Beberapa tantangan yang sering muncul antara lain:

  • Data Tidak Berkualitas

Data yang tidak lengkap, tidak konsisten, atau memiliki banyak kesalahan dapat menyulitkan pembuatan fitur.

  • Data Berubah Seiring Waktu

Fitur yang valid saat model dibuat belum tentu tetap valid beberapa bulan kemudian.

  • Feature Drift

Distribusi fitur dapat berubah seiring waktu sehingga hubungan antara fitur dan target juga dapat berubah.

  • Data Berdimensi Tinggi

Dataset dengan banyak fitur dapat meningkatkan kompleksitas dan membutuhkan strategi feature selection atau dimensionality reduction.

  • Konsistensi Training dan Production

Fitur harus dihitung dengan cara yang konsisten ketika training maupun ketika model digunakan untuk prediksi.

  • Keterbatasan Waktu

Feature engineering yang terlalu kompleks dapat meningkatkan biaya komputasi dan latency ketika model berjalan secara real-time.

Tools yang Dapat Digunakan untuk Feature Engineering

Feature engineering dapat dilakukan menggunakan berbagai tools dan library. Beberapa yang umum digunakan antara lain:

Tools Kegunaan
Python Bahasa pemrograman yang banyak digunakan untuk machine learning
pandas Manipulasi dan transformasi data
NumPy Operasi numerik dan array
scikit-learn Preprocessing, feature selection, feature transformation, dan machine learning
TensorFlow Deep learning dan machine learning
PyTorch Deep learning
Spark Pemrosesan data berskala besar
AutoML Mengotomatisasi sebagian workflow machine learning

Kesimpulan

Feature engineering adalah proses mengolah, membuat, memilih, dan mengubah fitur dari data mentah agar lebih relevan bagi model machine learning. Teknik ini mencakup feature creation, transformation, encoding, scaling, feature extraction, hingga feature selection. Dengan fitur yang tepat, model dapat lebih mudah mengenali pola dan menghasilkan prediksi yang lebih optimal.

Namun, feature engineering bukan sekadar menambahkan banyak fitur. Setiap fitur harus relevan, bebas dari data leakage, dapat digunakan secara konsisten, dan perlu diuji untuk mengetahui pengaruhnya terhadap performa model. Meskipun sebagian proses kini dapat dibantu oleh deep learning dan AutoML, pemahaman terhadap data dan konteks penggunaannya tetap penting.

Untuk mempelajari lebih banyak topik seputar machine learning, artificial intelligence, teknologi, website, dan hosting, Anda juga dapat menemukan berbagai informasi praktis lainnya di Blog Hosteko.

5/5 - (1 vote)
Fitri Ana

Recent Posts

Cloud Bursting: Rahasia Menambah Kapasitas Cloud Saat Server Kewalahan

Kebutuhan sumber daya komputasi tidak selalu berada pada tingkat yang sama. Sebuah website, aplikasi, sistem…

20 hours ago

Ciri-Ciri APK Penipuan yang Dikirim Lewat WhatsApp

Tidak semua file APK yang dikirim melalui WhatsApp merupakan malware atau penipuan. Namun, ada sejumlah…

21 hours ago

SEO Audit: Rahasia Menemukan Masalah yang Menghambat Ranking Website

Memiliki website yang muncul di mesin pencari tidak berarti strategi SEO sudah berjalan dengan optimal.…

22 hours ago

Apa yang Terjadi Setelah APK Berbahaya Diinstal?

Risiko dari APK mencurigakan menjadi lebih serius ketika file tersebut benar-benar diinstal dan dijalankan sebagai…

22 hours ago

Ingin Pelanggan Tetap Loyal? Kenali Strategi Retention Marketing

Dalam persaingan bisnis yang semakin ketat, mendapatkan pelanggan baru bukan satu-satunya tujuan dalam pemasaran. Setelah…

1 day ago

Apa Itu Product Qualified Lead (PQL)? Cara Mengenali Lead yang Berpotensi Jadi Pelanggan

Dalam strategi pemasaran dan penjualan modern, tidak semua lead memiliki tingkat ketertarikan yang sama. Ada…

2 days ago