30 Algoritma Klasifikasi
Algoritma Klasifikasi
1. K-Nearest Neighbors (KNN)
K-Nearest
Neighbors (KNN) adalah algoritma klasifikasi yang sangat sederhana dan
intuitif. Algoritma ini bekerja dengan cara berikut:
- Menyimpan
seluruh data pelatihan.
- Untuk mengklasifikasikan
suatu data baru, algoritma ini mencari K titik data terdekat (tetangganya)
dari data pelatihan.
- Kelas
dari data baru ditentukan berdasarkan mayoritas kelas dari K tetangga
terdekat.
KNN sangat
bergantung pada parameter K dan metrik jarak yang digunakan (misalnya,
Euclidean distance). Kelemahan KNN termasuk sensitivitas terhadap data noisy
dan beban komputasi tinggi saat jumlah data besar.
2. Logistic Regression
Logistic
Regression adalah algoritma klasifikasi yang digunakan untuk memprediksi
probabilitas kejadian suatu peristiwa dengan menggunakan fungsi logit. Ini
sering digunakan untuk masalah klasifikasi biner. Cara kerjanya adalah:
- Menggunakan
regresi linear untuk menghitung skor (logit) dari input features.
- Menerapkan
fungsi sigmoid untuk mengubah skor ini menjadi probabilitas.
- Probabilitas
ini kemudian digunakan untuk mengklasifikasikan data ke dalam dua kelas
(misalnya, 0 atau 1).
Logistic Regression sederhana, interpretatif, dan
efisien, namun performanya mungkin terbatas pada masalah yang kompleks atau
data yang tidak linier.
3. Support Vector Machine (SVM)
Support
Vector Machine (SVM) adalah algoritma klasifikasi yang kuat dan fleksibel. SVM
adalah salah satu metode algoritma pembelajaran mesin untuk klasifikasi dan
regresi. Algoritma ini mencari hyperplane optimal yang memisahkan data ke dalam
kelas berbeda dengan margin terbesar. Metode algoritma ini digunakan dalam
berbagai aplikasi, dari pengenalan gambar, klasifikasi teks, hingga analisis
sentimen. Para ilmuan data cenderung menyukai metode algoritma ini karena
kemampuannya mengklasifikasikan data dengan tingkat akurasi yang tinggi. Awalnya
SMV dikembangkan sebagai metode untuk klasifikasi data, dan terus berkembang
hingga menjadi alat yang lebih umum untuk SVM machine learning. Di era modern,
SMV terus berkembang. SMV berfokus pada efisiensi algoritma, terutama dalam
pelatihan dan klasifikasi untuk data set besar. Prinsip dasar dari algoritma
ini adalah:
- Menemukan
hyperplane yang memisahkan data dari dua kelas dengan margin maksimum.
- Jika
data tidak bisa dipisahkan secara linier, SVM menggunakan kernel trick
untuk memetakan data ke dimensi yang lebih tinggi di mana data dapat
dipisahkan dengan hyperplane.
SVM sangat efektif
dalam ruang dimensi tinggi dan tetap efektif meskipun jumlah dimensi lebih
besar dari jumlah sampel. Namun, pemilihan kernel dan parameter yang tepat
sangat penting untuk performa optimal.
Kelebihan
dari SVM adalah:
-
Efektivitas
pada Dataset Berdimensi Tinggi
-
Metode
algoritma ini cocok untuk kasus-kasus dengan jumlah fitur dimensi dalam data
lebih besar dibanding jumlah sampel data. Hal tersebut memungkinkan analisis
yang akurat meskipun dengan data yang kompleks.
-
Margin
Pemisah Kelas yang Jelas
-
Margin
pemisah kelas yang jelas bermanfaat untuk mengambil keputusan lebih baik dan
mengurangi kesalahan klasifikasi.
-
Fungsi
Kernel yang Beragam
-
Fungsi ini
dapat digunakan untuk data yang tidak linearly separable. Hal ini dapat
memberikan fleksibilitas dalam pemilihan model untuk berbagai jenis data.
4. Decision Tree
Decision
Tree adalah algoritma yang menggunakan struktur pohon untuk membuat keputusan
berdasarkan serangkaian aturan if-then. Prosesnya adalah:
- Memilih
fitur yang paling memisahkan data pada setiap node (biasanya menggunakan
kriteria seperti Gini impurity atau Information Gain).
- Membagi
dataset berdasarkan nilai fitur tersebut.
- Mengulangi
proses ini secara rekursif untuk subset data yang lebih kecil.
Decision Tree
mudah dimengerti dan diinterpretasi, namun rentan terhadap overfitting,
terutama pada pohon yang sangat dalam.
5. Random Forest
Random
Forest adalah ensemble learning method yang menggabungkan multiple decision
trees untuk meningkatkan performa dan stabilitas. Cara kerjanya:
- Membangun
banyak decision tree selama pelatihan.
- Menggunakan
bootstrap sampling untuk menghasilkan subset data pelatihan yang berbeda
untuk setiap pohon.
- Menggunakan
subset acak dari fitur untuk membagi data pada setiap node dalam setiap
pohon.
- Menggabungkan
hasil dari semua pohon dengan voting (untuk klasifikasi) atau averaging
(untuk regresi).
Random
Forest mengurangi masalah overfitting yang sering dialami oleh single decision
tree dan biasanya memberikan akurasi yang lebih baik. Namun, interpretasi model
menjadi lebih sulit karena sifat ensemble-nya.
Masing-masing
algoritma ini memiliki kelebihan dan kekurangan, dan pemilihan algoritma yang
tepat tergantung pada karakteristik data dan masalah yang dihadapi.
Random
Forest adalah kumpulan decision trees. Algoritma ini tidak memiliki rumus
tersendiri tetapi bekerja dengan prinsip:
- Membangun
beberapa decision tree pada subset data yang berbeda.
- Melakukan
voting atau averaging hasil dari semua tree.
Algoritma
secara garis besar:
- Pilih
BBB bootstrap samples dari data pelatihan.
- Bangun
decision tree untuk setiap bootstrap sample.
- Untuk
setiap node, pilih subset acak dari fitur dan tentukan split terbaik.
- Gabungkan
prediksi semua tree
6. Gradient Boosting Machine (GBM)
Gradient
Boosting Machine (GBM) merupakan salah satu metode dalam machine learning yang
populer digunakan untuk memprediksi variabel target berdasarkan sekumpulan
variabel input. Metode ini sangat berguna dalam berbagai bidang, seperti
keuangan, kesehatan, dan teknologi. Pada artikel ini, kita akan membahas konsep
GBM, cara implementasi, serta beberapa aplikasi dari GBM.
Konsep GBM
GBM adalah
salah satu jenis ensemble learning, di mana model dibangun dengan menggabungkan
beberapa model sederhana yang memiliki performa yang baik. GBM sendiri
merupakan pengembangan dari metode Boosting, di mana setiap model dibangun
berdasarkan kesalahan prediksi model sebelumnya.
Konsep GBM
dapat dijelaskan secara sederhana sebagai berikut: GBM membangun model dengan
cara menggabungkan beberapa model kecil yang dihasilkan dari data yang sama.
Setiap model kecil memprediksi kesalahan model sebelumnya dan menambahkan
prediksi tersebut pada hasil akhir. Dengan kata lain, GBM memperbaiki prediksi
pada setiap iterasi sehingga secara bertahap meningkatkan performa keseluruhan
model. GBM mengambil pendekatan greedy, di mana pada setiap iterasi, model akan
mengevaluasi data training dan menyesuaikan prediksi model sebelumnya dengan
menambahkan model baru. Proses ini dilakukan berulang-ulang hingga model
mencapai performa yang diharapkan.
7. AdaBoost
Algoritma
AdaBoost atau Adaptive Boosting, merupakan algoritma Machine Learning yang digunakan untuk meningkatkan performa
model prediktif. Algoritma ini dikembangkan pada tahun 1995 oleh Yoav Freund
dan Robert Schapire. Konsep utama di balik Algoritma Adaptive Boosting adalah
menggabungkan beberapa model prediktif sederhana menjadi satu model prediktif
yang lebih kompleks.
Implementasi
Algoritma AdaBoost dalam Machine Learning
Implementasi
Algoritma Adaptive Boosting dalam Machine Learning melibatkan beberapa tahapan, yaitu:
1.
Memilih algoritma pembelajaran mesin dasar yang akan digunakan.
2.
Membagi dataset menjadi subset yang saling
tergantung.
3.
Melatih model dasar pada subset data.
4.
Menghitung tingkat kesalahan pada setiap
model dasar.
5.
Menetapkan bobot pada setiap model dasar
berdasarkan tingkat kesalahan.
6.
Menggabungkan model dasar menjadi satu model
prediktif.
8. Naïve Bayes
algoritma machine
learning probabilistik yang digunakan dalam berbagai macam tugas klasifikasi.
Untuk bisa memahami algoritma ini, berikut rumus umum Teorema Bayes yang
menjadi dasar dari Naive Bayes berikut:
Sederhananya,
Teorema Bayes membantu Anda untuk bisa mengetahui sebuah probabilitas dengan
menghitung probabilitas lain yang masih berkaitan. Setelah diterapkan pada
algoritma Naive Bayes, rumus ini menghasilkan suatu asumsi dasar. Dalam melihat
sebuah fitur, algoritma ini selalu berasumsi bahwa fitur tersebut mandiri,
setara, dan memiliki kontribusi pada hasil.
9. Linear Discriminant Analysis
(LDA)
LDA adalah
teknik statistika klasik yang sudah dipakai sejak lama untuk mereduksi dimensi.
Dengan LDA, kita juga bisa melakukan pembagian data ke dalam beberapa kelompok
(clustering). Untuk bisa memahaminya dengan mudah, mari kita mulai dengan
sebuah contoh. LDA adalah metode statistik untuk menemukan kombinasi linear
dari fitur yang paling memisahkan dua atau lebih kelas dari data.
10.
Quadratic Discriminant Analysis (QDA)
Quadratic Discriminant Analysis (QDA) adalah
algoritma klasifikasi yang mirip dengan Linear Discriminant Analysis (LDA),
tetapi dengan perbedaan utama bahwa QDA mengasumsikan bahwa setiap kelas
memiliki covariance matrix yang berbeda. Ini memungkinkan QDA untuk menangkap
lebih banyak variasi dalam data, tetapi juga membuatnya lebih kompleks
dibandingkan dengan LDA
Kelebihan dan Kekurangan
Kelebihan:
- Fleksibilitas: Dengan
mengizinkan covariance matrix yang berbeda untuk setiap kelas, QDA dapat
menangani data yang lebih kompleks dan tidak linier.
- Akurasi: QDA dapat memberikan akurasi
yang lebih tinggi dibandingkan LDA pada dataset di mana asumsi covariance
matrix yang sama untuk semua kelas tidak berlaku.
Kekurangan:
- Kompleksitas: QDA
membutuhkan lebih banyak parameter untuk diestimasi, sehingga lebih
kompleks dan memerlukan lebih banyak data untuk mendapatkan estimasi yang
stabil.
- Overfitting: Karena lebih
kompleks, QDA lebih rentan terhadap overfitting, terutama pada dataset
dengan jumlah sampel yang sedikit.
11.
XGBoost
Penjelasan: XGBoost adalah algoritma boosting gradient yang
dioptimalkan untuk kecepatan dan kinerja. Ia menggunakan pohon keputusan
sebagai model dasar dan membangun model baru yang mengoreksi kesalahan dari
model sebelumnya.
12.
LightGBM
Penjelasan: LightGBM adalah algoritma boosting gradient
yang dioptimalkan untuk efisiensi dan kecepatan. Ia menggunakan teknik
pembelajaran berbasis histogram dan pemangkasan pohon berdasarkan kedalaman
maksimum atau jumlah daun maksimum.
Rumus: Model prediktif dibangun secara iteratif, mirip
dengan XGBoost:
13.
CatBoost
Penjelasan: CatBoost adalah algoritma boosting gradient
yang dioptimalkan untuk menangani fitur kategorikal tanpa perlu encoding
eksplisit. Ia menggunakan teknik khusus untuk menangani variabel kategorikal
dan mengurangi overfitting.
Rumus: Model prediktif dibangun secara iteratif:
14.
Bagging
Penjelasan: Bagging (Bootstrap Aggregating) adalah teknik
ensemble yang mengurangi varians model dengan melatih beberapa model dasar pada
berbagai subset bootstrap dari data pelatihan dan menggabungkan prediksi
mereka.
Rumus: Model prediktif adalah rata-rata dari BBB model dasar:
15.
Extra Trees Classifier
Penjelasan: Extra Trees (Extremely Randomized Trees) adalah
algoritma ensemble yang mirip dengan Random Forests, tetapi menggunakan split
yang lebih acak pada setiap node, sehingga menghasilkan variasi yang lebih
besar antara pohon-pohon dalam ensemble.
Rumus: Model prediktif adalah rata-rata dari BBB pohon keputusan:
16.
Neural Networks (Multilayer Perceptrons)
Penjelasan: MLP adalah jenis jaringan saraf tiruan yang
terdiri dari beberapa lapisan (layer) neuron, termasuk lapisan input, lapisan
tersembunyi, dan lapisan output. Ini digunakan untuk tugas klasifikasi dan
regresi yang kompleks.
Rumus: Aktivasi neuron pada layer lll:
17.
Convolutional Neural Networks (CNN)
Penjelasan: CNN adalah jenis jaringan saraf tiruan yang
dirancang untuk pemrosesan data grid, seperti gambar. CNN menggunakan lapisan
konvolusi untuk menangkap fitur spasial dalam data.
18.
Recurrent Neural Networks (RNN)
Penjelasan: RNN adalah jenis jaringan saraf tiruan yang
dirancang untuk memproses data sekuensial. RNN memiliki memori internal yang
memungkinkan mereka untuk mempertahankan informasi dari langkah-langkah
sebelumnya dalam sekuens.
19.
Gaussian Processes
Penjelasan: Gaussian Processes (GP) adalah metode
non-parametrik untuk regresi dan klasifikasi. GP menggunakan proses Gaussian
untuk mendefinisikan distribusi probabilistik atas fungsi yang mungkin yang
sesuai dengan data.
20.
Perceptron
Perceptron adalah algoritma pembelajaran terawasi yang digunakan untuk tugas
klasifikasi biner. Ini adalah bentuk sederhana dari jaringan saraf yang terdiri
dari satu neuron dengan fungsi aktivasi linier.
21.
Passive Aggressive Classifier
Passive Aggressive Classifier adalah algoritma pembelajaran online yang
digunakan untuk klasifikasi. Ia menyesuaikan model hanya ketika terjadi
kesalahan, dengan tujuan mempertahankan margin besar antara kelas.
Rumus: Perbaruan bobot dalam Passive Aggressive:
22.
Ridge Classifier
Ridge Classifier adalah versi regulasi dari regresi linear untuk tugas
klasifikasi. Ia menambahkan penalti L2 pada bobot untuk mengurangi overfitting.
23.
SGD Classifier
SGD (Stochastic Gradient Descent) Classifier adalah algoritma pembelajaran
terawasi yang menggunakan penurunan gradient stokastik untuk mengoptimalkan
fungsi objektif. Ia dapat digunakan dengan berbagai fungsi loss seperti log
loss (untuk klasifikasi logistik) dan hinge loss (untuk SVM).
Rumus: Perbaruan bobot dalam SGD:
24.
Bayesian Network
Penjelasan: Bayesian Network adalah model probabilistik
grafis yang mewakili himpunan variabel acak dan ketergantungan kondisionalnya
melalui graf asiklik berarah (DAG).
Rumus: Distribusi bersama dalam Bayesian Network:
25.
Voting Classifier
Voting Classifier adalah metode ensemble yang menggabungkan prediksi dari
beberapa model dasar untuk menghasilkan prediksi akhir. Ada dua jenis voting:
mayoritas (hard voting) dan rata-rata probabilitas (soft voting).
Rumus: Untuk hard voting:
26.
Stacking Classifier
Stacking Classifier adalah metode ensemble yang menggunakan model
meta-learner untuk menggabungkan prediksi dari beberapa model dasar. Model
dasar menghasilkan prediksi, yang kemudian digunakan sebagai fitur oleh model
meta-learner untuk membuat prediksi akhir.
27.
Histogram-based Gradient Boosting
Histogram-based Gradient Boosting adalah variasi dari gradient boosting yang
menggunakan histogram untuk mengakselerasi proses pembelajaran. Ia membagi data
fitur menjadi interval-interval (bin) dan menghitung statistik secara efisien.
Rumus: Model prediktif dibangun secara iteratif, mirip
dengan gradient boosting tradisional:
28.
Elastic Net Classifier
Elastic Net adalah model regulasi yang menggabungkan penalti L1 (Lasso) dan
penalti L2 (Ridge). Ini digunakan untuk mengatasi situasi di mana terdapat
banyak fitur yang berkorelasi.
Rumus: Fungsi objektif Elastic Net:
29.
Nearest Centroid
Nearest Centroid adalah algoritma klasifikasi sederhana yang menetapkan
kelas ke pengamatan berdasarkan centroid (mean) dari kelas yang paling dekat
dalam ruang fitur.
30.
Polynomial Classifier
Polynomial Classifier adalah metode klasifikasi yang menggunakan
transformasi polinomial dari fitur asli untuk menangkap hubungan non-linier
antara fitur dan kelas. Ini dapat diterapkan pada model linear seperti regresi
logistik atau regresi linear, tetapi dengan fitur yang ditransformasikan
menjadi kombinasi polynomial
Setelah transformasi fitur, kita menggunakan regresi logistik atau regresi
linear dengan fitur polinomial.
Prediksi: Setelah training, kita dapat menggunakan model
untuk membuat prediksi.
Komentar
Posting Komentar