国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

機(jī)器學(xué)習(xí)實(shí)驗 - 樸素貝葉斯分類器

這篇具有很好參考價值的文章主要介紹了機(jī)器學(xué)習(xí)實(shí)驗 - 樸素貝葉斯分類器。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

報告內(nèi)容僅供學(xué)習(xí)參考,請獨(dú)立完成作業(yè)和實(shí)驗喔~

一、報告摘要

1.1 實(shí)驗要求

(1)了解樸素貝葉斯與半樸素貝葉斯的區(qū)別與聯(lián)系,掌握高斯分布、多項式分布和伯努利分布的樸素貝葉斯計算方法。
(2)編程實(shí)現(xiàn)樸素貝葉斯分類器,基于多分類數(shù)據(jù)集,使用樸素貝葉斯分類器實(shí)現(xiàn)多分類預(yù)測,通過精確率、召回率和F1值度量模型性能。

1.2 實(shí)驗思路

\qquad 使用Python讀取數(shù)據(jù)集信息并生成對應(yīng)的樸素貝葉斯分類器,隨后使用生成的分類器實(shí)現(xiàn)多分類預(yù)測,并根據(jù)精確率、召回率和F1值度量模型性能。

1.3 實(shí)驗結(jié)論

\qquad 本實(shí)驗訓(xùn)練了一個高斯分布樸素貝葉斯分類器,并可獲得0.94以上的F1度量值,即可準(zhǔn)確的完成鳶尾花分類任務(wù)。

二、實(shí)驗內(nèi)容

2.1 方法介紹

(1)樸素貝葉斯
\qquad 樸素貝葉斯(Naive Bayes)是基于貝葉斯定理與特征獨(dú)立假設(shè)的分類方法。使用樸素貝葉斯方法時,首先基于訓(xùn)練數(shù)據(jù),基于特征條件獨(dú)立假設(shè)學(xué)習(xí)輸入與輸出的聯(lián)合概率分布;隨后對于給定的X,利用貝葉斯定理求解后驗概率最大的輸出標(biāo)簽。
樸素貝葉斯本質(zhì)屬于生成模型,學(xué)習(xí)生成數(shù)據(jù)的機(jī)制,也就是聯(lián)合概率分布。
(2)半樸素貝葉斯
\qquad 半樸素貝葉斯是適當(dāng)考慮一部分屬性之間的相互依賴信息,其中“獨(dú)依賴估計”(One-Dependent Estimator,簡稱ODE)是半樸素分類中最常用的一種策略。所謂“獨(dú)依賴估計”,也就是假設(shè)每個屬性在分類類別之外最多僅依賴于一個其他屬性。
\qquad 與基于特征的條件獨(dú)立性假設(shè)開展的樸素貝葉斯方法相比,其最大的區(qū)別就是半樸素貝葉斯算法放寬了條件獨(dú)立假設(shè)的限制,考慮部分屬性之間的相互依賴信息。但兩者有共同特點(diǎn):假設(shè)訓(xùn)練樣本所有屬性變量的值都已被觀測到,即訓(xùn)練樣本是完整的。
(3)高斯分布樸素貝葉斯計算方法
\qquad 使用條件:所有特征向量都是連續(xù)型特征變量且符合高斯分布。
\qquad 概率分布密度:
機(jī)器學(xué)習(xí)實(shí)驗 - 樸素貝葉斯分類器

(4)多項式樸素貝葉斯計算方法
\qquad 使用條件:所有的特征變量都是離散型變量且符合多項式分布。
\qquad 概率分布密度:
機(jī)器學(xué)習(xí)實(shí)驗 - 樸素貝葉斯分類器

(5)伯努利分布樸素貝葉斯計算方法
\qquad 使用條件:所有的特征變量都是離散型變量且符合伯努利分布。
\qquad 概率分布密度:

機(jī)器學(xué)習(xí)實(shí)驗 - 樸素貝葉斯分類器

2.2 實(shí)驗細(xì)節(jié)

2.2.1 實(shí)驗環(huán)境

硬件環(huán)境:Intel? Core? i5-10300H CPU + 16G RAM
軟件環(huán)境:Windows 11 家庭中文版 + Python 3.8

2.2.2 實(shí)驗過程

