Deskripsi

Algoritma Naive Bayes dalam Machine Learning #1

Coba bayangkan, misal sobat Exsight mempunyai sebuah kotak tertutup yang berisi bola-bola dengan warna yang berbeda. Misalnya, jika kita sudah tahu bahwa dalam kotak tersebut sebagian besar berisi bola merah dan sedikit bola biru. Kemudian, kita ingin tahu, ketika kita mengambil bola dari kotak itu, bola apa yang akan keluar?

Nah, dengan menggunakan algoritma Naive Bayes kita bisa menebak warna bola di dalam kotak dengan cara yang sederhana dan cepat berdasarkan informasi (pengalaman) yang sudah kita punya. Pada artikel ini akan dibahas lebih mendalam terkait algoritma Naive Bayes dalam machine learning. Maka dari itu, simak dengan seksama yaa!

Definisi

Naive Bayes merupakan algoritma dalam machine learning yang berbasis probabilitas berdasarkan teorema Bayes yang digunakan untuk klasifikasi serta memprediksi probabilitas kelas atau label tertentu berdasarkan fitur-fitur (variabel) yang ada.

Konsep Dasar Naive Bayes

Beberapa konsep dasar dari algoritma Naive Bayes diantaranya sebagai berikut.

A. Teorema Bayes
Algoritma Naive Bayes didasarkan pada Teorema Bayes. Teorema Bayes digunakan untuk menghitung probabilitas suatu peristiwa berdasarkan informasi sebelumnya tentang peristiwa tersebut.

B. Klasifikasi
Algoritma Naive Bayes digunakan dalam konteks klasifikasi, di mana kita dapat mengklasifikasikan data ke dalam salah satu dari beberapa kelas atau label yang ada. Misalnya, mengklasifikasikan email sebagai “spam” atau “bukan spam.”

C. Asumsi Independensi
Dalam algoritma Naive Bayes terdapat asumsi sederhana bahwa semua fitur (variabel) dalam data bersifat independen atau tidak saling bergantung satu sama lain.

D. Penghitungan Probabilitas
Algoritma Naive Bayes memiliki dua jenis probabilitas, yaitu probabilitas prior dan probabilitas kondisional. Contoh:
* Probabilitas Prior
Probabilitas prior merupakan probabilitas awal dari masing-masing kelas tanpa mempertimbangkan fitur (variabel). Misalnya, probabilitas awal bahwa email adalah “spam.”

*Probabilitas Kondisional
Probabilitas kondisional merupakan probabilitas kelas berdasarkan fitur (variabel) yang diamati. Misalnya, probabilitas bahwa email adalah “spam” jika mengandung kata-kata tertentu.

E. Pemilihan Kelas
Setelah menghitung probabilitas untuk setiap kelas, algoritma Naive Bayes dapat memilih kelas dengan probabilitas tertinggi sebagai prediksi. Dalam contoh email “spam” atau “bukan spam,” algoritma Naive Bayes akan memilih kelas dengan probabilitas tertinggi.

F. Kinerja dan Evaluasi
Hasil kinerja dan evaluasi dari algoritma Naive Bayes dapat diukur dengan menggunakan berbagai metrik evaluasi seperti akurasi, presisi, recall, F1-score, dan confusion matrix.

Kelebihan dan Keterbatasan

Algoritma Naive Bayes memiliki sejumlah kelebihan dan keterbatasan diantaranya:

Kelebihan

  1. Sederhana dan Cepat
    Naive Bayes merupakan salah satu algoritma yang paling sederhana dalam machine learning. Algoritma Naive Bayes menggunakan perhitungan probabilitas relatif sederhana, sehingga waktu komputasi yang dibutuhkan untuk algoritma ini cukup cepat.
  2. Cocok untuk Data Dimensi Tinggi
    Naive Bayes dapat bekerja dengan baik meskipun data memiliki banyak fitur/variabel (data dimensi tinggi).
  3. Kemampuan Menangani Data Kategorikal
    Naive Bayes cocok digunakan pada data dengan tipe kategorikal atau biner.
  4. Kinerja yang Baik pada Data Terdistribusi Tidak Merata
    Algoritma Naive Bayes dapat berfungsi dengan baik pada dataset di mana kelasnya tidak terdistribusi merata.

