Monday, June 17, 2024

Mengaplikasikan Klasifikasi Naive Bayes untuk Menganalisis Kualitas Jeruk


Naive Bayes adalah sebuah algoritma prediksi berbasis probabilistik sederhana yang berdasar pada penerapan Teorema Bayes dengan asumsi independensi fitur. Algoritma ini digunakan untuk melakukan klasifikasi dan prediksi berdasarkan probabilitas keanggotaan suatu kelas. Naive Bayes tidak mempelajari fitur mana yang paling penting untuk membedakan antar kelas, melainkan menggunakan prinsip probabilitas untuk melakukan klasifikasi. Algoritma ini terbukti memiliki akurasi dan kecepatan yang tinggi saats diaplikasikan ke dalam database dengan data yang besar.

 

Apa itu Naïve Bayes Classifier?

Naive Bayes Classifier (NBC) adalah sebuah algoritma klasifikasi yang berbasis pada Teorema Bayes dan digunakan untuk memprediksi kelas suatu objek berdasarkan atribut-atribut yang terkait. NBC mengasumsikan bahwa atribut-atribut tersebut independen dan menggunakan perhitungan probabilitas untuk mengklasifikasikan objek ke dalam kelas yang paling sesuai.

 


Mengapa menggunakan Naïve Bayes Classifier?

Berikut beberapa alasan mengapa menggunakan Navie Bayes Classifier (NBC):

1.Sederhana dan mudah diterapkan: NBC memiliki struktur yang sederhana dan mudah dipahami, sehingga mudah untuk diimplementasikan dan diintegrasikan dengan sistem lain.

2.Tidak membutuhkan banyak data pelatihan: NBC dapat bekerja dengan jumlah data pelatihan yang relatif kecil, sehingga sangat berguna ketika data yang tersedia terbatas

3.Menangani data kontinu dan diskrit: NBC dapat menghandle data yang berupa bilangan bulat, decimal, dan kategori, sehingga sangat berguna dalam berbagai aplikasi.

4.Sangat skalabel: NBC dapat digunakan untuk jumlah prediktor dan titik data yang besar, sehingga sangat berguna dalam aplikasi yang memerlukan skala besar.

5.Cepat dan dapat digunakan untuk membuat prediksi real-time: NBC dapat bekerja dengan cepat, sehingga sangat berguna dalam aplikasi yang memerlukan prediksi real-time.

6.Tidak sensitif terhadap fitur yang tidak relevan: NBC tidak terpengaruh oleh fitur yang tidak relevan, sehingga dapat meningkatkan akurasi prediksi

 

Penerapan Naïve Bayes pada Dataset Jeruk

Langkah pertama adalah mempersiapkan data. Dataset Jeruk bisa kita download di https://www.kaggle.com/datasets/shruthiiiee/orange-quality dan dapat diimpor menggunakan library seperti pandas di Python.


Lalu, kita dapat mengimpor library yang diperlukan untuk menerapkan Naïve Bayes menggunakan library sklearn yang telah disebutkan sebelumnya.

Selanjutnya, unggah dataset yang telah diunduh sebelumnya ke Google Drive dari https://www.kaggle.com/datasets/shruthiiiee/orange-quality Oleh karena itu, nanti kita akan mengimpor dataset nya melalui Google Drive.

Kemudian, kita bisa mengimport Dataset Jeruk dengan menggunakan G.drive


Dalam kasus ini, jalur yang disediakan menunjukkan bahwa file dataset disimpan di Google Drive.

Selanjutnya, kita dapat mengekstrak data dari Dataset Jeruk, yang memiliki 11 kategori, termasuk

{ Size, Weight, Brix, pH, Softness, HarvestTime, Ripeness, Color, Variety, Blemishes (Y/N), Quality }

 

Grafik batang bertanda “Jumlah Jeruk berdasarkan Warna” ditampilkan dalam gambar dibawah Grafik


ini menunjukkan jumlah berbagai kualitas jeruk dari rentang 1-5. Kualitas jeruk diwakili oleh sumbu x, sedangkan jumlah masing-masing warna ditunjukkan oleh sumbu y.


Poin penting :

Jingga adalah warna jeruk yang paling populer, diikuti oleh warna jingga muda dan jingga tua.

Varietas jingga-merah dan kuning-jingga kurang umum.


Detail tambahan:

Kemungkinan besar, koleksi jeruk yang diurutkan berdasarkan warna berfungsi sebagai dasar untuk grafik dan kita dapat membandingkan popularitas berbagai warna jingga dengan menggunakan grafik, lalu grafik ini juga dapat digunakan untuk memantau pergeseran dalam popularitas relatif berbagai warna jingga dari waktu ke waktu.

kemudian kita akan mengkodekan variabel kategori yang berada dalam dataset jeruk_ds menggunakan LabelEncoder dari library sklearn.preprocessing.

