最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中如何使用樸素貝葉斯算法

 更新時(shí)間:2017年04月06日 11:42:58   作者:lc19861217  
本文主要介紹了python中如何使用樸素貝葉斯算法的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧

這里再重復(fù)一下標(biāo)題為什么是"使用"而不是"實(shí)現(xiàn)":

首先,專業(yè)人士提供的算法比我們自己寫(xiě)的算法無(wú)論是效率還是正確率上都要高。

其次,對(duì)于數(shù)學(xué)不好的人來(lái)說(shuō),為了實(shí)現(xiàn)算法而去研究一堆公式是很痛苦的事情。

再次,除非他人提供的算法滿足不了自己的需求,否則沒(méi)必要"重復(fù)造輪子"。

下面言歸正傳,不了解貝葉斯算法的可以去查一下相關(guān)資料,這里只是簡(jiǎn)單介紹一下:

1.貝葉斯公式:

P(A|B)=P(AB)/P(B)

2.貝葉斯推斷:

P(A|B)=P(A)×P(B|A)/P(B)

用文字表述:

后驗(yàn)概率=先驗(yàn)概率×相似度/標(biāo)準(zhǔn)化常量

而貝葉斯算法要解決的問(wèn)題就是如何求出相似度,即:P(B|A)的值

3. 在scikit-learn包中提供了三種常用的樸素貝葉斯算法,下面依次說(shuō)明:

1)高斯樸素貝葉斯:假設(shè)屬性/特征是服從正態(tài)分布的(如下圖),主要應(yīng)用于數(shù)值型特征。

 

使用scikit-learn包中自帶的數(shù)據(jù),代碼及說(shuō)明如下:

>>>from sklearn import datasets ##導(dǎo)入包中的數(shù)據(jù)
>>> iris=datasets.load_iris() ##加載數(shù)據(jù)
>>> iris.feature_names  ##顯示特征名字
 ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']
>>> iris.data   ##顯示數(shù)據(jù)
 array([[ 5.1, 3.5, 1.4, 0.2],[ 4.9, 3. , 1.4, 0.2],[ 4.7, 3.2, 1.3, 0.2]............
>>> iris.data.size  ##數(shù)據(jù)大小 ---600個(gè)
>>> iris.target_names  ##顯示分類的名字 
 array(['setosa', 'versicolor', 'virginica'], dtype='<U10')
>>> from sklearn.naive_bayes import GaussianNB ##導(dǎo)入高斯樸素貝葉斯算法
>>> clf = GaussianNB()    ##給算法賦一個(gè)變量,主要是為了方便使用
>>> clf.fit(iris.data, iris.target)  ##開(kāi)始分類。對(duì)于量特別大的樣本,可以使用函數(shù)partial_fit分類,避免一次加載過(guò)多數(shù)據(jù)到內(nèi)存

>>> clf.predict(iris.data[0].reshape(1,-1)) ##驗(yàn)證分類。標(biāo)紅部分特別說(shuō)明:因?yàn)閜redict的參數(shù)是數(shù)組,data[0]是列表,所以需要轉(zhuǎn)換一下
array([0])
>>> data=np.array([6,4,6,2])   ##驗(yàn)證分類
>>> clf.predict(data.reshape(1,-1))
array([2])

這里涉及到一個(gè)問(wèn)題:如何判斷數(shù)據(jù)符合正態(tài)分布? R語(yǔ)言里面有相關(guān)函數(shù)判斷,或者直接繪圖也可以看出來(lái),但是都是P(x,y)這種可以在坐標(biāo)系里面直接

畫(huà)出來(lái)的情況,而例子中的數(shù)據(jù)如何確定,目前還沒(méi)有搞明白,這部分后續(xù)會(huì)補(bǔ)上。

2)多項(xiàng)式分布樸素貝葉斯:常用于文本分類,特征是單詞,值是單詞出現(xiàn)的次數(shù)。

##示例來(lái)在官方文檔,詳細(xì)說(shuō)明見(jiàn)第一個(gè)例子
>>> import numpy as np
>>> X = np.random.randint(5, size=(6, 100)) ##返回隨機(jī)整數(shù)值:范圍[0,5) 大小6*100 6行100列
>>> y = np.array([1, 2, 3, 4, 5, 6])
>>> from sklearn.naive_bayes import MultinomialNB
>>> clf = MultinomialNB()
>>> clf.fit(X, y)
MultinomialNB(alpha=1.0, class_prior=None, fit_prior=True) 
>>> print(clf.predict(X[2]))
[3]

3)伯努力樸素貝葉斯:每個(gè)特征都是是布爾型,得出的結(jié)果是0或1,即出現(xiàn)沒(méi)出現(xiàn)

