【机器学习】分类算法sklearn-朴素贝叶斯算法
分類算法-樸素貝葉斯算法
- 1. 概率基礎(chǔ)
- 2. 樸素貝葉斯介紹
- 3. sklearn樸素貝葉斯實(shí)現(xiàn)API
- 4. 樸素貝葉斯算法案例
1. 概率基礎(chǔ)
概率定義為一件事情發(fā)生的可能性:扔出一個硬幣,結(jié)果頭像朝上;某天是晴天
聯(lián)合概率和條件概率“”:
聯(lián)合概率:包含多個條件,且所有條件同時成立的概率
記作:𝑃(𝐴,𝐵)
條件概率:就是事件A在另外一個事件B已經(jīng)發(fā)生條件下的發(fā)生概率
記作:𝑃(𝐴|𝐵)
特性:P(A1,A2|B) = P(A1|B)P(A2|B)
注意:此條件概率的成立,是由于A1,A2相互獨(dú)立的結(jié)果
2. 樸素貝葉斯介紹
樸素就是特征獨(dú)立
注:w為給定文檔的特征值(頻數(shù)統(tǒng)計,預(yù)測文檔提供),c為文檔類別
公式可以理解為:
其中c可以是不同類別
公式分為三個部分:
𝑃(𝐶):每個文檔類別的概率(某文檔類別詞數(shù)/總文檔詞數(shù))
𝑃(𝑊│𝐶):給定類別下特征(被預(yù)測文檔中出現(xiàn)的詞)的概率
計算方法:𝑃(𝐹1│𝐶)=𝑁𝑖/𝑁 (訓(xùn)練文檔中去計算)
𝑁𝑖為該𝐹1詞在C類別所有文檔中出現(xiàn)的次數(shù)
N為所屬類別C下的文檔所有詞出現(xiàn)的次數(shù)和
𝑃(𝐹1,𝐹2,…) 預(yù)測文檔中每個詞的概率
問題:從上面的例子我們得到娛樂概率為0,這是不合理的,如果詞頻列表里面
有很多出現(xiàn)次數(shù)都為0,很可能計算結(jié)果都為零
解決方法:拉普拉斯平滑系數(shù)
𝛼為指定的系數(shù)一般為1,m為訓(xùn)練文檔中統(tǒng)計出的特征詞個數(shù)
3. sklearn樸素貝葉斯實(shí)現(xiàn)API
sklearn.naive_bayes.MultinomialNB MultinomialNB sklearn.naive_bayes.MultinomialNB(alpha = 1.0) 樸素貝葉斯分類 alpha:拉普拉斯平滑系數(shù)4. 樸素貝葉斯算法案例
sklearn20類新聞分類
20個新聞組數(shù)據(jù)集包含20個主題的18000個新聞組帖子
樸素貝葉斯案例流程
1、加載20類新聞數(shù)據(jù),并進(jìn)行分割
2、生成文章特征詞
3、樸素貝葉斯estimator流程進(jìn)行預(yù)估
樸素貝葉斯分類優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
樸素貝葉斯模型發(fā)源于古典數(shù)學(xué)理論,有穩(wěn)定的分類效率。
對缺失數(shù)據(jù)不太敏感,算法也比較簡單,常用于文本分類。
分類準(zhǔn)確度高,速度快
缺點(diǎn):
需要知道先驗(yàn)概率P(F1,F2,…|C),因此在某些時候會由于假設(shè)的先驗(yàn)
模型的原因?qū)е骂A(yù)測效果不佳。
模型的選擇與調(diào)優(yōu)
1、交叉驗(yàn)證 : 為了讓被評估的模型更加準(zhǔn)確可信.將拿到的數(shù)據(jù),分為訓(xùn)練和驗(yàn)證集。以下圖為例:將數(shù)據(jù)分成5份,其中一份作為驗(yàn)證集。然后經(jīng)過5次(組)的測試,每次都更換不同的驗(yàn)證集。即得到5組模型的結(jié)果,取平均值作為最終結(jié)果。又稱5折交叉驗(yàn)證。
2、網(wǎng)格搜索
超參數(shù)搜索-網(wǎng)格搜索
通常情況下,有很多參數(shù)是需要手動指定的(如k-近鄰算法中的K值),
這種叫超參數(shù)。但是手動過程繁雜,所以需要對模型預(yù)設(shè)幾種超參數(shù)組
合。每組超參數(shù)都采用交叉驗(yàn)證來進(jìn)行評估。最后選出最優(yōu)參數(shù)組合建
立模型。
將前面的k-近鄰算法案例改成網(wǎng)格搜索
總結(jié)
以上是生活随笔為你收集整理的【机器学习】分类算法sklearn-朴素贝叶斯算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 南昌理工学院计算机网络技术专业怎么样,南
- 下一篇: git 查看某些文档的历史版本_Git