真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

貝葉斯函數(shù)python的簡(jiǎn)單介紹

python中貝葉斯模型結(jié)果為1.0

python中貝葉斯模型結(jié)果為1.0。根據(jù)查詢相關(guān)資料信息顯示,貝葉斯模型,有兩個(gè)參數(shù),平均值和其偏差,這些參數(shù)還需要通過選擇對(duì)應(yīng)的分布函數(shù)來(lái)建立模型得出python中貝葉斯模型結(jié)果為1.0。

網(wǎng)站制作、成都網(wǎng)站建設(shè)服務(wù)團(tuán)隊(duì)是一支充滿著熱情的團(tuán)隊(duì),執(zhí)著、敏銳、追求更好,是創(chuàng)新互聯(lián)的標(biāo)準(zhǔn)與要求,同時(shí)竭誠(chéng)為客戶提供服務(wù)是我們的理念。成都創(chuàng)新互聯(lián)公司把每個(gè)網(wǎng)站當(dāng)做一個(gè)產(chǎn)品來(lái)開發(fā),精雕細(xì)琢,追求一名工匠心中的細(xì)致,我們更用心!

線性代數(shù)大師貝葉斯重出江湖,python中的樸素貝葉斯還那么難嗎?

本教程將使您了解如何使用 Python 的 Scikit-learn 包構(gòu)建和評(píng)估樸素貝葉斯分類器。

假設(shè)您是產(chǎn)品經(jīng)理,您想將客戶評(píng)論分為正面和負(fù)面類別。 或者作為貸款經(jīng)理,您想確定哪些貸款申請(qǐng)人是安全的還是有風(fēng)險(xiǎn)的? 作為醫(yī)療保健分析師,您希望預(yù)測(cè)哪些患者可能患有糖尿病。 所有示例都存在對(duì)評(píng)論、貸款申請(qǐng)人和患者進(jìn)行分類的相同問題。

樸素貝葉斯是最直接、最快速的分類算法,適用于大量數(shù)據(jù)。 樸素貝葉斯分類器成功地用于各種應(yīng)用,例如垃圾郵件過濾、文本分類、 情感 分析和推薦系統(tǒng)。 它使用貝葉斯概率定理來(lái)預(yù)測(cè)未知類。

在本教程中,您將了解以下所有內(nèi)容:

無(wú)論何時(shí)執(zhí)行分類,第一步都是了解問題并識(shí)別潛在的特征和標(biāo)簽。 特征是影響標(biāo)簽結(jié)果的那些特征或?qū)傩浴?例如,在貸款分配的情況下,銀行經(jīng)理確定客戶的職業(yè)、收入、年齡、地點(diǎn)、以前的貸款 歷史 、交易 歷史 和信用評(píng)分。 這些特征被稱為幫助模型對(duì)客戶進(jìn)行分類的特征。

分類有兩個(gè)階段,學(xué)習(xí)階段和評(píng)估階段。 在學(xué)習(xí)階段,分類器在給定的數(shù)據(jù)集上訓(xùn)練其模型,在評(píng)估階段,它測(cè)試分類器的性能。 性能是根據(jù)各種參數(shù)進(jìn)行評(píng)估的,例如準(zhǔn)確度、誤差、精度和召回率。

2 什么是樸素貝葉斯分類器?

樸素貝葉斯是一種基于貝葉斯定理的統(tǒng)計(jì)分類技術(shù)。 它是最簡(jiǎn)單的監(jiān)督學(xué)習(xí)算法之一。 樸素貝葉斯分類器是一種快速、準(zhǔn)確和可靠的算法。 樸素貝葉斯分類器在大型數(shù)據(jù)集上具有很高的準(zhǔn)確性和速度。

樸素貝葉斯分類器假設(shè)類中特定特征的效果獨(dú)立于其他特征 。 例如,貸款申請(qǐng)人是否可取取決于他/她的收入、以前的貸款和交易 歷史 、年齡和位置。 即使這些特征相互依賴,這些特征仍然被獨(dú)立考慮 。 這個(gè)假設(shè)簡(jiǎn)化了計(jì)算,這就是為什么它被認(rèn)為是“樸素”的。 這種假設(shè)稱為類條件獨(dú)立 。

