Karena secara umum, naif bayes alogorithms yang diterapkan oleh sebagian besar perpustakaan tidak mendukung klasifikasi multilabel. Meskipun Anda dapat merancang algoritma Anda sendiri mengambil inspirasi dari pendekatan bayes naif.
Untuk kelas c tertentu, dan dokumentasikan d (dengan 3 kata w1, w2, w3)
'/' adalah kependekan dari 'diberikan' p (a / b) = probabilitas (a diberikan b)
Sesuai teorema bayes.
p (c / d) = p (c, d) / p (d)
p (c / d) = (p (c) * p (d / c)) / p (d)
dimana:
p (d / c) = p (w1 / c) * p (w2 / c) * p (w3 / c)
Karena kata-kata diasumsikan independen satu sama lain.
Dan p (w1 / c) dapat diperoleh dengan menggunakan kode Anda, menghitung jumlah w1 di dalam dokumen kelas c dibagi dengan jumlah keseluruhan w1 di semua dokumen atau Anda dapat menggunakan logika Anda sendiri
Tetapi jika ingin menghindari penulisan kode detail
Anda dapat menyusun ulang data input Anda untuk mencapai klasifikasi multilabel. sedemikian rupa sehingga dokumen yang diberikan d dengan n label / kelas (misalnya d berlabel dengan c1, c2, c3) dapat diperluas menjadi data n sampel (3 di sini) dokumen yang sama d dengan label yang berbeda setiap kali ((d, c1), ( d, c2), (d, c3)). Sekarang Anda dapat meneruskan data ini ke pustaka R / python mana pun yang mendukung multinomial naive bayes. Hal yang sama perlu dilakukan dalam dataset Anda juga. Saat ini, Anda melewatkan $ traindata topik yang merupakan variabel y (label pelatihan) apa adanya, tanpa modifikasi.
Bahkan setelah Anda melatih data Anda menggunakan pendekatan ini. Anda perlu menggunakan ambang probabilitas mis. 0,2, sehingga label kelas dengan probabilitas di atas 0,2 akan ditugaskan untuk dokumen tes tersebut.
Pendekatan yang lebih baik yang membutuhkan restrukturisasi input Anda
Jika Anda memiliki label kelas 'n' maka Anda dapat melatih 'n' classifier biner naive bayes yang berbeda untuk masing-masing kelas. Misalnya, untuk melatih classifier untuk kelas 'c1', Anda melatih classifier naif bayes dengan variabel dependen Y yang menunjukkan keberadaan kelas c1 pada dokumen itu sebagai '1' dan absen sebagai '0'.
Setelah Anda melatih 'n' binary bayes naive classifier menggunakan pendekatan ini. Anda sekarang akan menggunakan output dari n classifier ini. misalnya jika di luar ini, n classifier, jika classifier tertentu, yang sesuai dengan kelas 'c1' memiliki probabilitas output di atas 0,5, maka label kelas 'c1' akan ditugaskan untuk dokumen uji ini.