Keterbatasan

  1. Kurang Efektif pada Data Kontinu
    Algoritma Naive Bayes kurang efektif dalam menangani data kontinu yang memerlukan asumsi distribusi probabilitas tertentu.
  2. Sensitif terhadap Fitur Irrelevant
    Algoritma Naive Bayes cenderung memperhatikan semua fitur/variabel yang ada dalam data, termasuk fitur-fitur yang sebenarnya tidak memiliki hubungan kuat atau penting dengan klasifikasi atau prediksi yang ingin dilakukan.
  3. Kinerja Rendah pada Data Langka
    Pada dataset dengan frekuensi nol untuk beberapa kombinasi fitur-kelas, algoritma Naive Bayes dapat memberikan hasil yang buruk.
  4. Memerlukan Data Training yang Cukup
    Algoritma ini memerlukan data training yang cukup besar untuk menghasilkan hasil yang baik. Jika data training sangat terbatas, performa Naive Bayes dapat menjadi kurang memuaskan.

Penerapan Naive Bayes

Algoritma Naive Bayes memiliki berbagai penerapan dalam berbagai bidang. Berikut adalah beberapa contoh penerapannya:

1. Deteksi Spam Email
Salah satu penerapan paling terkenal dari Naive Bayes adalah dalam deteksi spam email. Algoritma ini dapat mempelajari pola dari email yang telah dikategorikan sebagai “spam” atau “bukan spam” dan kemudian menggunakan pengetahuannya untuk mengklasifikasikan email baru.

naive bayes

2. Klasifikasi Sentimen dalam Analisis Teks
Algoritma Naive Bayes dapat digunakan untuk klasifikasi sentimen positif, negatif maupun netral pada data teks yang terdapat dalam media sosial, ulasan produk, maupun komentar online. Adanya klasifikasi sentimen dalam analisis teks dapat membantu perusahaan memahami pandangan dan umpan balik pelanggan.

naive bayes

3. Diagnostik Kesehatan
Dalam dunia medis, Naive Bayes digunakan dalam sistem diagnostik untuk membantu dokter dalam mendiagnosis penyakit, menganalisis data medis dan mengidentifikasi potensi penyakit berdasarkan gejala.

naive bayes

Penerapan Naive Bayes sangatlah bervariasi, dimana hal ini tergantung pada jenis data dan masalah yang dihadapi.

Referensi

Taheri, S., & Mammadov, M. (2013). Learning The Naïve Bayes Classifier with Optimization Models, International Journal of Applied Mathematics and Computer Science, 23(4).

Pamungkas, K., Aridinanti, L., & Wibowo, W. (2022). Analisis Sentimen Pelaporan Masyarakat di Situs Media Centre Surabaya dengan Naive Bayes Classifier. Jurnal Teknik ITS, Vol.11, No. 2.

Sampai disini dulu penjelasan terkait Algoritma Naive Bayes dalam Machine Learning. Jika masih ada yang dibingungkan bisa langsung saja ramaikan kolom komentar atau hubungi admin melalui tombol bantuan di kanan bawah. Stay tuned di website https://exsight.id/blog/ agar tidak ketinggalan artikel-artikel menarik lainnya.

Pengenalan Multidimensional Scaling (MDS) #1

Ketika akan melakukan analisis data, terkadang kita dihadapkan dengan data yang sangat kompleks. Data yang kompleks seringkali ditandai dengan dimensi data yang cukup tinggi. Lalu, bagaimana cara kita untuk untuk memahami data berdimensi tinggi tersebut dengan lebih baik? Salah satunya cara yang bisa kita lakukan yaitu dengan menggunakan metode Multidimensional Scaling atau MDS.
Artikel kali ini akan membahas lebih lanjut terkait Multidimensional Scaling (MDS), yuk simak dengan seksama yaa!

Definisi

Multidimensional Scaling (MDS) merupakan sebuah teknik analisis statistik multivariat yang digunakan untuk menggambarkan struktur hubungan antar objek data berdasarkan kemiripannya secara grafis dalam suatu bidang multidimensi, untuk mendapatkan informasi dari data.

Tujuan dari MDS adalah mengurai data yang kompleks menjadi menjadi lebih sederhana melalui reduksi dimensi data, menganalisis struktur data, mengukur kesamaan antara objek, serta memvisualisasikan hubungan antara objek sehingga dapat membantu dalam analisis pengambilan keputusan.