此節(jié)涉及大量線性代數(shù)與概率的知識(shí),對(duì)理論研究有高要求的讀者可參考更專業(yè)的書籍,只關(guān)心如何應(yīng)用的讀者可以跳過此節(jié)。我也只關(guān)心應(yīng)用,因此,咱們一起跳過此節(jié)吧。留個(gè)標(biāo)題只為結(jié)構(gòu)完整性。哈哈哈 希望數(shù)學(xué)老師原諒我

4 Scikit-learn 中的分類器構(gòu)建

1)定義數(shù)據(jù)集

在此示例中,您可以使用具有三列的虛擬數(shù)據(jù)集:天氣、溫度和是否出去玩。 前兩個(gè)是特征(天氣、溫度),另一個(gè)是標(biāo)簽。

2)編碼特征

首先,您需要將這些字符串標(biāo)簽轉(zhuǎn)換為數(shù)字。 例如:'Overcast', 'Rainy', 'Sunny' as 0, 1, 2。這稱為標(biāo)簽編碼。 Scikit-learn 提供了 LabelEncoder 庫(kù),用于對(duì)標(biāo)簽進(jìn)行編碼,其值在 0 到 1 之間,小于離散類的數(shù)量。

同樣,您也可以對(duì) temp 和 play 列進(jìn)行編碼。

現(xiàn)在將這兩個(gè)特征(天氣和溫度)組合在一個(gè)變量(元組列表)中。

3)生成模型

在以下步驟中使用樸素貝葉斯分類器生成模型:

這里,1 表示玩家可以“出去玩”。

到目前為止,您已經(jīng)學(xué)習(xí)了使用二進(jìn)制標(biāo)簽的樸素貝葉斯分類。 現(xiàn)在您將了解樸素貝葉斯中的多類分類。 這被稱為多項(xiàng)樸素貝葉斯分類。 例如,如果您想對(duì)有關(guān)技術(shù)、 娛樂 、政治或 體育 的新聞文章進(jìn)行分類。

在模型構(gòu)建部分,您可以使用葡萄酒數(shù)據(jù)集,這是一個(gè)非常著名的多類分類問題。 “這個(gè)數(shù)據(jù)集是對(duì)在意大利同一地區(qū)種植但來(lái)自三種不同品種的葡萄酒進(jìn)行化學(xué)分析的結(jié)果?!?/p>

數(shù)據(jù)集包含 13 個(gè)特征(酒精、蘋果酸、灰分、alcalinity_of_ash、鎂、總酚、黃酮類化合物、非黃酮類酚、原花青素、顏色強(qiáng)度、色調(diào)、od280/od315_of_diluted_wines、脯氨酸)和葡萄酒品種類型。 該數(shù)據(jù)有3種酒類Class_0、Class_1和Class_3。 在這里,您可以建立一個(gè)模型來(lái)對(duì)葡萄酒的類型進(jìn)行分類。

該數(shù)據(jù)集在 scikit-learn 庫(kù)中可用。

1)加載數(shù)據(jù)

讓我們首先從 scikit-learn 數(shù)據(jù)集中加載所需的 wine 數(shù)據(jù)集。

2) 探索 數(shù)據(jù)

您可以打印目標(biāo)和特征名稱,以確保您擁有正確的數(shù)據(jù)集,如下所示:

稍微 探索 一下您的數(shù)據(jù)總是不會(huì)錯(cuò)的,這樣您就知道自己在處理什么。 在這里,您可以看到打印了數(shù)據(jù)集的前五行,以及整個(gè)數(shù)據(jù)集的目標(biāo)變量。

3)拆分?jǐn)?shù)據(jù)

首先,您將列分為因變量和自變量(或特征和標(biāo)簽)。 然后將這些變量拆分為訓(xùn)練集和測(cè)試集。

4)生成模型

