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:

  1. Pilih BBB bootstrap samples dari data pelatihan.
  2. Bangun decision tree untuk setiap bootstrap sample.
  3. Untuk setiap node, pilih subset acak dari fitur dan tentukan split terbaik.
  4. 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.

cara kerja algoritma AdaBoost

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

Postingan populer dari blog ini

Quiz Data Mining P5

Proses atau Tahapan Data Mining

DBMS