##示例來(lái)在官方文檔,詳細(xì)說(shuō)明見(jiàn)第一個(gè)例子
>>> import numpy as np
>>> X = np.random.randint(2, size=(6, 100))
>>> Y = np.array([1, 2, 3, 4, 4, 5])
>>> from sklearn.naive_bayes import BernoulliNB
>>> clf = BernoulliNB()
>>> clf.fit(X, Y)
BernoulliNB(alpha=1.0, binarize=0.0, class_prior=None, fit_prior=True) 
>>> print(clf.predict(X[2]))
[3]

補(bǔ)充說(shuō)明:此文還不完善,示例一中也有部分說(shuō)明需要寫(xiě),最近事情較多,后續(xù)會(huì)逐漸完善。

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

  • Python實(shí)現(xiàn)將多個(gè)空格換為一個(gè)空格.md的方法

    Python實(shí)現(xiàn)將多個(gè)空格換為一個(gè)空格.md的方法

    今天小編就為大家分享一篇Python實(shí)現(xiàn)將多個(gè)空格換為一個(gè)空格.md的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • python讀取xml文件方法解析

    python讀取xml文件方法解析

    這篇文章主要介紹了python讀取xml文件方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Pycharm報(bào)錯(cuò)Non-zero?exit?code?(2)的完美解決方案

    Pycharm報(bào)錯(cuò)Non-zero?exit?code?(2)的完美解決方案

    最近在使用pycharm安裝或升級(jí)模塊時(shí)出現(xiàn)了錯(cuò)誤,下面這篇文章主要給大家介紹了關(guān)于Pycharm報(bào)錯(cuò)Non-zero?exit?code?(2)的完美解決方案,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • python標(biāo)準(zhǔn)算法實(shí)現(xiàn)數(shù)組全排列的方法

    python標(biāo)準(zhǔn)算法實(shí)現(xiàn)數(shù)組全排列的方法

    這篇文章主要介紹了python標(biāo)準(zhǔn)算法實(shí)現(xiàn)數(shù)組全排列的方法,實(shí)例分析了全排列的原理與Python實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2015-03-03
  • 解決安裝Python的第三方庫(kù)pandas報(bào)錯(cuò)問(wèn)題

    解決安裝Python的第三方庫(kù)pandas報(bào)錯(cuò)問(wèn)題

    這篇文章主要介紹了解決安裝Python的第三方庫(kù)pandas報(bào)錯(cuò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python如何生成樹(shù)形圖案

    Python如何生成樹(shù)形圖案

    這篇文章主要為大家詳細(xì)介紹了Python如何生成樹(shù)形圖案,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Python中不同數(shù)據(jù)對(duì)象的空值校驗(yàn)的方法小結(jié)

    Python中不同數(shù)據(jù)對(duì)象的空值校驗(yàn)的方法小結(jié)

    Python中有多種數(shù)據(jù)對(duì)象,每種都有其特定的空值表示方法和校驗(yàn)方式,本文將深入探討這些空值校驗(yàn)的方法,有需要的小伙伴可以參考一下
    2024-04-04
  • 一文教你Python如何創(chuàng)建屬于自己的IP池

    一文教你Python如何創(chuàng)建屬于自己的IP池

    這篇文章主要為大家詳細(xì)介紹了python如何創(chuàng)建屬于自己的IP池,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定參考價(jià)值,需要的可以參考一下
    2022-04-04
  • 使用Python繪制圖表大全總結(jié)

    使用Python繪制圖表大全總結(jié)

    本篇文章主要介紹了使用Python繪制圖表大全總結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • Python實(shí)現(xiàn)前端樣式尺寸單位轉(zhuǎn)換

    Python實(shí)現(xiàn)前端樣式尺寸單位轉(zhuǎn)換

    在?Web?前端項(xiàng)目開(kāi)發(fā)時(shí),樣式尺寸都是以?rpx?為單位,可是?UI?設(shè)計(jì)師在看完開(kāi)發(fā)后的?UI?,卻要求都以?px?為單位,所以本文就和大家分享一個(gè)利用Python就能實(shí)現(xiàn)尺寸單位轉(zhuǎn)換的方法吧
    2023-06-06

最新評(píng)論

福海县| 专栏| 台东市| 镇赉县| 邹平县| 霍城县| 萨嘎县| 岳普湖县| 财经| 清河县| 弥渡县| 疏附县| 炉霍县| 雷波县| 睢宁县| 运城市| 忻城县| 松滋市| 博客| 南岸区| 新泰市| 屏边| 静宁县| 寻乌县| 宜兰市| 全南县| 永胜县| 偏关县| 麦盖提县| 清丰县| 时尚| 鹤山市| 隆化县| 玉山县| 英超| 永嘉县| 图木舒克市| 治多县| 山阴县| 舞钢市| 宁乡县|