Tujuan dari proses ini adalah untuk mempersiapkan data kategori sehingga dapat digunakan dalam model machine learning atau analisis data lainnya yang membutuhkan input numerik, karena sebagian besar algoritma hanya dapat memproses data dalam bentuk numerik.

selanjutnya kita akan melakukan beberapa transformasi pada dataset jeruk_ds terkait kolom 'Quality (1-5)' dan menyiapkan data untuk digunakan dalam analisis atau pemodelan lebih lanjut.

Setelah transformasi ini, kolom 'Quality' dalam jeruk_ds berisi nilai kategori diskrit sesuai dengan bin dan label yang telah ditentukan.

lalu lakukan Define feature columns dan target column sebagai berikut:

Dengan menentukan feature columns dan target column, kita siap untuk menggunakan X sebagai input untuk pemodelan dan y sebagai target yang akan diprediksi atau dianalisis. Langkah ini penting dalam mempersiapkan data sebelum dilakukan proses pemodelan atau analisis lebih lanjut.

setelah itu kita akan memisahkan dataset menjadi set pelatihan (training set) dan set pengujian (test set) lalu menggunakan fungsi train_test_split dari library sklearn.model_selection, lalu inisialisasi dan latih Naive Bayes classifier, lakukan prediksi dengan menggunakan Naive Bayes classifier yang telah dilatih sebelumnya pada data test,setelah lakukan prediksi kita akan mengevaluasi kinerja dari model klasifikasi dengan membandingkan nilai prediksi yang dihasilkan dengan nilai sebenarnya dari test set.


Confusion matrix akan berbentuk matriks dengan baris dan kolom yang mewakili label kelas. Contohnya, jika Anda memiliki 5 kelas (misalnya kelas 1, 2, 3, 4, dan 5), maka confusion matrix akan memiliki dimensi 5x5. Nilai di dalam matriks akan menunjukkan jumlah prediksi yang benar dan salah untuk setiap pasangan kelas (misalnya, berapa banyak sampel yang diklasifikasikan sebagai kelas 1 yang sebenarnya adalah kelas 1, dan sebagainya).


setelah semua itu selesai kita akan menghitung akurasi dari model klasifikasi tersebut.

Ini adalah salah satu metrik evaluasi yang paling umum digunakan untuk model klasifikasi, tetapi perlu diperhatikan bahwa akurasi mungkin tidak selalu menjadi metrik yang paling informatif terutama jika dataset tidak seimbang (imbalance).

lalu kita akan membuat plot count (jumlah) dari jeruk berdasarkan warna mereka menggunakan sns.countplot dari library Seaborn.

Plot ini akan menampilkan jumlah perbandingan antara data jeruk awal dan setelah di prediksi untuk setiap kategori quality yang ada dalam dataset kita.

Keuntungan menggunakan Naive Bayes Classifier:

1. Mudah diimplementasikan: Naive Bayes Classifier relatif mudah untuk diimplemetasikan karena tidak menggunakan optimasi numerik, perhitungan matriks, dan lainnya.

2. Cepat: Algoritma ini cepat dalam membangun model dan membuat prediksi, sehingga dapat digunakan untuk prediksi real-time.

3. Efisien: Efisien dalam pelatihan dan penggunaannya, sehingga dapat digunakan untuk data binary atau polinom.

4. Bisa digunakan untuk klasifikasi multi-kelas: Naive Bayes Classifier dapat digunakan untuk memprediksi probabilitas posterior dari beberapa kelas variabel.

5. Banyak digunakan dalam aplikasi teks: Klasifikasi Naive Bayes banyak digunakan dalam klasifikasi teks, seperti penyaringan spam dan analisis sentimen, karena fitur prediksi multi-kelas.

6. Dapat digunakan untuk sistem rekomendasi: Naive Bayes Classifier dapat digunakan bersama dengan algoritma lain, seperti pemfilteran kolaboratif, untuk membuat sistem rekomendasi yang dapat menyaring informasi yang tidak terlihat dan memprediksi preferensi pengguna.

 

Kekurangan menggunakan Naive Bayes Classifier:

1. Perkiraan kemungkinan kelas yang tidak akurat: Kekurangan dari metode Naive Bayes adalah perkiraan kemungkinan kelas yang tidak akurat.

2. Batasan atau threshold harus ditentukan secara manual: Batasan atau threshold harus ditentukan secara manual, yang dapat mempengaruhi akurasi prediksi.

3. Kurang efektif untuk data kontinyu: Naive Bayes Classifier kurang efektif untuk data kontinyu karena memerlukan perhitungan densitas Gauss yang lebih kompleks.

 

Kesimpulan

Dengan menggunakan algoritma Naive Bayes, kita dapat mengklasifikasikan data jeruk berdasarkan berbagai fitur seperti ukuran, warna, berat, dan lain-lain untuk menentukan kualitas atau jenis jeruk tersebut.


 Script Klasifikasi : https://github.com/Fhanafii/Klasifikasi-NaiveBayes-menggunakan-dataset-Jeruk

0 comments:

Post a Comment