(1)劃分?jǐn)?shù)據(jù)集
\qquad 按照實(shí)驗要求,本次數(shù)據(jù)集劃分采用隨機(jī)劃分80%數(shù)據(jù)用于訓(xùn)練,其余20%數(shù)據(jù)用于測試。使用sklearn庫的train_test_split()方法劃分?jǐn)?shù)據(jù),代碼如下:

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

(2)訓(xùn)練樸素貝葉斯分類方法
\qquad 由于實(shí)驗數(shù)據(jù)中四個特征變量均為連續(xù)型特征變量,我們?nèi)绻枰褂酶咚狗植紭闼刎惾~斯的話,只需要驗證他是否符合高斯分布即可。這里使用Q-Q圖來驗證數(shù)據(jù)是否符合高斯分布,如果數(shù)據(jù)符合高斯分布,則該Q-Q圖趨近于落在y=x線上,繪制的代碼如下:

from scipy.stats import probplot
probplot(data,dist='norm',plot=plt)
plt.title('sepal length')
plt.show()

\qquad 繪制的到結(jié)果如下,依次為4個特征向量的Q-Q圖??梢钥闯?,4個特征向量整體趨勢大致符合高斯分布,可以嘗試使用高斯分布樸素貝葉斯分類方法。
機(jī)器學(xué)習(xí)實(shí)驗 - 樸素貝葉斯分類器機(jī)器學(xué)習(xí)實(shí)驗 - 樸素貝葉斯分類器
機(jī)器學(xué)習(xí)實(shí)驗 - 樸素貝葉斯分類器機(jī)器學(xué)習(xí)實(shí)驗 - 樸素貝葉斯分類器

\qquad 使用sklearn庫的GaussianNB()方法訓(xùn)練分類器,代碼如下:

clf = GaussianNB()
clf.fit(X_train, y_train)

(3)評價分類器
\qquad 使用精確率、召回率、F1度量值對分類器作為評價指標(biāo),使用sklearn庫中的accuracy_score()、precision_score()、recall_score()、f1_score()方法進(jìn)行計算,具體代碼如下:

y_pred = clf.predict(X_test)
print(precision_score(y_test, y_pred, average=None))
print(recall_score(y_test, y_pred, average=None))
print(f1_score(y_test, y_pred, average=None))

(4)使用分類器進(jìn)行預(yù)測
\qquad 我們選取測試集的最后一條數(shù)據(jù)進(jìn)行預(yù)測,觀察分類器計算得到的概率、分類結(jié)果與真實(shí)標(biāo)簽的內(nèi)容。具體代碼如下:

y_proba = clf.predict_proba(X_test[:1])
y_pred_num = clf.predict(X_test[:1])[0]
print("預(yù)測值:"+str(y_pred_num)+ " "+label[y_pred_num])
print("預(yù)計的概率值:", y_proba)
print("實(shí)際值:"+str(y_test[:1][0])+ " "+label[y_test[:1][0]])

\qquad 得到的預(yù)測結(jié)果如下圖所示,可以看出分類器成功完成分類預(yù)測。
機(jī)器學(xué)習(xí)實(shí)驗 - 樸素貝葉斯分類器

2.2.3 實(shí)驗與理論內(nèi)容的不同點(diǎn)

\qquad 樸素貝葉斯分類器的計算方法不難,在代碼實(shí)現(xiàn)時,可以直接使用sklearn提供的GaussianNB()方法快速實(shí)現(xiàn)。
\qquad GaussianNB()方法提供兩個參數(shù),分別為priors和var_smoothing,即先驗概率和所有特征的最大方差添加比例。var_smoothing作用是在估計方差時,為了追求估計的穩(wěn)定性,將所有特征的方差中最大的方差以var_smoothing給出的比例添加到估計的方差中,默認(rèn)為1e-9。
\qquad 其余一個不同是在數(shù)據(jù)的預(yù)處理上,由于數(shù)據(jù)集給出的原始數(shù)據(jù)集是將特征向量與標(biāo)簽同時給出,且標(biāo)簽為字符型的鳶尾花種類名,不方便后續(xù)操作。因此我們將數(shù)據(jù)預(yù)處理為X、y兩個數(shù)組,分別為特征向量和標(biāo)簽,同時將y中標(biāo)簽重新映射為整數(shù)編號,以方便后續(xù)處理,具體對照關(guān)系如下:

