Rumah pembangunan bahagian belakang Tutorial Python Contoh Naive Bayes dalam Python

Contoh Naive Bayes dalam Python

Jun 09, 2023 pm 11:36 PM
pengaturcaraan python Naif Bayes Contoh demonstrasi

Python ialah bahasa pengaturcaraan yang ringkas dan mudah dipelajari dengan perpustakaan pengkomputeran saintifik yang kaya dan alatan pemprosesan data. Antaranya, algoritma Naive Bayes, sebagai kaedah pembelajaran mesin klasik, juga digunakan secara meluas dalam bahasa Python. Artikel ini akan menggunakan contoh untuk memperkenalkan penggunaan dan langkah Naive Bayes dalam Python.

  1. Pengenalan kepada Naive Bayes

Algoritma Naive Bayes ialah algoritma pengelasan berdasarkan teorem Bayes Idea terasnya ialah menggunakan data latihan yang diketahui Ciri-ciri set digunakan untuk membuat kesimpulan keputusan klasifikasi data baharu. Dalam aplikasi praktikal, algoritma Naive Bayes sering digunakan dalam senario seperti klasifikasi teks, penapisan spam dan analisis sentimen.

Ciri algoritma Naive Bayes ialah ia menganggap bahawa setiap ciri adalah bebas antara satu sama lain. Andaian ini selalunya tidak benar dalam situasi sebenar, jadi algoritma Naive Bayes dipanggil "naif". Walaupun andaian ini, Naive Bayes masih menunjukkan prestasi yang baik dalam masalah seperti klasifikasi teks pendek.

  1. Menggunakan Pengelas Naive Bayes

Dalam Python, langkah-langkah untuk menggunakan Pengelas Naive Bayes boleh diringkaskan seperti berikut:

2.1 Sediakan data

Pertama, anda perlu menyediakan data latihan dan data ujian untuk diklasifikasikan. Data ini boleh dalam bentuk teks, gambar, audio dan sebagainya, tetapi ia perlu ditukar kepada bentuk yang boleh difahami oleh komputer. Dalam masalah klasifikasi teks, selalunya perlu untuk menukar teks kepada perwakilan vektor.

2.2 Model latihan

Seterusnya, anda perlu menggunakan set data latihan untuk membina pengelas Naive Bayes. Terdapat tiga pengelas Bayes naif yang biasa digunakan dalam Python:

  • GaussianNB: sesuai untuk pengelasan data berterusan.
  • BernoulliNB: Sesuai untuk klasifikasi data binari.
  • MultinomialNB: Sesuai untuk pengelasan data multivariate.

Mengambil klasifikasi teks sebagai contoh, anda boleh menggunakan kelas TfidfVectorizer yang disediakan oleh perpustakaan sklearn untuk menukar teks kepada perwakilan vektor dan menggunakan pengelas MultinomialNB untuk latihan.

2.3 Model ujian

Selepas latihan selesai, set data ujian perlu digunakan untuk menilai prestasi model. Biasanya, set data ujian dan set data latihan adalah bebas. Perlu diingatkan bahawa data daripada set data latihan tidak boleh digunakan semasa ujian. Anda boleh menggunakan fungsi accuracy_score yang disediakan oleh perpustakaan sklearn untuk mengira ketepatan model.

  1. Contoh: Pengelasan teks berdasarkan Naive Bayes

Untuk menunjukkan aplikasi praktikal pengelas Naive Bayes, artikel ini menggunakan pengelasan teks berasaskan Naive Bayes Contohnya.

3.1 Sediakan data

Pertama, cari dua set data teks daripada Internet, iaitu "Berita Sukan" dan "Berita Teknologi", setiap set data mengandungi 1000 teks. Letakkan dua set data ke dalam folder yang berbeza dan labelkan teks sebagai "Sukan" dan "Teknologi" masing-masing.

3.2 Gunakan perpustakaan sklearn untuk pengelasan

Seterusnya, gunakan pengelas Bayes naif yang disediakan oleh perpustakaan sklearn untuk pengelasan.

(1) Import perpustakaan berkaitan

from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score
import os
Salin selepas log masuk

(2) Baca data teks dan anotasinya

def read_files(path):
    text_list = []
    label_list = []
    for root, dirs, files in os.walk(path):
        for file in files:
            file_path = os.path.join(root, file)
            with open(file_path, 'r', encoding='utf-8') as f:
                text = ''.join(f.readlines())
                text_list.append(text)
                if '体育' in file_path:
                    label_list.append('体育')
                elif '科技' in file_path:
                    label_list.append('科技')
    return text_list, label_list
Salin selepas log masuk

(3) Tukar teks kepada perwakilan vektor