拆分后,您將在訓(xùn)練集上生成一個(gè)隨機(jī)森林模型,并對(duì)測(cè)試集特征進(jìn)行預(yù)測(cè)。

5)評(píng)估模型

模型生成后,使用實(shí)際值和預(yù)測(cè)值檢查準(zhǔn)確性。

5 零概率問題

假設(shè)數(shù)據(jù)集中沒有風(fēng)險(xiǎn)貸款的元組,在這種情況下,后驗(yàn)概率為零,模型無(wú)法做出預(yù)測(cè)。 這個(gè)問題被稱為零概率,因?yàn)樘囟惖某霈F(xiàn)為零。

此類問題的解決方案是拉普拉斯校正(Laplacian correction)或拉普拉斯變換(Laplace Transformation)。 拉普拉斯校正是平滑技術(shù)之一。 在這里,您可以假設(shè)數(shù)據(jù)集足夠大,每個(gè)類添加一行不會(huì)對(duì)估計(jì)的概率產(chǎn)生影響。 這將克服概率值為零的問題。

例如:假設(shè)對(duì)于有風(fēng)險(xiǎn)的類貸款,數(shù)據(jù)庫(kù)中有 1000 個(gè)訓(xùn)練元組。 在這個(gè)數(shù)據(jù)庫(kù)中,收入列有 0 個(gè)元組代表低收入,990 個(gè)元組代表中等收入,10 個(gè)元組代表高收入。 在沒有拉普拉斯校正的情況下,這些事件的概率為 0、0.990(來(lái)自 990/1000)和 0.010(來(lái)自 10/1000)

現(xiàn)在,對(duì)給定的數(shù)據(jù)集應(yīng)用拉普拉斯校正。 讓我們?yōu)槊總€(gè)收入-價(jià)值對(duì)再添加 1 個(gè)元組。 這些事件的概率:

6 優(yōu)點(diǎn)

在本教程中,您了解了樸素貝葉斯算法、它的工作原理、樸素貝葉斯假設(shè)、問題、實(shí)現(xiàn)、優(yōu)點(diǎn)和缺點(diǎn)。 在此過程中,您還學(xué)習(xí)了 scikit-learn 中二元和多項(xiàng)類的模型構(gòu)建和評(píng)估。

樸素貝葉斯是最直接和最有效的算法。 盡管機(jī)器學(xué)習(xí)在過去幾年取得了重大進(jìn)展,但它已經(jīng)證明了它的價(jià)值。 它已成功部署在從文本分析到推薦引擎的許多應(yīng)用程序中。

樸素貝葉斯分類算法的sklearn實(shí)現(xiàn)

1、背景

《機(jī)器學(xué)習(xí)實(shí)戰(zhàn)》當(dāng)中,用python根據(jù)貝葉斯公式實(shí)現(xiàn)了基本的分類算法?,F(xiàn)在來(lái)看看用sklearn,如何實(shí)現(xiàn)。還拿之前的例子,對(duì)帖子的分類。數(shù)據(jù)如下:

補(bǔ)充:題目的值左邊是幾個(gè)人的評(píng)論,右邊是評(píng)論屬于侮辱類(1)、正常類(0),需要進(jìn)行文本分類,且再有新的文本過來(lái)時(shí)能自動(dòng)劃分至0或1。

2、分類

(1)算法的準(zhǔn)備

通過查看sklearn的訓(xùn)練模型函數(shù),fit(X, Y),發(fā)現(xiàn)只需要準(zhǔn)備兩個(gè)參數(shù)。一個(gè)是數(shù)據(jù)的矩陣,另一個(gè)是數(shù)據(jù)的分類數(shù)組。首先就是將以上的文本轉(zhuǎn)化成矩陣。

在前一章其實(shí)已經(jīng)講解過如何將文本轉(zhuǎn)化成矩陣。這里將示意的再補(bǔ)充下。

a.首先選取所有的單詞,形成列,也可理解為屬性。例如:

b.其次將遍歷每個(gè)文本,填滿上述列的值。文本出現(xiàn)過列的次,填一。沒有出現(xiàn)過填0。比如第一句就是:my dog has flea problems help please,可表示為:

同理所有的文本都可如此表示,所以就形成了一個(gè)數(shù)字的矩陣。

(2)beyes模型的選擇

在完成數(shù)據(jù)的準(zhǔn)備以后,就可以直接調(diào)用sklearn的模型和函數(shù)完成模型的訓(xùn)練啦。但在beyes模型的選擇的時(shí)候發(fā)現(xiàn),beyes下有多個(gè)模型可選擇,所以這個(gè)會(huì)讓人糾結(jié)。接下來(lái)共同了解下這些模型:

a.高斯模型(GaussianNB)

高斯模型是對(duì)于每個(gè)屬性的值是連續(xù)的,且服從高斯分布時(shí)可使用:

比如人的身高,比如花的高度等等。當(dāng)然你也可將這些數(shù)據(jù)離散化,比如按等距劃分、等頻劃分成離散的值,但可能效果都沒有直接用高斯模型來(lái)計(jì)算的好。

用法:class sklearn.naive_bayes.GaussianNB

參數(shù):無(wú)

b.多項(xiàng)式模型(MultinominalNB)

如果大部分是多元離散值,則采用多項(xiàng)式模型要好些。多項(xiàng)式模型,通常就是構(gòu)造參數(shù)向量,然后通過極大似然估計(jì)來(lái)尋求參數(shù)的最有值。

這里只簡(jiǎn)單的略列一些公式,具體可查詢更多資料。從這個(gè)計(jì)算過程中可得出,這里引入啦一個(gè)平滑先驗(yàn)值alpha,這個(gè)值在模型訓(xùn)練的時(shí)候也會(huì)用到。通常alpha0,可引入不在訓(xùn)練集的特征,尤其當(dāng)alpha=1,成為拉普拉絲平滑。具體alpha取值對(duì)模型的影響可附件的圖。

用法:class sklearn.naive_bayes.MultinomialNB(alpha=1.0,fit_prior=True,class_prior=None)?

參數(shù):

alpha:浮點(diǎn)數(shù),就是上述說的引入平滑的值;

fit_prior:bool值,如果為Ture,則不用去學(xué)習(xí)P(y=ck),以均勻分布替代,否則則去學(xué)習(xí)P(y=ck)(不懂)

class_prior:一個(gè)數(shù)組。它指定了每個(gè)分類的先驗(yàn)概率P(y=c1),P(y=c2)…..,若指定了該參數(shù)?

則每個(gè)分類的先驗(yàn)概率無(wú)需學(xué)習(xí) (不懂)

c.伯努利模型(BernoulliNB)

如果特征值為二元離散值或是稀疏的多元離散值,則可采用伯努利模型。

公式:class sklearn.naive_bayes.BernoulliNB(alpha=1.0,binarize=0.0,fit_prior=Ture,?

class_prior=None)?

參數(shù):

binarize:一個(gè)浮點(diǎn)數(shù)或者None,如果為浮點(diǎn)數(shù)則以該數(shù)值為界,特征值大于它的取1,小于的為0 。如果為None,假定原始數(shù)據(jù)已經(jīng)二值化?

其它參數(shù)同上。

通過以上的模型對(duì)比和分析,由于文本分析轉(zhuǎn)化后是很多二項(xiàng)取值的稀疏矩陣,因此選取伯努利模型效果會(huì)更佳。

補(bǔ)充:alpha、binarize值對(duì)模型效果的影響

樸素貝葉斯分類器(Python實(shí)現(xiàn)+詳細(xì)源碼原理)

1、貝葉斯公式的本質(zhì): u由因到果,由果推因/u

2、貝葉斯公式:

[圖片上傳中...(wps6.png-5fd624-1618488341725-0)]

1、樸素貝葉斯公式

x1,x2,...xn為特征集合,y為分類結(jié)果

樸素貝葉斯假設(shè)各個(gè)特征之間相互獨(dú)立

