Fitur dan Label
Table of Contents
Pengenalan Machine Learning - This article is part of a series.
Pada machine learning, fitur dan label membentuk fondasi esensial yang menggerakkan proses pemelajaran mesin. Fitur merupakan variabel-variabel atau atribut-atribut yang menyajikan informasi input bagi model, menjadi pondasi untuk analisis, prediksi, dan pengambilan keputusan. Sebaliknya, label merupakan hasil yang diinginkan atau yang akan diprediksi oleh model berdasarkan fitur-fitur tersebut. Konsep ini sangat penting dalam supervised learning, di mana model diajarkan melalui pasangan-pasangan data yang memiliki fitur dan label yang sesuai.
Fitur menggambarkan aspek-aspek penting dari data, sementara label memandu model dalam mengenali pola dan menghasilkan prediksi yang akurat. Sejalan dengan kemajuan teknologi, teknik-teknik seperti feature engineering menjadi semakin relevan untuk mengoptimalkan informasi yang dapat diambil dari fitur-fitur yang tersedia.
A. Fitur #
1. Definisi Fitur #
Fitur merujuk pada variabel-variabel atau atribut-atribut yang digunakan oleh model machine learning untuk membuat prediksi atau keputusan. Sebagai contoh, dalam prediksi harga rumah, fitur-fitur dapat mencakup luas tanah, jumlah kamar, lokasi geografis, dll. Contoh lain, dalam pengenalan gambar, fitur-fitur mungkin mencakup intensitas warna, tekstur, atau distribusi piksel pada suatu area. Pemilihan fitur yang tepat dapat meningkatkan kemampuan model untuk menangkap pola atau hubungan yang mendasar dalam dataset.
Fitur sering kali diwakili dalam bentuk vektor, di mana setiap dimensinya menunjukkan nilai atau karakteristik spesifik. Definisi fitur ini menjadi kunci dalam proses feature engineering, di mana praktisi atau peneliti dapat merancang atau mengubah fitur-fitur yang ada untuk meningkatkan kinerja model. Dengan memahami dan merancang fitur-fitur yang tepat, model machine learning dapat lebih efektif memahami struktur data dan menghasilkan prediksi atau hasil analisis yang lebih akurat.
2. Perbedaan Fitur dan Data #
Dalam konteks machine learning, hubungan antara fitur dan data sangat erat dan saling tergantung. Data adalah kumpulan informasi atau pengamatan yang melibatkan berbagai atribut atau variabel, dan fitur adalah salah satu jenis variabel yang menyusun data tersebut. Berikut beberapa poin yang menjelaskan hubungan antara fitur dan data:
a. Fitur sebagai Bagian dari Data #
Setiap pengamatan atau instance dalam data memiliki berbagai atribut atau fitur yang mendefinisikan karakteristiknya. Misalnya, dalam dataset pengguna aplikasi, setiap pengguna dapat memiliki fitur-fitur seperti usia, jenis kelamin, dan frekuensi penggunaan.
b. Representasi Dimensi #
Fitur menggambarkan dimensi atau aspek tertentu dalam ruang data. Setiap fitur menentukan suatu dimensi dalam ruang data yang menggambarkan variasi atau karakteristik tertentu. Oleh karena itu, data dapat dianggap sebagai kumpulan titik-titik dalam ruang fitur.
c. Feature Engineering #
Feature engineering (rekayasa fitur) merupakan proses pemilihan, transformasi, atau pembuatan fitur-fitur baru berdasarkan data yang ada. Hal ini merupakan langkah untuk meningkatkan representasi fitur agar dapat mengekstrak lebih banyak informasi yang relevan dari data.
d. Korelasi dan Pola #
Hubungan antara fitur-fitur dalam data menciptakan pola atau korelasi. Model machine learning mencoba untuk memahami dan memanfaatkan pola ini untuk membuat prediksi atau keputusan yang akurat.
e. Kunci untuk Analisis #
Fitur-fitur memainkan peran kunci dalam proses analisis data. Menganalisis bagaimana fitur-fitur saling berhubungan dapat memberikan wawasan yang mendalam tentang sifat data.
3. Peran dan Fungsi Fitur #
Selain berfungsi sebagai data input, fitur juga berperan sebagai fondasi utama yang membantu model belajar dan merespon. Berikut adalah beberapa peran dan fungsi penting dari fitur:
- Representasi Data: Fitur memberikan representasi dari data yang digunakan oleh model.
- Informasi Input: Fitur menyediakan informasi input yang digunakan oleh model untuk membuat keputusan atau prediksi.
- Variabilitas Model: Kualitas dan jumlah fitur dapat memengaruhi kemampuan model untuk memahami dan menggeneralisasi pola dalam data.
4. Tipe Fitur #
Tipe fitur menjadi poin penting yang membentuk dasar pemahaman dan analisis terhadap data. Fitur-fitur ini dapat beragam, mencakup karakteristik yang mendasar dalam suatu dataset. Dari fitur kuantitatif yang mengukur nilai numerik hingga fitur kategorikal yang mencerminkan kelas atau kategori tertentu, setiap tipe fitur membawa informasi unik yang menentukan pendekatan analisis yang relevan.
Pemahaman mendalam terhadap tipe fitur menjadi landasan penting dalam berbagai tahap pengolahan data dan pemodelan. Misalnya, pemilihan metode analisis statistik yang sesuai untuk fitur kuantitatif atau penerapan teknik klasifikasi pada fitur kategorikal. Berikut adalah beberapa tipe fitur yang penting:
a. Fitur Kuantitatif #
Fitur kuantitatif adalah fitur yang memiliki nilai numerik. Fitur ini mencakup variabel-variabel yang dapat diukur secara kuantitatif dan memiliki skala numerik. Contoh: umur seseorang, pendapatan tahunan, suhu udara, dan lainnya.
b. Fitur Kategorikal #
Fitur kategorikal adalah fitur yang merepresentasikan kategori atau kelas. Data pada fitur ini bersifat deskriptif dan tak terurut. Contoh: jenis kelamin (Laki-laki/Perempuan), warna (Merah/Hijau/Biru), kategori produk dan lainnya.
c. Fitur Temporal #
Fitur temporal adalah fitur yang berkaitan dengan waktu atau urutan temporal. Data pada fitur ini mencerminkan aspek temporal atau kronologis. Contoh: tanggal transaksi, waktu pengukuran, musim dan lainnya.
d. Fitur Ordinal #
Fitur ordinal adalah fitur kategorikal yang memiliki urutan atau tingkatan. Meskipun nilainya tidak bersifat numerik, tetapi memiliki hierarki. Contoh: tingkat pendidikan (SD/SMP/SMA/Diploma/Sarjana), tingkat kepuasan (Rendah/Sedang/Tinggi), dan lainnya.
e. Fitur Binari (Dummy) #
Fitur binari adalah fitur kategorikal yang hanya memiliki dua kategori atau nilai yang mungkin. Juga dikenal sebagai dummy variable. Contoh: status pernikahan (Menikah/Belum Menikah), keanggotaan (Ya/Tidak) dan yang lainnya.
Pemahaman tipe fitur sangat penting dalam pengolahan data dan pemilihan model machine learning. Setiap tipe fitur memerlukan pendekatan analisis yang berbeda tergantung pada sifatnya. Misalnya, untuk fitur kuantitatif, teknik statistik deskriptif mungkin lebih relevan, sementara untuk fitur kategorikal, pemilihan model yang cocok dengan kategorikal data, seperti model klasifikasi, dapat diterapkan. Dengan memahami tipe fitur, seorang praktisi machine learning dapat membuat keputusan yang lebih tepat dalam proses analisis dan pemodelan.
5. Penanganan Fitur #
Penanganan fitur adalah langkah penting dalam tahap persiapan data dan memainkan peran penting dalam suksesnya sebuah model machine learning. Fitur-fitur data, baik kuantitatif maupun kategorikal, memerlukan perhatian khusus agar dapat memberikan kontribusi maksimal dalam pembentukan model yang handal. Penanganan fitur melibatkan berbagai teknik, mulai dari normalisasi skala hingga pengelompokan nilai numerik ke dalam interval tertentu, dengan tujuan untuk meningkatkan kualitas representasi data.
Pada bagian ini, kita akan menjelajahi beragam strategi penanganan fitur yang umum digunakan. Setiap metode penanganan fitur memiliki dampak signifikan terhadap kualitas dan kinerja model, sehingga pemahaman mendalam terhadap karakteristik data menjadi kunci. Dengan memahami peran dan implementasi berbagai teknik penanganan fitur, praktisi machine learning dapat merancang pendekatan analisis yang efektif, membuka pintu menuju pengembangan model yang adaptif dan presisi.
a. Feature Scaling #
Feature scaling (penskalaan fitur) adalah proses normalisasi atau standarisasi nilai-nilai fitur sehingga memiliki rentang atau skala yang seragam. Hal ini penting untuk algoritma-algoritma yang sensitif terhadap skala, seperti metode gradien (gradient-based) dalam optimasi. Contoh metode penskalaan fitur: Min-Max Scaling dan normalisasi Z-score.
Penerapan penskalaan fitur menggunakan Python dapat dilakukan dengan menggunakan library scikit-learn. Pada contoh ini, kita akan menggunakan dataset sederhana dan melakukan scaling pada fitur-fiturnya. Mari kita lihat contoh berikut:
# Import library yang dibutuhkan
from sklearn.preprocessing import MinMaxScaler
import pandas as pd
# Contoh dataset
data = {'Fitur1': [10, 20, 30, 40],
'Fitur2': [0.001, 0.01, 0.1, 1],
'Fitur3': [5, 15, 25, 35]}
df = pd.DataFrame(data)
# Tampilkan dataset sebelum penskalaan fitur
print("Dataset sebelum penskalaan fitur:")
print(df)
# Inisialisasi objek MinMaxScaler
scaler = MinMaxScaler()
# Lakukan penskalaan fitur pada dataset
df_scaled = pd.DataFrame(scaler.fit_transform(df), columns=df.columns)
# Tampilkan dataset setelah penskalaan fitur
print("\nDataset setelah penskalaan fitur:")
print(df_scaled)
Pada contoh ini, kita menggunakan MinMaxScaler
dari scikit-learn untuk melakukan penskalaan fitur dengan metode Min-Max Scaling. Metode ini mengubah nilai-nilai fitur sehingga berada dalam rentang [0, 1]. Proses penskalaan dilakukan pada setiap fitur secara terpisah.
Berikut adalah hasil dari kode di atas:
Dataset sebelum penskalaan fitur:
Fitur1 Fitur2 Fitur3
0 10 0.001 5
1 20 0.010 15
2 30 0.100 25
3 40 1.000 35
Dataset setelah penskalaan fitur:
Fitur1 Fitur2 Fitur3
0 0.0 0.0 0.0
1 0.333 0.1 0.333
2 0.667 0.2 0.667
3 1.0 1.0 1.0
Hasil tersebut menunjukkan dataset sebelum dan setelah dilakukan penskalaan fitur menggunakan metode Min-Max Scaling. Setelah penskalaan, nilai-nilai fitur berada dalam rentang [0, 1].
b. Feature Engineering #
Feature engineering (rekayasa fitur) merupakan proses manipulasi atau pembuatan fitur-fitur baru untuk meningkatkan representasi informasi dalam data. Proses ini meliputi transformasi, ekstraksi, atau kombinasi fitur. Contoh: membuat fitur baru berdasarkan hubungan matematis antara fitur yang sudah ada.
Penerapan rekayasa fitur dapat dilakukan dengan berbagai cara, tergantung pada jenis data dan tujuan analisis. Berikut adalah contoh sederhana menggunakan Python untuk menambahkan fitur baru ke dalam dataset:
import pandas as pd
from sklearn.datasets import load_iris
# Contoh dataset
iris = load_iris()
data = pd.DataFrame(data=iris.data, columns=iris.feature_names)
data['Target'] = iris.target
# Tampilkan dataset sebelum rekayasa fitur
print("Dataset sebelum rekayasa fitur:")
print(data.head())
# Contoh rekayasa fitur: Menambahkan fitur baru berdasarkan proporsi panjang kelopak terhadap lebar kelopak
data['PanjangLebarRatio'] = data['sepal length (cm)'] / data['sepal width (cm)']
# Tampilkan dataset setelah rekayasa fitur
print("\nDataset setelah rekayasa fitur:")
print(data.head())
Pada contoh ini, kita menggunakan dataset Iris dari scikit-learn dan menambahkan fitur baru PanjangLebarRatio
yang merupakan hasil bagi dari panjang kelopak (sepal length (cm)
) dan lebar kelopak (sepal width (cm)
). Fitur baru ini dapat memberikan model informasi tambahan tentang proporsi antara panjang dan lebar kelopak pada setiap observasi.
Berikut adalah hasil dari kode di atas:
Dataset sebelum rekayasa fitur:
sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) Target
0 5.1 3.5 1.4 0.2 0
1 4.9 3.0 1.4 0.2 0
2 4.7 3.2 1.3 0.2 0
3 4.6 3.1 1.5 0.2 0
4 5.0 3.6 1.4 0.2 0
Dataset setelah rekayasa fitur:
sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) Target PanjangLebarRatio
0 5.1 3.5 1.4 0.2 0 1.457143
1 4.9 3.0 1.4 0.2 0 1.633333
2 4.7 3.2 1.3 0.2 0 1.468750
3 4.6 3.1 1.5 0.2 0 1.483871
4 5.0 3.6 1.4 0.2 0 1.388889
Hasil tersebut menunjukkan dataset sebelum dan setelah dilakukan rekayasa fitur dengan menambahkan fitur baru PanjangLebarRatio
. Fitur ini dihitung berdasarkan proporsi panjang kelopak terhadap lebar kelopak. Setelah rekayasa fitur, kita dapat melihat bahwa dataset sekarang memiliki satu kolom tambahan sebagai hasil dari proses tersebut.
Pastikan untuk memilih fitur-fitur baru dengan seksama dan berdasarkan pemahaman mendalam terhadap data dan tujuan analisis. Rekayasa fitur dapat mencakup berbagai teknik, termasuk transformasi, pembuatan fitur baru, atau penggabungan fitur yang sudah ada.
c. One-Hot Encoding #
One-hot encoding merupakan proses pengubahan fitur kategorikal menjadi representasi biner. Setiap kategori diwakili oleh sebuah bit, dan hanya satu bit yang aktif untuk setiap observasi. Contoh: mengkodekan warna (Merah, Hijau, Biru) menjadi tiga fitur terpisah.
Penerapan one-hot encoding pada data kategorikal menggunakan Python dapat dilakukan dengan menggunakan library pandas. Berikut adalah contoh sederhana:
import pandas as pd
# Contoh dataset dengan fitur kategorikal
data = {'Kategori': ['A', 'B', 'C', 'A', 'C']}
df = pd.DataFrame(data)
# Tampilkan dataset sebelum one-hot encoding
print("Dataset sebelum One-Hot Encoding:")
print(df)
# Lakukan one-hot encoding
df_encoded = pd.get_dummies(df, columns=['Kategori'], prefix='Kategori')
# Tampilkan dataset setelah one-hot encoding
print("\nDataset setelah One-Hot Encoding:")
print(df_encoded)
Pada contoh ini, kita menggunakan fungsi get_dummies
dari pandas untuk melakukan one-hot encoding pada fitur kategorikal Kategori
. Hasilnya adalah tambahan kolom-kolom yang merepresentasikan setiap kategori sebagai variabel biner (0 atau 1).
Berikut adalah hasil dari kode di atas:
Dataset sebelum One-Hot Encoding:
Kategori
0 A
1 B
2 C
3 A
4 C
Dataset setelah One-Hot Encoding:
Kategori_A Kategori_B Kategori_C
0 1 0 0
1 0 1 0
2 0 0 1
3 1 0 0
4 0 0 1
Hasil tersebut menunjukkan dataset sebelum dan setelah dilakukan one-hot encoding pada fitur kategorikal “Kategori”. Setiap kategori diwakili oleh kolom baru yang merupakan variabel biner.
d. Dimensionality Reduction #
Dimensionality reduction (reduksi dimensi) merupakan proses pengurangan jumlah fitur dengan mempertahankan informasi yang signifikan. Ini dapat membantu mengatasi masalah “curse of dimensionality” dan mempercepat waktu komputasi. Contoh metode: Principal Component Analysis (PCA) dan t-Distributed Stochastic Neighbor Embedding (t-SNE).
“Curse of dimensionality” (kutukan dimensi) adalah fenomena yang terjadi ketika dimensi fitur dalam dataset meningkat secara signifikan. Dalam ruang dimensi yang tinggi, data cenderung menjadi lebih jarang dan berada di wilayah yang melibatkan jarak yang lebih besar antar titik data. Fenomena ini dapat memiliki beberapa dampak negatif dalam konteks analisis data dan machine learning. Berikut adalah beberapa aspek utama dari curse of dimensionality:
-
Peningkatan Volume Ruang
Dengan meningkatnya dimensi, volume ruang yang dapat diakses oleh data juga meningkat secara eksponensial. Sebagai contoh, dalam ruang dua dimensi, area persegi panjangnya adalah panjang \(\times\) lebar, sedangkan dalam ruang tiga dimensi, volume kubusnya adalah panjang \(\times\) lebar \(\times\) tinggi. Semakin tinggi dimensi, semakin besar volume ruang yang perlu dijelajahi.
-
Perubahan Rasio Jarak
Rasio jarak antara titik data dapat berubah secara signifikan saat dimensi bertambah. Data yang mungkin terlihat berdekatan dalam dimensi rendah bisa menjadi sangat terpisah dalam dimensi yang lebih tinggi.
-
Peningkatan Kebutuhan Data
Seiring dengan pertambahan dimensi, jumlah data yang diperlukan untuk mengisi seluruh ruang secara representatif juga meningkat. Dalam praktiknya, jumlah data yang dibutuhkan untuk mempertahankan keakuratan model machine learning cenderung meningkat secara eksponensial dengan jumlah fitur.
-
Sparsity Data
Data menjadi lebih jarang dalam dimensi yang tinggi. Dengan peningkatan dimensi, ruang data yang dapat dihuni oleh observasi menjadi semakin terbatas, sehingga observasi yang sesuai menjadi jarang.
-
Overfitting
Model machine learning cenderung menjadi lebih rentan terhadap overfitting ketika jumlah dimensi meningkat. Efeknya, model akan “memorizing” noise dalam data ketimbang mengenali pola yang sebenarnya.
-
Komputasi yang Mahal
Peningkatan dimensi dapat menyebabkan komputasi yang lebih mahal karena jumlah operasi yang perlu dilakukan meningkat secara eksponensial.
Untuk mengatasi kutukan dimensi, praktisi machine learning sering melakukan reduksi dimensi atau pemilihan fitur untuk mempertahankan informasi yang paling penting dan relevan. Algoritma seperti Principal Component Analysis (PCA) dan t-SNE digunakan untuk mengurangi dimensi data dengan tetap mempertahankan sebagian besar variasi.
Contoh penerapan reduksi dimensi menggunakan metode Principal Component Analysis (PCA) dalam Python dapat dilakukan dengan menggunakan library scikit-learn. Berikut adalah contoh sederhana:
from sklearn.decomposition import PCA
from sklearn.datasets import load_iris
import pandas as pd
# Contoh dataset
iris = load_iris()
data = iris.data
target = iris.target
# Inisialisasi objek PCA dengan mengurangi dimensi menjadi 2
pca = PCA(n_components=2)
# Lakukan PCA pada dataset
data_pca = pca.fit_transform(data)
# Buat DataFrame baru dari hasil PCA
df_pca = pd.DataFrame(data_pca, columns=['PC1', 'PC2'])
df_pca['Target'] = target
# Tampilkan dataset setelah PCA
print("Dataset setelah PCA:")
print(df_pca.head())
Pada contoh ini, kita menggunakan dataset Iris dari scikit-learn, dan kemudian mengurangi dimensi dataset menjadi 2 menggunakan PCA. Hasil PCA disimpan dalam DataFrame baru yang mencakup dua komponen utama (PC1
dan PC2
).
Berikut adalah hasil dari kode di atas:
Dataset setelah PCA:
PC1 PC2 Target
0 -2.684126 0.319397 0
1 -2.714142 -0.177001 0
2 -2.888991 -0.144949 0
3 -2.745343 -0.318299 0
4 -2.728717 0.326755 0
Hasil tersebut menunjukkan dataset setelah dilakukan reduksi dimensi menggunakan PCA. Sekarang dataset hanya memiliki dua fitur, yaitu PC1 dan PC2, yang merupakan proyeksi dari data asli ke dalam ruang dimensi yang lebih rendah.
Dataset yang membutuhkan reduksi dimensi biasanya adalah dataset dengan dimensi fitur yang sangat besar, terutama jika fitur-fitur tersebut tidak semuanya memberikan informasi yang signifikan atau jika terdapat korelasi tinggi antar fitur. Berikut adalah beberapa contoh dataset yang mungkin memerlukan reduksi dimensi:
-
Gambar Berkualitas Tinggi:
- Dataset gambar dengan resolusi tinggi sering kali memiliki jumlah piksel yang sangat besar. Reduksi dimensi dapat membantu dalam menganalisis atau memproses gambar dengan lebih efisien tanpa kehilangan informasi penting.
-
Data Genomik:
- Dataset genomik dapat memiliki ribuan atau bahkan jutaan fitur yang mewakili gen atau variasi genetik. Reduksi dimensi membantu dalam mengidentifikasi fitur-fitur yang paling relevan untuk analisis tertentu.
-
Sistem Keamanan dan Deteksi Intrusi:
- Data keamanan, seperti log aktivitas sistem atau jaringan, seringkali memiliki banyak fitur yang mencerminkan berbagai aspek keamanan. Reduksi dimensi dapat membantu mengidentifikasi pola aneh atau serangan dengan lebih efisien.
-
Spektrum Sinyal:
- Data dari pengukuran spektrum sinyal, seperti dalam bidang komunikasi nirkabel atau instrumentasi, sering kali memiliki jumlah fitur yang besar. Reduksi dimensi dapat membantu dalam analisis sinyal untuk memahami pola atau karakteristik tertentu.
-
Telemetry dalam Manufaktur:
- Dataset dari sistem manufaktur yang mengumpulkan data telemetri dari berbagai sensor bisa memiliki banyak fitur yang merepresentasikan kondisi mesin. Reduksi dimensi dapat membantu memahami faktor-faktor yang paling berpengaruh terhadap kinerja mesin atau kualitas produksi.
-
Ekspresi Gen:
- Dalam biologi molekuler, dataset ekspresi gen dapat mencakup ribuan gen yang diekspresikan dalam berbagai kondisi. Reduksi dimensi membantu mengidentifikasi pola ekspresi gen yang signifikan.
Penting untuk mencatat bahwa tidak semua dataset memerlukan reduksi dimensi. Beberapa dataset mungkin memiliki fitur-fitur yang semuanya penting, dan reduksi dimensi tidak selalu menjadi solusi yang tepat untuk semua masalah. Keputusan untuk melakukan reduksi dimensi perlu dipertimbangkan dengan cermat berdasarkan karakteristik dan tujuan analisis data.
B. Label #
1. Definisi Label #
Label adalah variabel atau informasi yang ingin diprediksi atau diidentifikasi oleh model. Dalam masalah supervised learning, label merupakan output atau jawaban yang diharapkan dari model ketika diberikan input tertentu. Misalnya, dalam masalah klasifikasi, label adalah kategori atau kelas yang ingin diatributkan pada setiap observasi, sedangkan dalam masalah regresi, label adalah nilai kontinu yang ingin diprediksi.
Dalam supervised learning, label hanya ada pada data pelatihan yang digunakan untuk melatih model. Data uji biasanya tidak memiliki label, dan tugas model adalah memprediksi label untuk data uji.
2. Peran dan Fungsi Label #
Peran dan fungsi label sangat penting dalam konteks supervised learning, di mana model machine learning dilatih menggunakan data yang memiliki label. Berikut adalah penjelasan lebih detail tentang peran dan fungsi label:
-
Tujuan Prediksi
Label adalah variabel atau informasi yang ingin diprediksi oleh model. Misalnya, dalam masalah klasifikasi, label mewakili kategori atau kelas yang ingin diatributkan pada setiap sampel data. Dalam masalah regresi, label adalah nilai kontinu yang ingin diprediksi oleh model.
-
Data Pelatihan
Label hadir hanya pada data pelatihan yang digunakan untuk melatih model. Data pelatihan terdiri dari pasangan input (fitur) dan output (label). Model menggunakan pasangan-pasangan ini untuk mempelajari hubungan antara fitur dan label sehingga dapat membuat prediksi pada data baru.
-
Evaluasi Model
Label digunakan sebagai dasar untuk mengevaluasi kinerja model. Selama pelatihan, model memprediksi label untuk data pelatihan dan dibandingkan dengan label sebenarnya. Metrik evaluasi seperti akurasi (untuk klasifikasi) atau MSE (Mean Squared Error, untuk regresi) digunakan untuk mengukur seberapa baik model dapat memprediksi label.
Label biasanya sudah diketahui atau diukur pada saat pelatihan model. Model bertugas untuk mempelajari pola atau hubungan dari data pelatihan tersebut agar dapat melakukan prediksi yang akurat pada data baru. Peran dan fungsi label sangat esensial dalam pembentukan model machine learning dalam konteks supervised learning. Label memberikan arah pada model untuk memahami hubungan antara fitur-fitur tertentu dan hasil yang diinginkan. Dengan demikian, label menjadi landasan yang kuat dalam pembuatan model yang dapat digunakan untuk prediksi di dunia nyata.
3. Tipe Label #
Tipe label dalam konteks machine learning biasanya tergantung pada jenis masalah atau tugas yang dihadapi. Berikut adalah beberapa tipe label yang umum digunakan:
-
Binary (Biner):
- Label biner memiliki dua kategori atau kelas yang mungkin. Contohnya termasuk prediksi “ya” atau “tidak”, “positif” atau “negatif”, “1” atau “0”. Tipe label ini umum pada masalah klasifikasi biner.
-
Multiclass (Multikelas):
- Label multikelas memiliki lebih dari dua kategori atau kelas yang mungkin. Contohnya termasuk prediksi kategori seperti “hewan”, “tumbuhan”, atau “mineral”. Tipe label ini umum pada masalah klasifikasi multikelas.
-
Multilabel:
- Label multilabel memungkinkan suatu sampel data dapat termasuk dalam lebih dari satu kategori atau kelas sekaligus. Contohnya berupa pengklasifikasian dokumen ke dalam beberapa kategori pada saat yang bersamaan.
-
Ordinal:
- Label ordinal menunjukkan hubungan urutan antar kategori, tetapi jarak antara kategori tidak terdefinisi. Contohnya bisa mencakup peringkat berdasarkan skala, seperti “rendah”, “sedang”, dan “tinggi”.
-
Regresi:
- Dalam masalah regresi, label adalah variabel kontinu yang dapat berada dalam rentang nilai tertentu. Contohnya dapat mencakup prediksi harga rumah, suhu, atau pendapatan.
Penting untuk memahami tipe label yang relevan dengan tugas yang dihadapi, karena ini akan memengaruhi pilihan model dan metrik evaluasi yang sesuai. Misalnya, untuk masalah klasifikasi biner, model dan metrik evaluasi yang digunakan mungkin berbeda dengan masalah klasifikasi multikelas atau regresi.
4. Penanganan Label #
Penanganan label melibatkan berbagai strategi tergantung pada jenis masalah dan karakteristik data. Berikut adalah beberapa aspek penanganan label yang dapat menjadi pertimbangan:
-
Imbalance Class:
- Ketidakseimbangan kelas terjadi ketika jumlah sampel pada setiap kelas sangat tidak seimbang. Hal ini dapat memengaruhi kinerja model, terutama pada masalah klasifikasi. Beberapa strategi untuk menangani ketidakseimbangan kelas termasuk oversampling, undersampling, atau penggunaan bobot kelas pada model.
-
Preprocessing Kategori:
- Jika label adalah variabel kategori atau string, beberapa model memerlukan representasi numerik. Oleh karena itu, diperlukan proses encoding, seperti one-hot encoding atau label encoding, untuk mengubah label menjadi format numerik.
-
Scaling pada Regresi:
- Dalam masalah regresi, kadang-kadang diperlukan penskalaan pada label jika distribusinya sangat bervariasi. Proses ini dapat membantu meningkatkan kinerja algoritma regresi, terutama ketika menggunakan metode yang sensitif terhadap skala, seperti regresi linear.
-
Ordinal Encoding:
- Jika label memiliki tingkat ordinal (urutan), perlu pertimbangan khusus dalam encoding. Misalnya, menggunakan metode ordinal encoding untuk mempertahankan informasi tentang urutan kategori.
-
One-Hot Encoding untuk Multikelas:
- Pada masalah klasifikasi multikelas, sering digunakan one-hot encoding untuk mengubah label kategori menjadi vektor biner yang merepresentasikan kelas tertentu.
-
Scaling pada Klasifikasi:
- Beberapa algoritma klasifikasi yang sensitif terhadap skala mungkin memerlukan penskalaan pada label. Hal ini terutama berlaku pada algoritma berbasis jarak, seperti k-Nearest Neighbors (k-NN).
-
Normalisasi pada Klasifikasi:
- Beberapa algoritma klasifikasi mungkin memerlukan normalisasi pada label, terutama jika distribusi kelas sangat tidak seimbang.
Setiap langkah penanganan label perlu disesuaikan dengan karakteristik dan kebutuhan khusus dari dataset dan tugas machine learning yang sedang dihadapi. Selain itu, penting untuk memastikan bahwa label yang digunakan dalam model adalah representasi yang akurat dan sesuai dengan tujuan analisis.