1.原理:從由因推果到由果推因,貝葉斯公式
2.改進:由於屬於某乙個類別的可能性為0不妥,因此需要在分子加上拉普拉斯平滑係數α(一般為1),分母加上α*m(m為訓練文件中統計出的所有特徵詞)
3.api:sklearn.*****_bayes.multinominalnb(alpha=1.0)
from sklearn.datasets import fetch_20newsgroups
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import tfidfvectorizer
from sklearn.*****_bayes import multinomialnb
def*****bayes()
:'''
樸素貝葉斯
:return:none
'''# 1.匯入資料集
news = fetch_20newsgroups(subset=
'all'
)# 2.對資料進行分割
x_train,x_test,y_train,y_test=train_test_split(news.data,news.target,test_size=
0.25
)# 3.對訓練集進行特徵抽取
tf=tfidfvectorizer(
)# 4.以訓練集當中詞的列表進行每篇文章重要性統計
x_train=tf.fit_transform(x_train)
print
(tf.get_feature_names())
x_test=tf.transform(x_test)
# 5.進行樸素貝葉斯演算法的**
mlt=multinominalnb(alpha=
0.1)
mul.fit(x_train,y_train)
y_predict=mlt.predict(x_test)
print
(,y_predict)
print
("準確率為:"
,mlt.score(x_test,y_test)
)return
none
if __name__=
"__main__"
: *****bayes(
)
4.優點: 機器學習 樸素貝葉斯
樸素貝葉斯原理 1.貝葉斯公式 2.樸素貝葉斯的模型 3.後驗概率最大化的含義 4.樸素貝葉斯的引數估計 4.1.特徵是離散值 假設符合多項式分布 4.2.特徵是稀疏的離散值 假設符合伯努利分布 4.3.特徵是連續值 假設符合正態分佈 5.樸素貝葉斯演算法過程 6.樸素貝葉斯演算法小結 scikit...
機器學習基礎 樸素貝葉斯分類
可以將公式改寫為 c表示乙個分類,f表示屬性對應的資料字段 這裡舉個例子,c代表蘋果,f代表紅色 p 蘋果 紅色 p 紅色 蘋果 xp 蘋果 p 紅色 通過蘋果是紅色的條件概率可以得到紅色是蘋果的條件概率 通過先驗概率可以算出後驗概率 乙個果子是蘋果的概率為0.3 p c 0.3 乙個果子是紅色的概...
機器學習基礎演算法 樸素貝葉斯
1 為什麼可以使用bayes對未知資料進行分類 首先要了解bayes的概率 條件概率,以及將條件概率應用到分類中 bayes的概率是乙個逆向概率,詳細內容檢視bayestheory.md 可以使用bayes主要是因為在知道某個條件的基礎上,可以反推某一事件發生的概率 在機器學習中使用的樣本資料就是我...