Konsep Dasar

Beberapa konsep dasar dari metode Multidimensional Scaling (MDS) adalah sebagai berikut.

  • Matriks Jarak atau Kesamaan
    Matrik jarak atau kesamaan merupakan elemen dasar dari MDS, dimana matriks ini berisi informasi tentang seberapa dekat atau seberapa mirip suatu objek dengan objek yang lain.
  • Transformasi Ke Dimensi Lebih Rendah
    MDS bertujuan mengubah informasi dalam matriks jarak atau kesamaan dari dimensi tinggi ke dimensi rendah. Adanya transformasi dimensi digunakan untuk memahami struktur data yang mungkin sulit dilihat dalam dimensi aslinya.
  • Perhitungan Jarak
    MDS menggunakan berbagai metode untuk menghitung jarak atau kesamaan antara objek-objek. Dalam MDS metrik, jarak antara objek dijelaskan dengan akurasi metrik, sementara MDS non-metrik mengukur kesamaan tanpa mempertahankan akurasi metrik.
  • STRESS
    STRESS (Standardized Residual Sum of Square) merupakan kriteria atau pedoman yang digunakan untuk menguji validitas dari MDS. Rumus perhitungan STRESS adalah sebagai berikut.
STRESS=\sqrt{\frac{\left ( d_{xy}-\hat{d}_{xy} \right )^{2}}{\left ( d_{xy}-\bar{d} \right )^{2}}}
\begin{matrix}
dimana\\ 
d_{xy}\, :jarak\, antar\, objek\, ke-x\, dan\, objek\, ke-y\\ 
\hat{d}_{xy}\,: jarak\, yang\, diperoleh\, dari\, peta\, persepsi\\ 
\bar{d\, }\, :\, Rata-rata\, jarak\, dalam\, peta\\
\end{matrix}
  • Visualisasi
    Hasil dari MDS peta yang memungkinkan kita untuk memvisualisasikan objek-objek dalam ruang dimensi rendah. Peta ini dapat membantu dalam pemahaman struktur data, identifikasi pola, maupun pengambilan keputusan.
multidimensional
Gambar 1. Contoh Visualisasi Peta Multidimensional Scaling

Jenis-Jenis Multidimensional Scaling

Terdapat beberapa jenis Multidimensional Scaling (MDS) yang dibedakan berdasarkan ciri-ciri dan kegunaannya, diantaranya adalah sebagai berikut:

A. Classical MDS (CMDS)
* CMDS adalah jenis MDS yang paling umum dan sering digunakan.
* CMDS bertujuan untuk menempatkan objek-objek dalam ruang dimensi rendah, sehingga jarak antara objek sesuai dengan yang terdapat dalam matriks jarak.
* CMDS mempertahankan akurasi metrik dalam perhitungan jarak antara objek.

B. Non-metric MDS (NMDS)
* NMDS adalah jenis MDS yang tidak mempertahankan akurasi metrik dalam perhitungan jarak antara objek.
* NMDS bertujuan untuk menggambarkan hubungan relatif antara objek-objek, bukan hubungan yang tepat dalam skala metrik.
* NMDS lebih fleksibel dan cocok untuk data yang tidak memenuhi asumsi metrik.

C. Metric MDS (MMDS)
* MMDS adalah jenis MDS yang mempertahankan akurasi metrik dalam perhitungan jarak antara objek.
* MMDS bertujuan untuk memastikan bahwa jarak antara objek dalam representasi ruang dimensi rendah sesuai dengan jarak dalam ruang asli.
* MMDS sering digunakan ketika kualitas representasi jarak metrik bersifat sangat penting.

D. Principal Coordinates Analysis (PCoA)
* PCoA adalah teknik yang serupa dengan MDS dan digunakan untuk mengurangkan dimensi data, tetapi dalam konteks analisis jarak pada data biologis atau ekologis.
* PCoA bertujuan untuk memvisualisasikan kesamaan atau perbedaan antara data dalam analisis lingkungan.

Setiap jenis MDS memiliki kegunaan dan asumsi yang berbeda, dan pemilihan jenis MDS yang tepat tergantung pada sifat data dan tujuan analisis yang sobat Exsight gunakan.

Kelebihan dan Keterbatasan

Multidimensional Scaling (MDS) memiliki beberapa kelebihan dan keterbatasan, diantaranya:

