假設乙個鎮里有60%男性和40%女性。女性穿褲子的人數和穿裙子的人數一樣,所有男性都穿褲子(正常男性都穿褲子)。乙個人在遠處隨機看到了乙個穿褲子的人,**這個人是男生還是女生?為什麼?
a:數女性事件,b:是穿的是褲子的事件
p(a)是看到是女性的概率,在這裡是40%
p(a~)是看到是男性的概率,在這裡是60%
p(b|a)是女性穿褲子的概率,在這裡是50%
p(b|a~)是男性穿褲子的概率,在這裡是100%
p(b)是穿褲子的概率,p(b) = p(b|a)p(a) + p(b|a~)p(a~),在這裡是0.5×0.4 + 1×0.6 = 80%。
樸素貝葉斯分類的正式定義如下:
1、設x=為乙個待分類項,而每個a為x的乙個特徵屬性。
2、有類別集合c=。
3、計算p(y1|x),p(y2|x),p(y3|x),p(y4|x),...........,p(yn|x)。
4、如果p(yk|x)=max,則 x∈yk。
看到穿褲是女性的後驗概率
p(a|b) = p(b|a)*p(a)/p(b) = 25%
看到穿褲是男性的後驗概率
p(a~|b) = p(b|a~)*p(a~)/p(b) = 75%
max = p(a~|b)
所以**是男生!
樸素貝葉斯例項
高斯模型api import numpy asnp from sklearn.bayes import gaussiannb from sklearn.datasets import load digits from sklearn.model selection import train test...
樸素貝葉斯 基於sklearn的實現
由於自己太懶,不想看太長的 所以我就呼叫的sklearn庫的樸素貝葉斯類,資料集選擇的是這個部落格中自己構造的資料集,該部落格自己實現了樸素貝葉斯類,想自己編寫乙個樸素貝葉斯函式的讀者可以參考這個部落格。下面是用sklearn庫實現樸素貝葉斯分類 from functools import redu...
樸素貝葉斯的理解例項
下面討論乙個使用樸素貝葉斯分類解決實際問題的例子,為了簡單起見,對例子中的資料做了適當的簡化。這個問題是這樣的,對於sns社群來說,不真實賬號 使用虛假身份或使用者的小號 是乙個普遍存在的問題,作為sns社群的運營商,希望可以檢測出這些不真實賬號,從而在一些運營分析報告中避免這些賬號的干擾,亦可以加...