def text_vectorizer(text_list):
    vectorizer = TfidfVectorizer()
    X = vectorizer.fit_transform(text_list)
    return X, vectorizer
Salin selepas log masuk

(4) Latih model dan kembalikan ketepatan

def train(text_list, label_list):
    X, vectorizer = text_vectorizer(text_list)
    y = label_list
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
    clf = MultinomialNB()
    clf.fit(X_train, y_train)
    y_pred = clf.predict(X_test)
    acc = accuracy_score(y_test, y_pred)
    return clf, vectorizer, acc
Salin selepas log masuk

(5) Uji model

def predict(clf, vectorizer, text):
    X = vectorizer.transform(text)
    y_pred = clf.predict(X)
    return y_pred[0]
Salin selepas log masuk

3.3 Analisis keputusan

Jalankan kod di atas untuk mendapatkan ketepatan pengelas ialah 0.955. Apabila melakukan pengelasan sebenar, anda hanya perlu memasukkan teks untuk diklasifikasikan ke dalam fungsi ramalan untuk mengembalikan kategori yang dimilikinya. Sebagai contoh, masukkan teks "iPhone 12 akhirnya dikeluarkan!" untuk kembali ke kategori "Teknologi".

  1. Ringkasan

Sebagai algoritma pengelasan yang mudah dan berkesan, algoritma Naive Bayes juga digunakan secara meluas dalam Python. Artikel ini memperkenalkan kaedah dan langkah menggunakan pengelas Naive Bayes dan mengambil pengelasan teks berdasarkan Naive Bayes sebagai contoh untuk menunjukkan aplikasi praktikal pengelas tersebut. Dalam proses aplikasi sebenar, prapemprosesan data, pemilihan ciri dan operasi lain juga diperlukan untuk meningkatkan ketepatan pengelas.

Atas ialah kandungan terperinci Contoh Naive Bayes dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

AssertionError: Bagaimana untuk menyelesaikan ralat pernyataan Python? AssertionError: Bagaimana untuk menyelesaikan ralat pernyataan Python? Jun 25, 2023 pm 11:07 PM

Penegasan dalam Python ialah alat yang berguna untuk pengaturcara untuk menyahpepijat kod mereka. Ia digunakan untuk mengesahkan bahawa keadaan dalaman program memenuhi jangkaan dan menimbulkan ralat penegasan (AssertionError) apabila syarat ini palsu. Semasa proses pembangunan, penegasan digunakan semasa ujian dan penyahpepijatan untuk menyemak sama ada status kod sepadan dengan hasil yang dijangkakan. Artikel ini akan membincangkan punca, penyelesaian dan cara menggunakan penegasan dengan betul dalam kod anda. Punca ralat penegasan Pas ralat penegasan

Teknik persampelan berstrata dalam Python Teknik persampelan berstrata dalam Python Jun 10, 2023 pm 10:40 PM

Teknik Persampelan Berstrata dalam Persampelan Python ialah kaedah pengumpulan data yang biasa digunakan dalam statistik Ia boleh memilih sebahagian daripada sampel daripada set data untuk dianalisis untuk membuat kesimpulan ciri-ciri keseluruhan set data. Dalam era data besar, jumlah data adalah besar, dan menggunakan keseluruhan sampel untuk analisis adalah memakan masa dan tidak praktikal dari segi ekonomi. Oleh itu, pemilihan kaedah persampelan yang sesuai dapat meningkatkan kecekapan analisis data. Artikel ini terutamanya memperkenalkan teknik persampelan berstrata dalam Python. Apakah persampelan berstrata? Dalam persampelan, persampelan berstrata

Bagaimana untuk membangunkan pengimbas kerentanan dalam Python Bagaimana untuk membangunkan pengimbas kerentanan dalam Python Jul 01, 2023 am 08:10 AM

Gambaran keseluruhan cara membangunkan pengimbas kerentanan melalui Python Dalam persekitaran hari ini yang meningkatkan ancaman keselamatan Internet, pengimbas kerentanan telah menjadi alat penting untuk melindungi keselamatan rangkaian. Python ialah bahasa pengaturcaraan popular yang ringkas, mudah dibaca dan berkuasa, sesuai untuk membangunkan pelbagai alat praktikal. Artikel ini akan memperkenalkan cara menggunakan Python untuk membangunkan pengimbas kerentanan untuk menyediakan perlindungan masa nyata untuk rangkaian anda. Langkah 1: Tentukan Sasaran Imbasan Sebelum membangunkan pengimbas kerentanan, anda perlu menentukan sasaran yang ingin anda imbas. Ini boleh menjadi rangkaian anda sendiri atau apa sahaja yang anda mempunyai kebenaran untuk menguji