0 -- Iris Setosa,1 -- Iris Versicolour,2 -- Iris Virginica

2.3 實(shí)驗數(shù)據(jù)介紹

\qquad 實(shí)驗數(shù)據(jù)為來自UCI的鳶尾花三分類數(shù)據(jù)集Iris Plants Database。
\qquad 數(shù)據(jù)集共包含150組數(shù)據(jù),分為3類,每類50組數(shù)據(jù)。每組數(shù)據(jù)包括4個參數(shù)和1個分類標(biāo)簽,4個參數(shù)分別為:萼片長度sepal length、萼片寬度sepal width、花瓣長度petal length、花瓣寬度petal width,單位均為厘米。分類標(biāo)簽共有三種,分別為Iris Setosa、Iris Versicolour和Iris Virginica。
\qquad 數(shù)據(jù)集格式如下圖所示:
機(jī)器學(xué)習(xí)實(shí)驗 - 樸素貝葉斯分類器
\qquad 為方便后續(xù)使用,該數(shù)據(jù)集需要進(jìn)行特征向量與標(biāo)簽分割以及標(biāo)簽編號,具體處理方式在2.2.3部分已進(jìn)行介紹。

2.4 評價指標(biāo)介紹

\qquad 評價指標(biāo)選擇精確率P、召回率R、F1度量值F1,計算公式如下:
P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP?
R = T P T P + F N R=\frac{TP}{TP+FN} R=TP+FNTP?
F 1 = 2 ? P ? R P + R F1=\frac{2*P*R}{P+R} F1=P+R2?P?R?
\qquad 具體代碼實(shí)現(xiàn)時,可以直接調(diào)用sklearn庫中的相應(yīng)方法進(jìn)行計算。

2.5 實(shí)驗結(jié)果分析

\qquad 根據(jù)計算,對于二分類數(shù)據(jù)集,可以得到如下結(jié)果:
機(jī)器學(xué)習(xí)實(shí)驗 - 樸素貝葉斯分類器

三、總結(jié)及問題說明

\qquad 本次實(shí)驗的主要內(nèi)容為使用樸素貝葉斯分類鳶尾花三分類數(shù)據(jù)集,并計算生成模型的精確度Precision、召回率Recall和F1度量值,從而對得到的模型進(jìn)行評測,評價性能好壞。
\qquad 在本次實(shí)驗中,未遇到很難解決的問題,得到的分類模型性能較好,可以較準(zhǔn)確的完成鳶尾花的分類任務(wù)。

四、參考文獻(xiàn)

[1] 周志華. 機(jī)器學(xué)習(xí)[M]. 清華大學(xué)出版社, 2016.
[2] 樸素貝葉斯算法_經(jīng)典算法之樸素貝葉斯[EB/OL]. [2022-4-29]. https://blog.csdn.net/weixin_39637975/article/details/111373577.
[3] sklearn.naive_bayes.GaussianNB — scikit-learn 1.1.0 documentation[EB/OL]. [2022-4-29]. https://scikit-learn.org/stable/modules/generated/sklearn.naive_bayes.GaussianNB.html.文章來源地址http://www.zghlxwxcb.cn/news/detail-490986.html

附錄:實(shí)驗代碼

import numpy as np
from sklearn import datasets
from sklearn.naive_bayes import GaussianNB
from sklearn.model_selection import train_test_split
import random

label = ['Iris Setosa','Iris Versicolour','Iris Virginica']
X, y = datasets.load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

# 使用高斯樸素貝葉斯進(jìn)行計算
clf = GaussianNB()
clf.fit(X_train, y_train)

from sklearn.metrics import accuracy_score
from sklearn.metrics import precision_score
from sklearn.metrics import recall_score
from sklearn.metrics import f1_score
# 評估
y_pred = clf.predict(X_test)
print(precision_score(y_test, y_pred, average=None))
print(recall_score(y_test, y_pred, average=None))
print(f1_score(y_test, y_pred, average=None))
# 預(yù)測
y_proba = clf.predict_proba(X_test[:1])
y_pred_num = clf.predict(X_test[:1])[0]
print("預(yù)測值:"+str(y_pred_num)+ " "+label[y_pred_num])
print("預(yù)計的概率值:", y_proba)
print("實(shí)際值:"+str(y_test[:1][0])+ " "+label[y_test[:1][0]])