分母相同情況下,我們只要保證分子最大

訓(xùn)練數(shù)據(jù)集

long,not_long,sweet,not_sweet,yellow,not_yellow,species

400,100,350,150,450,50,banana

0,300,150,150,300,0,orange

100,100,150,50,50,150,other_fruit

測(cè)試數(shù)據(jù)集

long,sweet,yellow

not_long,not_sweet,not_yellow

not_long,sweet,not_yellow

not_long,sweet,yellow

not_long,sweet,yellow

not_long,not_sweet,not_yellow

long,not_sweet,not_yellow

long,not_sweet,not_yellow

long,not_sweet,not_yellow

long,not_sweet,not_yellow

long,not_sweet,yellow

not_long,not_sweet,yellow

not_long,not_sweet,yellow

long,not_sweet,not_yellow

not_long,not_sweet,yellow

結(jié)果

特征值:[not_long, not_sweet, not_yellow]

預(yù)測(cè)結(jié)果:{'banana': 0.003, 'orange': 0.0, 'other_fruit': 0.018750000000000003}

水果類別:other_fruit

特征值:[not_long, sweet, not_yellow]

預(yù)測(cè)結(jié)果:{'banana': 0.006999999999999999, 'orange': 0.0, 'other_fruit': 0.05625000000000001}

水果類別:other_fruit

特征值:[not_long, sweet, yellow]

預(yù)測(cè)結(jié)果:{'banana': 0.063, 'orange': 0.15, 'other_fruit': 0.018750000000000003}

水果類別:orange

特征值:[not_long, sweet, yellow]

預(yù)測(cè)結(jié)果:{'banana': 0.063, 'orange': 0.15, 'other_fruit': 0.018750000000000003}

水果類別:orange

特征值:[not_long, not_sweet, not_yellow]

預(yù)測(cè)結(jié)果:{'banana': 0.003, 'orange': 0.0, 'other_fruit': 0.018750000000000003}

水果類別:other_fruit

特征值:[long, not_sweet, not_yellow]

預(yù)測(cè)結(jié)果:{'banana': 0.012, 'orange': 0.0, 'other_fruit': 0.018750000000000003}

水果類別:other_fruit

特征值:[long, not_sweet, not_yellow]

預(yù)測(cè)結(jié)果:{'banana': 0.012, 'orange': 0.0, 'other_fruit': 0.018750000000000003}

水果類別:other_fruit

特征值:[long, not_sweet, not_yellow]

預(yù)測(cè)結(jié)果:{'banana': 0.012, 'orange': 0.0, 'other_fruit': 0.018750000000000003}

水果類別:other_fruit

特征值:[long, not_sweet, not_yellow]

預(yù)測(cè)結(jié)果:{'banana': 0.012, 'orange': 0.0, 'other_fruit': 0.018750000000000003}

水果類別:other_fruit

特征值:[long, not_sweet, yellow]

預(yù)測(cè)結(jié)果:{'banana': 0.108, 'orange': 0.0, 'other_fruit': 0.00625}

水果類別:banana

特征值:[not_long, not_sweet, yellow]

預(yù)測(cè)結(jié)果:{'banana': 0.027, 'orange': 0.15, 'other_fruit': 0.00625}

水果類別:orange

特征值:[not_long, not_sweet, yellow]

預(yù)測(cè)結(jié)果:{'banana': 0.027, 'orange': 0.15, 'other_fruit': 0.00625}

水果類別:orange

特征值:[long, not_sweet, not_yellow]

預(yù)測(cè)結(jié)果:{'banana': 0.012, 'orange': 0.0, 'other_fruit': 0.018750000000000003}

水果類別:other_fruit

特征值:[not_long, not_sweet, yellow]

預(yù)測(cè)結(jié)果:{'banana': 0.027, 'orange': 0.15, 'other_fruit': 0.00625}

水果類別:orange


標(biāo)題名稱:貝葉斯函數(shù)python的簡(jiǎn)單介紹
路徑分享:http://weahome.cn/article/dojjdec.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部