算法朴素贝叶斯法

Posted 数据科学与人工智能

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法朴素贝叶斯法相关的知识,希望对你有一定的参考价值。

笔者邀请您,先思考:

1 您怎么理解朴素贝叶斯法?

2 朴素贝叶斯法的优劣是什么?


 

朴素贝叶斯算法

【算法】朴素贝叶斯法

  朴素贝叶斯是一种简单但是非常强大的线性分类器,它在垃圾邮件分类,疾病诊断中都取得了很大的成功。

  它只所以称为朴素,是因为它假设特征之间是相互独立的

朴素贝叶斯的数学原理

    1.后验概率(Posterior Probabilities):

    为了更好地了解朴素贝叶斯分类器是怎么工作的,了解贝叶斯法则是很必要的。它可以被简单地描述成下面的公式:

      后验概率=(条件概率∗先验概率现象概率)/(现象概率)

举一个简单的例子说明:

     P(给定天上有乌云,下雨的概率)=(P(给定天上下雨,有乌云的概率)P(下雨的概率))/P(有乌云的概率)

          ωj表示属于哪个类别,j∈{1,2,3,…,m}

xi表示特征向量中的第i个特征,i∈{1,2,3,…,n}

朴素贝叶斯的目标就是分别求得P(ωj|给定现象)j∈{1,2,3,…,m},选出最大的概率。

    朴素贝叶斯分类是将实例分到后验概率最大的类中。这等价于期望风险最小化。这就是朴素贝叶斯法所采用的原理。

【算法】朴素贝叶斯法

条件概率公式:

【算法】朴素贝叶斯法
【算法】朴素贝叶斯法

实战代码

【算法】朴素贝叶斯法

from sklearn.naive_bayes import GaussianNB
from sklearn.model_selection import train_test_split
from sklearn import datasets
from sklearn import cross_validation
def load_data():
   iris = datasets.load_iris()
   return cross_validation.train_test_split(iris.data,iris.target,test_size=0.25,random_state=0)

def test_naive_bayes(*data):
   # 模型初始化
   X_train,X_test,Y_train,Y_test=data
   clf = GaussianNB()
   clf.fit(X_train, Y_train)
   # 预测结果
   Y_prict = clf.predict(X_test)
   # 计算准确率
   cnt = 0
   for i in range(len(Y_test)):
       if Y_prict[i] - Y_test[i] < 1e-1:
           cnt += 1
       # print(ans[i], ' ', y_test[i])
   print("Accuracy: ", (cnt * 100.0 / len(Y_test)), "%")
   print('Score:%f'%clf.score(X_test,Y_test))

if  __name__=='__main__':
   X_train,X_test,Y_train,Y_test=load_data()
   test_naive_bayes(X_train,X_test,Y_train,Y_test)

【算法】朴素贝叶斯法

Accuracy:  100.0 %

Score:1.000000


文章推荐:

1


您有什么见解,请留言。

加入数据人圈子或者商务合作,请添加笔者微信。

【算法】朴素贝叶斯法

数据人网是数据人学习、交流和分享的平台http://shujuren.org 。专注于从数据中学习到有用知识。
平台的理念:人人投稿,知识共享;人人分析,洞见驱动;智慧聚合,普惠人人。
您在数据人网平台,可以1)学习数据知识;2)创建数据博客;3)认识数据朋友;4)寻找数据工作;5)找到其它与数据相关的干货。
我们努力坚持做原创,聚合和分享优质的省时的数据知识!
我们都是数据人,数据是有价值的,坚定不移地实现从数据到商业价值的转换!


点击阅读原文,进入数据人网,获取数据知识。




区块链传达,专注于分享区块链内容

脚印英语,专注于分享英语口语内容。





以上是关于算法朴素贝叶斯法的主要内容,如果未能解决你的问题,请参考以下文章

朴素贝叶斯算法

统计学习方法 第4章 朴素贝叶斯法

朴素贝叶斯法

朴素贝叶斯法

4.朴素贝叶斯法

朴素贝叶斯法