到了這里,關(guān)于機(jī)器學(xué)習(xí)實(shí)驗 - 樸素貝葉斯分類器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【機(jī)器學(xué)習(xí)】分類算法 - 樸素貝葉斯 MultinomialNB

    「作者主頁」: 士別三日wyx 「作者簡介」: CSDN top100、阿里云博客專家、華為云享專家、網(wǎng)絡(luò)安全領(lǐng)域優(yōu)質(zhì)創(chuàng)作者 「推薦專欄」: 對網(wǎng)絡(luò)安全感興趣的小伙伴可以關(guān)注專欄《網(wǎng)絡(luò)安全入門到精通》 md5() 可以計算字符串的 「MD5散列值」 。 語法 參數(shù) $str :需要計算的字符串

    2024年02月14日
    瀏覽(31)
  • 機(jī)器學(xué)習(xí)——樸素貝葉斯算法(垃圾郵件分類)

    機(jī)器學(xué)習(xí)——樸素貝葉斯算法(垃圾郵件分類)

    先驗概率 :指的是 事件發(fā)生前 的預(yù)判概率,可以根據(jù)歷史數(shù)據(jù)/經(jīng)驗估算得到。例如,當(dāng)我們需要判斷西瓜是不是好瓜的時候,對紋理、根蒂等特征都不了解,只是平常我們買西瓜的時候買到好瓜的概率是70%,那么這個西瓜是好瓜的概率我們也可以認(rèn)為是70%。這個概率70%就是

    2024年02月03日
    瀏覽(26)
  • 機(jī)器學(xué)習(xí)——基于樸素貝葉斯分類算法實(shí)現(xiàn)垃圾郵件分類

    機(jī)器學(xué)習(xí)——基于樸素貝葉斯分類算法實(shí)現(xiàn)垃圾郵件分類

    貝葉斯定理: 貝葉斯理論指的是,根據(jù)一個已發(fā)生事件的概率,計算另一個事件的發(fā)生概率。貝葉斯理論從數(shù)學(xué)上的表示可以寫成這樣:? ,在這里A和B都是事件,?P(B)P(B)不為0。 在貝葉斯定理中: 1. P(A) 稱為”先驗概率”,即在B事件發(fā)生之前,我們對A事件概率的一個判斷。如

    2024年02月04日
    瀏覽(29)
  • 【機(jī)器學(xué)習(xí) | 樸素貝葉斯】樸素貝葉斯算法:概率統(tǒng)計方法之王,簡單有效的數(shù)據(jù)分類利器

    【機(jī)器學(xué)習(xí) | 樸素貝葉斯】樸素貝葉斯算法:概率統(tǒng)計方法之王,簡單有效的數(shù)據(jù)分類利器

    ???♂? 個人主頁: @AI_magician ??主頁地址: 作者簡介:CSDN內(nèi)容合伙人,全棧領(lǐng)域優(yōu)質(zhì)創(chuàng)作者。 ?????景愿:旨在于能和更多的熱愛計算機(jī)的伙伴一起成長??!????? ???♂?聲明:本人目前大學(xué)就讀于大二,研究興趣方向人工智能硬件(雖然硬件還沒開始玩,但一直

    2024年02月15日
    瀏覽(28)
  • 機(jī)器學(xué)習(xí)-基于樸素貝葉斯的垃圾郵件分類

    機(jī)器學(xué)習(xí)-基于樸素貝葉斯的垃圾郵件分類

    概率論是許多機(jī)器學(xué)習(xí)算法的基礎(chǔ),此篇博客會給出一些使用概率論進(jìn)行分類的方法。 首先從一個最簡單的概率分類器開始,然后給出一些假設(shè)來學(xué)習(xí)樸素貝葉斯分類器。我們稱之為“樸素”,是因為整個形式化過程只做最原始、最簡單的假設(shè)。 我們還將構(gòu)建另一個分類器

    2024年02月02日
    瀏覽(25)
  • 《機(jī)器學(xué)習(xí)核心算法》分類算法 - 樸素貝葉斯 MultinomialNB

    《機(jī)器學(xué)習(xí)核心算法》分類算法 - 樸素貝葉斯 MultinomialNB

    「作者主頁」: 士別三日wyx 「作者簡介」: CSDN top100、阿里云博客專家、華為云享專家、網(wǎng)絡(luò)安全領(lǐng)域優(yōu)質(zhì)創(chuàng)作者 「推薦專欄」: 小白零基礎(chǔ)《Python入門到精通》 樸素貝葉斯法(Naive Bayes model 簡稱 NBM )是基于 「貝葉斯定理」 與 「特征條件獨(dú)立假設(shè)」 的分類方法。 「貝

    2024年02月08日
    瀏覽(54)
  • 機(jī)器學(xué)習(xí):基于樸素貝葉斯(Naive Bayes)的分類預(yù)測

    機(jī)器學(xué)習(xí):基于樸素貝葉斯(Naive Bayes)的分類預(yù)測

    目錄 一、簡介和環(huán)境準(zhǔn)備 簡介: 環(huán)境: 二、實(shí)戰(zhàn)演練 2.1使用葡萄(Wine)數(shù)據(jù)集,進(jìn)行貝葉斯分類 1.數(shù)據(jù)導(dǎo)入 2.模型訓(xùn)練 3.模型預(yù)測 2.2模擬離散數(shù)據(jù)集–貝葉斯分類 1.數(shù)據(jù)導(dǎo)入、分析 2.模型訓(xùn)練、預(yù)測 ?三、原理解析 樸素貝葉斯算法 優(yōu)缺點(diǎn): 樸素貝葉斯(Naive Bayes, NB)?是

    2023年04月19日
    瀏覽(24)
  • 【機(jī)器學(xué)習(xí)實(shí)戰(zhàn)】-基于概率論的分類方法:樸素貝葉斯

    【機(jī)器學(xué)習(xí)實(shí)戰(zhàn)】-基于概率論的分類方法:樸素貝葉斯

    【機(jī)器學(xué)習(xí)實(shí)戰(zhàn)】讀書筆記 **樸素貝葉斯:**稱為“ 樸素 ”的原因,整個形式化過程只做最原始、最簡單的假設(shè),特征之間沒有關(guān)聯(lián),是統(tǒng)計意義上的獨(dú)立。 **優(yōu)點(diǎn):**在數(shù)據(jù)較少的情況下仍然有效,可以處理多類別問題。 **缺點(diǎn):**對于輸入數(shù)據(jù)的準(zhǔn)備方式較為敏感。 **適

    2024年03月25日
    瀏覽(24)
  • Spark-機(jī)器學(xué)習(xí)(5)分類學(xué)習(xí)之樸素貝葉斯算法

    Spark-機(jī)器學(xué)習(xí)(5)分類學(xué)習(xí)之樸素貝葉斯算法

    在之前的文章中,我們學(xué)習(xí)了回歸中的邏輯回歸,并帶來簡單案例,學(xué)習(xí)用法。想了解的朋友可以查看這篇文章。同時,希望我的文章能幫助到你,如果覺得我的文章寫的不錯,請留下你寶貴的點(diǎn)贊,謝謝。 Spark-機(jī)器學(xué)習(xí)(4)回歸學(xué)習(xí)之邏輯回歸-CSDN博客 文章瀏覽閱讀2.6k次

    2024年04月28日
    瀏覽(29)
  • 機(jī)器學(xué)習(xí)——使用樸素貝葉斯分類器實(shí)現(xiàn)垃圾郵件檢測(python代碼+數(shù)據(jù)集)

    機(jī)器學(xué)習(xí)——scikit-learn庫學(xué)習(xí)、應(yīng)用 機(jī)器學(xué)習(xí)——最小二乘法擬合曲線、正則化 機(jī)器學(xué)習(xí)——使用樸素貝葉斯分類器實(shí)現(xiàn)垃圾郵件檢測(python代碼+數(shù)據(jù)集) 貝葉斯公式: P ( A ∣ B ) = P ( A ) P ( B ∣ A ) P ( B ) P(A mid B)=frac{P(A) P(B mid A)}{P(B)} P ( A ∣ B ) = P ( B ) P ( A ) P ( B ∣ A )

    2024年02月10日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包