Cara menggunakan Python untuk skrip dan pelaksanaan di Linux Cara menggunakan Python untuk skrip dan pelaksanaan di Linux Oct 05, 2023 am 11:45 AM

Cara menggunakan Python untuk menulis dan melaksanakan skrip dalam Linux Dalam sistem pengendalian Linux, kita boleh menggunakan Python untuk menulis dan melaksanakan pelbagai skrip. Python ialah bahasa pengaturcaraan ringkas dan berkuasa yang menyediakan banyak perpustakaan dan alatan untuk menjadikan skrip lebih mudah dan lebih cekap. Di bawah ini kami akan memperkenalkan langkah asas cara menggunakan Python untuk penulisan dan pelaksanaan skrip dalam Linux, dan menyediakan beberapa contoh kod khusus untuk membantu anda memahami dan menggunakannya dengan lebih baik. Pasang Python

Penggunaan fungsi sqrt() dalam Python Penggunaan fungsi sqrt() dalam Python Feb 21, 2024 pm 03:09 PM

Contoh penggunaan dan kod fungsi sqrt() dalam Python 1. Fungsi dan pengenalan fungsi sqrt() Dalam pengaturcaraan Python, fungsi sqrt() ialah fungsi dalam modul matematik, dan fungsinya adalah untuk mengira punca kuasa dua bagi nombor. Punca kuasa dua bermaksud nombor yang didarab dengan sendirinya sama dengan kuasa dua nombor itu, iaitu, x*x=n, maka x ialah punca kuasa dua bagi n. Fungsi sqrt() boleh digunakan dalam atur cara untuk mengira punca kuasa dua. 2. Cara menggunakan fungsi sqrt() dalam Python, sq

Amalan pengaturcaraan Python: Cara menggunakan API Peta Baidu untuk menjana fungsi peta statik Amalan pengaturcaraan Python: Cara menggunakan API Peta Baidu untuk menjana fungsi peta statik Jul 30, 2023 pm 09:05 PM

Amalan pengaturcaraan Python: Cara menggunakan API Peta Baidu untuk menjana fungsi peta statik Pengenalan: Dalam masyarakat moden, peta telah menjadi bahagian yang amat diperlukan dalam kehidupan manusia. Apabila bekerja dengan peta, kami selalunya perlu mendapatkan peta statik kawasan tertentu untuk dipaparkan pada halaman web, apl mudah alih atau laporan. Artikel ini akan memperkenalkan cara menggunakan bahasa pengaturcaraan Python dan API Peta Baidu untuk menjana peta statik dan menyediakan contoh kod yang berkaitan. 1. Kerja-kerja penyediaan Bagi merealisasikan fungsi penjanaan peta statik menggunakan API Peta Baidu, I

Pengaturcaraan Python untuk menganalisis fungsi penukaran koordinat dalam dokumentasi API Peta Baidu Pengaturcaraan Python untuk menganalisis fungsi penukaran koordinat dalam dokumentasi API Peta Baidu Aug 01, 2023 am 08:57 AM

Pengaturcaraan Python untuk menganalisis fungsi penukaran koordinat dalam dokumentasi API Peta Baidu Pengenalan: Dengan perkembangan pesat Internet, fungsi penentududukan peta telah menjadi bahagian yang amat diperlukan dalam kehidupan orang moden. Sebagai salah satu perkhidmatan peta paling popular di China, Peta Baidu menyediakan satu siri API untuk digunakan oleh pembangun. Artikel ini akan menggunakan pengaturcaraan Python untuk menganalisis fungsi penukaran koordinat dalam dokumentasi API Peta Baidu dan memberikan contoh kod yang sepadan. 1. Pengenalan Dalam pembangunan, kita kadangkala melibatkan isu penukaran koordinat. AP Peta Baidu

Bagaimana untuk menulis algoritma analisis komponen utama PCA dalam Python? Bagaimana untuk menulis algoritma analisis komponen utama PCA dalam Python? Sep 20, 2023 am 10:34 AM

Bagaimana untuk menulis algoritma analisis komponen utama PCA dalam Python? PCA (Analisis Komponen Utama) ialah algoritma pembelajaran tanpa pengawasan yang biasa digunakan untuk mengurangkan dimensi data untuk memahami dan menganalisis data dengan lebih baik. Dalam artikel ini, kita akan belajar cara menulis algoritma analisis komponen utama PCA menggunakan Python dan memberikan contoh kod khusus. Langkah-langkah PCA adalah seperti berikut: Seragamkan data: Sifarkan min setiap ciri data dan laraskan varians kepada julat yang sama untuk memastikan

See all articles