Kelebihan

  1. Visualisasi Data
    Data yang kompleks dapat divisualisasikan secara lebih sederhana dengan MDS, sehingga mempermudah pemahaman dan interpretasi data.
  2. Pemahaman Struktur Data
    Metode MDS memudahkan dalam melihat struktur dan pola data yang sulit dilihat dalam dimensi aslinya sehingga MDS dapat membantu dalam mengidentifikasi kelompok atau hubungan antara data.
  3. Kompresi Data
    MDS dapat mengurangi dimensi data tanpa kehilangan informasi yang signifikan.

Keterbatasan

Multidimensional Scaling (MDS) sangat berguna untuk eksplorasi data dan pengurangan dimensi data, namun metode MDS juga memiliki batasan yang perlu diwaspadai, diantaranya.

  1. Sensitivitas Terhadap Data Awal
    Hasil metode MDS sangat bergantung pada matriks jarak yang digunakan. Kualitas hasil MDS dapat buruk jika matriks jarak tidak tepat atau memiliki kesalahan.
  2. Pemilihan Metrik
    Metode MDS bergantung pada pemilihan metrik. Pemilihan metrik digunakan untuk mengukur jarak atau kesamaan antara objek data. Metrik yang salah dapat menghasilkan output yang salah.
  3. Kurang Efektif untuk Data Besar
    MDS kurang efektif ketika digunakan pada dataset yang sangat besar dikarenakan adanya kompleksitas pada perhitungan.

Referensi

Siena, I., Rusgiyono, A., & Ispriyanti, D. (2020). Pengelompokkan Kabupaten-Kota dalam Produksi Daging Ternak di Jawa Tengah Tahun 2016-2018 Menggunakan Metode Multidimensional Scaling. Jurnal Gaussian, Vol.9, No.4.

Hout, M., Papesh, M., & Goldinger, S. (2013). Multidimensional Scaling. Wiley Interdiscip Rev Cogn Sci, 93-103.

Demikian penjelasan terkait Pengenalan Multidimensional Scaling. Apabila masih ada yang dibingungkan bisa langsung saja ramaikan kolom komentar atau hubungi admin melalui tombol bantuan di kanan bawah. Stay tuned di website https://exsight.id/blog/ agar tidak ketinggalan artikel-artikel menarik lainnya.

Algoritma XGBoost dalam Machine Learning #1

Hai sobat Exsight, artikel kali ini kita akan membahas suatu algoritma machine learning yang cukup populer karena beberapa keunggulannya, algoritma ini bernama XGBoost. Pada artikel ini nantinya akan dibahas terkait definisi, konsep dasar, komponen-komponen, kelebihan & keterbatasan, serta aplikasi XGBoost dalam berbagai bidang. Langsung saja, simak artikel ini dengan seksama yaa!

Definisi

XGBoost atau Extreme Gradient Boosting merupakan suatu algoritma machine learning yang dikenal karena kemampuannya dalam menangani berbagai jenis analisis, seperti halnya klasifikasi dan regresi, maupun dalam data science.

XGBoost bekerja dengan cara menggabungkan (ensemble) hasil prediksi dari berbagai model Decision Tree sehingga menjadi model dengan akurasi dan kinerja yang cukup baik.

Komponen XGBoost

XGBoost terdiri atas beberapa komponen utama sebagai dasar dari algoritma ini, yaitu sebagai berikut:

A. Objective Function
Objective Function digunakan untuk mengukur seberapa cocok model XGBoost dengan data training. Objective Function memiliki 2 bagian utama, yaitu Loss Function dan Komponen Regularisasi.

  1. Loss Function
    Loss Function adalah bagian dari objective function yang mengukur seberapa besar kesalahan prediksi model terhadap data training. Loss function terdiri atas beberapa variasi tergantung pada jenis analisis yang dilakukan, seperti klasifikasi maupun regresi.
  2. Komponen Regularisasi
    Komponen Regularisasi digunakan untuk membantu mengendalikan kompleksitas model dan mencegah model terlalu sensitif terhadap data training. Jenis komponen yang biasa digunakan dalam XGBoost untuk mencegah overfitting diantaranya regularisasi L1 (Lasso) dan L2 (Ridge).

