Penjelasan Naive Bayes: Fungsi, Kelebihan & Kekurangan, Aplikasi di 2022
Diterbitkan: 2021-01-05Naive Bayes adalah algoritma pembelajaran mesin yang kami gunakan untuk menyelesaikan masalah klasifikasi. Ini didasarkan pada Teorema Bayes. Ini adalah salah satu algoritma ML paling sederhana namun kuat yang digunakan dan menemukan aplikasi di banyak industri.
Misalkan Anda harus memecahkan masalah klasifikasi dan telah membuat fitur dan menghasilkan hipotesis, tetapi atasan Anda ingin melihat modelnya. Anda memiliki banyak titik data (lakh titik data) dan banyak variabel untuk melatih kumpulan data. Solusi terbaik untuk situasi ini adalah dengan menggunakan pengklasifikasi Naive Bayes, yang cukup cepat dibandingkan dengan algoritma klasifikasi lainnya.
Pada artikel ini, kita akan membahas algoritma ini secara rinci dan mencari tahu cara kerjanya. Kami juga akan membahas kelebihan dan kekurangannya bersama dengan aplikasi dunia nyata untuk memahami betapa pentingnya algoritme ini.
Bergabunglah dengan Kursus Pembelajaran Mendalam online dari Universitas top dunia – Magister, Program Pascasarjana Eksekutif, dan Program Sertifikat Tingkat Lanjut di ML & AI untuk mempercepat karier Anda.
Mari kita mulai:
Daftar isi
Penjelasan Naive Bayes
Naive Bayes menggunakan Teorema Bayes dan mengasumsikan bahwa semua prediktor adalah independen. Dengan kata lain, pengklasifikasi ini mengasumsikan bahwa kehadiran satu fitur tertentu dalam suatu kelas tidak mempengaruhi kehadiran fitur lainnya.

Berikut ini contohnya: Anda akan menganggap buah berwarna oranye jika bulat, oranye, dan berdiameter sekitar 3,5 inci. Sekarang, bahkan jika fitur-fitur ini saling membutuhkan, mereka semua berkontribusi secara independen pada asumsi Anda bahwa buah khusus ini berwarna oranye. Itu sebabnya algoritma ini memiliki 'Naif' dalam namanya.
Membangun model Naive Bayes cukup sederhana dan membantu Anda bekerja dengan kumpulan data yang luas. Selain itu, persamaan ini populer untuk mengalahkan banyak teknik klasifikasi tingkat lanjut dalam hal kinerja.
Berikut persamaan untuk Naive Bayes:
P (c|x) = P(x|c) P(c) / P(x)
P(c|x) = P(x1 | c) x P(x2 | c) x … P(xn | c) x P(c)
Di sini, P (c|x) adalah probabilitas posterior menurut prediktor (x) untuk kelas (c). P(c) adalah probabilitas awal dari kelas, P(x) adalah probabilitas sebelumnya dari prediktor, dan P(x|c) adalah probabilitas dari prediktor untuk kelas tertentu(c).
Selain mempertimbangkan independensi setiap fitur, Naive Bayes juga menganggap bahwa mereka berkontribusi sama. Ini adalah poin penting untuk diingat.
Bagaimana Naive Bayes Bekerja?
Untuk memahami bagaimana Naive Bayes bekerja, kita harus membahas sebuah contoh.
Misalkan kita ingin mencari mobil curian dan memiliki dataset berikut:
Nomor Seri | Warna | Jenis | Asal | Apakah itu Dicuri? |
1 | merah | Olahraga | Lokal | Ya |
2 | merah | Olahraga | Lokal | Tidak |
3 | merah | Olahraga | Lokal | Ya |
4 | Kuning | Olahraga | Lokal | Tidak |
5 | Kuning | Olahraga | Impor | Ya |
6 | Kuning | SUV | Impor | Tidak |
7 | Kuning | SUV | Impor | Ya |
8 | Kuning | SUV | Lokal | Tidak |
9 | merah | SUV | Impor | Tidak |
10 | merah | Olahraga | Impor | Ya |
Menurut dataset kami, kami dapat memahami bahwa algoritme kami membuat asumsi berikut:
- Diasumsikan bahwa setiap fitur adalah independen. Misalnya, warna 'Kuning' mobil tidak ada hubungannya dengan Asal atau Jenisnya.
- Ini memberi setiap fitur tingkat kepentingan yang sama. Misalnya, mengetahui hanya Warna dan Asal akan memprediksi hasilnya dengan benar. Itu sebabnya setiap fitur sama pentingnya dan berkontribusi sama pada hasilnya.
Sekarang, dengan dataset kami, kami harus mengklasifikasikan apakah pencuri mencuri mobil berdasarkan fitur-fiturnya. Setiap baris memiliki entri individu, dan kolom mewakili fitur setiap mobil. Di baris pertama, kami memiliki Mobil Sport Merah curian dengan Asal Domestik. Kami akan mencari tahu apakah pencuri akan mencuri SUV Domestik Merah atau tidak (dataset kami tidak memiliki entri untuk SUV Domestik Merah).
Kita dapat menulis ulang Teorema Bayes untuk contoh kita sebagai:
P(y | X) = [P(X | y) P(y)P(X)]/P(X)
Di sini, y adalah singkatan dari variabel kelas (Apakah Dicuri?) untuk menunjukkan jika pencuri mencuri mobil tidak sesuai dengan kondisi. X adalah singkatan dari fitur.
X = x1, x2, x3, …., xn)
Di sini, x1, x2,…, xn adalah singkatan dari fitur. Kita bisa memetakannya menjadi Type, Origin, dan Color. Sekarang, kita akan mengganti X dan memperluas aturan rantai untuk mendapatkan yang berikut:
P(y | x1, …, xn) = [P(x1 | y) P(x2 | y) … P(xn | y) P(y)]/[P(x1) P (x2) … P(xn )]
Anda bisa mendapatkan nilai untuk masing-masing dengan menggunakan kumpulan data dan memasukkan nilainya ke dalam persamaan. Penyebut akan tetap statis untuk setiap entri dalam kumpulan data untuk menghapusnya dan menyuntikkan proporsionalitas.
P(y | x1, …, xn) P(y) i = 1nP(xi | y)
Dalam contoh kita, y hanya memiliki dua hasil, ya atau tidak.
y = argmaxyP(y) i = 1nP(xi | y)
Kita dapat membuat Tabel Frekuensi untuk menghitung probabilitas posterior P(y|x) untuk setiap fitur. Kemudian, kita akan membentuk tabel frekuensi menjadi Tabel Kemungkinan dan menggunakan persamaan Naive Bayesian untuk menemukan probabilitas posterior setiap kelas. Hasil prediksi kami adalah kelas yang memiliki probabilitas posterior tertinggi. Berikut Tabel Kemungkinan dan Frekuensi:
Tabel Frekuensi Warna:
Warna | Apakah itu Dicuri (Ya) | Apakah itu Dicuri (Tidak) |
merah | 3 | 2 |
Kuning | 2 | 3 |
Tabel Kemungkinan Warna:

Warna | Apakah Dicuri [P(Ya)] | Apakah Dicuri [P(Tidak)] |
merah | 3/5 | 2/5 |
Kuning | 2/5 | 3/5 |
Tabel Frekuensi Jenis:
Jenis | Apakah itu Dicuri (Ya) | Apakah itu Dicuri (Tidak) |
Olahraga | 4 | 2 |
SUV | 1 | 3 |
Tabel Kemungkinan Jenis:
Jenis | Apakah Dicuri [P(Ya)] | Apakah Dicuri [P(Tidak)] |
Olahraga | 4/5 | 2/5 |
SUV | 1/5 | 3/5 |
Tabel Frekuensi Asal:
Asal | Apakah itu Dicuri (Ya) | Apakah itu Dicuri (Tidak) |
Lokal | 2 | 3 |
Impor | 3 | 2 |
Tabel Kemungkinan Asal:
Asal | Apakah Dicuri [P(Ya)] | Apakah Dicuri [P(Tidak)] |
Lokal | 2/5 | 3/5 |
Impor | 3/5 | 2/5 |
Masalah kita memiliki 3 prediktor untuk X, jadi menurut persamaan yang kita lihat sebelumnya, probabilitas posterior P(Ya | X) adalah sebagai berikut:
P(Ya | X) = P(Merah | Ya) * P(SUV | Ya) * P(Domestik | Ya) * P(Ya)
= x x x 1
= 0,048
P(Tidak | X) akan menjadi:
P(Tidak | X) = P(Merah | Tidak) * P(SUV | Tidak) * P(Domestik | Tidak) * P(Tidak)
= x x x 1
= 0,144
Jadi, karena probabilitas posterior P(Tidak | X) lebih tinggi dari probabilitas posterior P(Ya | X), SUV Domestik Merah kami akan memiliki 'Tidak' di kolom 'Apakah dicuri?' bagian.
Contoh seharusnya menunjukkan kepada Anda bagaimana Naive Bayes Classifier bekerja. Untuk mendapatkan gambaran yang lebih baik tentang Naive Bayes yang dijelaskan, sekarang kita harus membahas kelebihan dan kekurangannya:
Keuntungan dan Kerugian dari Naive Bayes
Keuntungan
- Algoritma ini bekerja dengan cepat dan dapat menghemat banyak waktu.
- Naive Bayes cocok untuk memecahkan masalah prediksi multi-kelas.
- Jika asumsi independensi fiturnya benar, ia dapat berkinerja lebih baik daripada model lain dan membutuhkan lebih sedikit data pelatihan.
- Naive Bayes lebih cocok untuk variabel input kategoris daripada variabel numerik.
Kekurangan
- Naive Bayes mengasumsikan bahwa semua prediktor (atau fitur) adalah independen, jarang terjadi dalam kehidupan nyata. Ini membatasi penerapan algoritme ini dalam kasus penggunaan di dunia nyata.
- Algoritme ini menghadapi 'masalah frekuensi-nol' di mana ia memberikan probabilitas nol untuk variabel kategoris yang kategorinya dalam kumpulan data pengujian tidak tersedia dalam kumpulan data pelatihan. Akan lebih baik jika Anda menggunakan teknik smoothing untuk mengatasi masalah ini.
- Estimasinya bisa salah dalam beberapa kasus, jadi Anda tidak boleh menganggap keluaran probabilitasnya terlalu serius.
Lihat: Model Pembelajaran Mesin Dijelaskan
Aplikasi Naive Bayes Dijelaskan
Berikut adalah beberapa area di mana algoritma ini menemukan aplikasi:

Klasifikasi Teks
Sebagian besar waktu, Naive Bayes menemukan penggunaan klasifikasi dalam teks karena asumsi kemandirian dan kinerja tinggi dalam memecahkan masalah multi-kelas. Ia menikmati tingkat keberhasilan yang tinggi daripada algoritme lain karena kecepatan dan efisiensinya.
Analisis Sentimen
Salah satu bidang pembelajaran mesin yang paling menonjol adalah analisis sentimen, dan algoritme ini juga cukup berguna di sana. Analisis sentimen berfokus pada mengidentifikasi apakah pelanggan berpikir positif atau negatif tentang topik tertentu (produk atau layanan).
Sistem Rekomendasi
Dengan bantuan Collaborative Filtering, Naive Bayes Classifier membangun sistem rekomendasi yang kuat untuk memprediksi apakah pengguna menginginkan produk (atau sumber daya) tertentu atau tidak. Amazon, Netflix, dan Flipkart adalah perusahaan terkemuka yang menggunakan sistem rekomendasi untuk menyarankan produk kepada pelanggan mereka.
Pelajari Lebih Banyak Algoritma Pembelajaran Mesin
Naive Bayes adalah algoritma pembelajaran mesin yang sederhana dan efektif untuk memecahkan masalah multi-kelas. Ini menemukan kegunaan di banyak bidang aplikasi pembelajaran mesin yang menonjol seperti analisis sentimen dan klasifikasi teks.
Lihat Program Sertifikasi Lanjutan dalam Pembelajaran Mesin & Cloud dengan IIT Madras, sekolah teknik terbaik di negara ini untuk membuat program yang mengajarkan Anda tidak hanya pembelajaran mesin tetapi juga penerapannya secara efektif menggunakan infrastruktur cloud. Tujuan kami dengan program ini adalah untuk membuka pintu institut paling selektif di negara ini dan memberi pelajar akses ke fakultas & sumber daya yang luar biasa untuk menguasai keterampilan yang tinggi & berkembang
Apa itu algoritma naive bayes?
Untuk menangani kesulitan kategorisasi, kami menggunakan teknik pembelajaran mesin Naive Bayes. Teorema Bayes mendukungnya. Ini adalah salah satu algoritma pembelajaran mesin paling dasar namun kuat yang digunakan, dengan aplikasi di berbagai industri. Katakanlah Anda sedang mengerjakan masalah klasifikasi dan Anda telah menetapkan fitur dan hipotesis, tetapi atasan Anda ingin melihat modelnya. Untuk melatih kumpulan data, Anda memiliki sejumlah besar titik data (ribuan titik data) dan sejumlah besar variabel. Pengklasifikasi Naive Bayes, yang jauh lebih cepat daripada algoritma klasifikasi lainnya, akan menjadi pilihan terbaik dalam situasi ini.
Apa keuntungan dan kerugian dari naive bayes?
Untuk masalah prediksi multi-kelas, Naive Bayes adalah pilihan yang baik. Jika premis independensi fitur tetap benar, itu dapat mengungguli model lain saat menggunakan data pelatihan yang jauh lebih sedikit. Variabel input kategoris lebih cocok untuk Naive Bayes daripada variabel input numerik.
Di Naive Bayes, semua prediktor (atau sifat) diasumsikan independen, yang jarang terjadi dalam kehidupan nyata. Ini membatasi kegunaan algoritme dalam skenario dunia nyata. Anda tidak boleh menganggap serius keluaran probabilitasnya karena estimasinya bisa salah dalam beberapa kasus.
Apa sajakah aplikasi naive bayes di dunia nyata?
Karena premis otonomi dan kinerja tinggi dalam mengatasi masalah multi-kelas, Naive Bayes sering digunakan dalam klasifikasi teks. Analisis sentimen adalah salah satu aplikasi pembelajaran mesin yang paling populer, dan teknik ini juga dapat membantu. Tujuan dari analisis sentimen adalah untuk menentukan apakah pelanggan memiliki perasaan yang menyenangkan atau negatif tentang masalah tertentu (produk atau layanan). Naive Bayes Classifier menggunakan Collaborative Filtering untuk membuat sistem rekomendasi canggih yang dapat memprediksi apakah pengguna akan menikmati produk (atau sumber daya) yang diberikan atau tidak.