1、贝叶斯要解决的问题
- 正向概率
-
1.1 贝叶斯公式
1.2 模型比较
最大似然估计:最符合观测数据的(P(B|A)最大)最有优势
- 奥卡姆剃刀:P(B)最大的最有优势,即先验概率越大越有优势
1.3 用途
中文分词、输入纠错、图像分类1.4 为什么需要贝叶斯
直接衡量概率的一种算法2、朴素贝叶斯
就是在贝叶斯的前提下,假设特征之间是独立的,互不影响的。
另外就是贝叶斯算法可以在极少的样本条件下,也可以得到不错的效果。
3、sklearn例子
sklearn中的贝叶斯类库:GaussianNB(高斯分布的朴素贝叶斯)、MultinomialNB(多项式分布的朴素贝叶斯)、BernoulliNB(伯努利分布的朴素贝叶斯)、ComplementNB(补充朴素贝叶斯)、
import numpy as npfrom sklearn import datasetsfrom sklearn.naive_bayes import GaussianNBfrom sklearn.model_selection import train_test_splitimport matplotlib.pyplot as pltdigits = datasets.load_digits()X, Y = digits.data, digits.targetX_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.3, random_state=666)# 实例化 建模gnb = GaussianNB().fit(X_train, Y_train)# 查看分数gnb.score(X_test, Y_test)Y_pred = gnb.predict(X_test)# 这里Y_pred 是对所有样本的概率估计 并且最后去的概率最大的值Y_pred.shapeY_pred[1, :].sum()