B. Decision Tree
XGBoost menggunakan decision tree sebagai komponen dasar dalam modelnya. Penjelasan tentang Decision Tree, sudah pernah dibahas pada artikel Decision Tree #1.
Algoritma XGBoost menggabungkan hasil prediksi dari beberapa decision tree. Tree (pohon) pertama membuat prediksi awal, dan kemudian tree (pohon) berikutnya membuat prediksi berdasarkan kesalahan (residual) dari prediksi sebelumnya.

C. Weighted Quantile Sketch (Penggabungan Bobot Kuantil)
Weighted Quantile Sketch merupakan komponen dalam XGBoost yang digunakan untuk mengatasi dataset dengan bobot yang berbeda-beda dan membantu dalam pembentukan decision tree yang lebih baik dan efisien.

Kelebihan dan Keterbatasan

Sebagai salah satu algoritma machine learning yang cukup populer, XGBoost memiliki beberapa kelebihan dan keterbatasan.

Kelebihan

  1. Kinerja Tinggi
    XGBoost memiliki kinerja yang sangat baik dalam berbagai jenis analisis, seperti klasifikasi dan regresi. Algoritma XGBoost seringkali menghasilkan model yang lebih akurat daripada algoritma lainnya dalam machine learning.
  2. Mampu Menangani Data yang Tidak Seimbang
    Algoritma XGBoost dapat menangani ketidakseimbangan antara jumlah sampel dalam kelas-kelas yang berbeda dalam dataset.
  3. Mampu Mencegah Overfitting
    XGBoost beguna dalam mencegah terjadinya overfitting, hal ini dikarenakan adanya komponen regularisasi pada XGBoost.

Keterbatasan

  1. Sensitif Terhadap Parameter
    XGBoost memiliki beberapa parameter yang perlu diatur dengan cermat. Pemilihan parameter yang tidak tepat dapat menghasilkan model yang buruk.
  2. Kinerja yang Kurang Baik pada Data Kecil
    XGBoost cenderung memiliki kinerja yang kurang baik pada dataset yang sangat kecil. Hal ini dikarenakan algoritma XGBoost dirancang pada jumlah data yang besar untuk membuat prediksi yang kuat.
  3. Waktu Komputasi yang Lama
    Algoritma XGBoost seringkali membutuhkan waktu komputasi yang agak lama, hal ini seringkali dipengaruhi karena penggunaan dataset yang besar pada algoritma XGBoost.

Penerapan XGBoost

XGBoost merupakan algoritma machine learning yang serbaguna dan dapat diterapkan dalam berbagai bidang. Berikut adalah beberapa contoh aplikasi penerapan XGBoost.

1. Klasifikasi Pinjaman Kredit
XGBoost dapat membantu Bank dan lembaga keuangan dalam pengambilan keputusan terkait pemberian pinjaman. XGboost berperan dalam mengklasifikasikan aplikasi kredit menjadi “risiko tinggi” atau “risiko rendah” berdasarkan riwayat kredit, penghasilan, dan faktor-faktor lainnya.

XGBoost

2. Deteksi Penipuan Kartu Kredit
Algoritma XGBoost dapat digunakan untuk mendeteksi transaksi penipuan dalam data kartu kredit. Algoritma ini dapat mempelajari pola-pola yang mencurigakan dan mengidentifikasi transaksi kartu kredit yang tidak sah.

XGBoost

3. Diagnostik Kesehatan
XGBoost dapat diterapkan dalam bidang kesehatan untuk membuat model yang dapat mendiagnosis penyakit berdasarkan gejala dan riwayat medis pasien.

XGBoost

Referensi

Chen, T., & Guestrin, C. (2016). XGBoost: A Scalable Tree Boosting System. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.

Dachi, J., & Sitompul, P. (2023). Analisis Perbandingan Algoritma XGBoost dan Algoritma Random Forest Ensemble Learning pada Klasifikasi Keputusan Kredit. Jurnal Riset Rumpun Matematika dan Ilmu Pengetahuan Alam (JURRIMIPA), Vol.2, No.2.

Sampai disini dulu penjelasan terkait XGBoost. Apabila masih ada yang dibingungkan bisa langsung saja ramaikan kolom komentar atau hubungi admin melalui tombol bantuan di kanan bawah. Stay tuned di website https://exsight.id/blog/ agar tidak ketinggalan artikel-artikel menarik lainnya.

Klik Daftar Isi Disini