基本概念
贝叶斯分类法是基于统计学的分类法。比较分类算法,该方法可以和决策树、神经网络分类相媲美。
朴素贝叶斯分类法基于数据属性之间是独立的假定。
贝叶斯定理
首先是用到的基本表达式,P(H|X)表示条件X下,H的后验概率。P(H)是表示H发生的先验概率。贝叶斯定理是:
P(H|X)=P(X|H)P(H)/P(X)
朴素贝叶斯分类
设D是用于训练的数据集,包含类标号。
假设共有n个类C1,C2,C3,......Cn。现有元素X,分类法找到X属于具有最高概率的类。就是说X属于类Ci,并且P(Ci|X)>P(Cj|X)。
Orange中的朴素贝叶斯
以iris数据集为例,在Orange简单实用朴素贝叶斯的方法如下:
import Orange
#加载数据
iris= Orange.data.Table("iris")
learner = Orange.classification.bayes.NaiveLearner()
#训练数据
classifier = learner(iris)
#验证结果
for inst in iris[:10]:
print inst.getclass(), classifier(inst)
运行结果如下:
Iris-setosa Iris-setosa
Iris-setosa Iris-setosa
Iris-setosa Iris-setosa
Iris-setosa Iris-setosa
Iris-setosa Iris-setosa
Iris-setosa Iris-setosa
Iris-setosa Iris-setosa
Iris-setosa Iris-setosa
Iris-setosa Iris-setosa
Iris-setosa Iris-setosa
同时可以借助Orange的widget,进行可视化方法的朴素贝叶斯分类。仍然以iris数据为例:


参考资料
数据挖掘导论 http://book.douban.com/subject/5377669/
本文介绍了基于统计学的贝叶斯分类法及其朴素版本,包括贝叶斯定理的基本表达式、朴素贝叶斯分类法的工作原理以及使用Python中的Orange库进行数据分类的具体实例。
1万+

被折叠的 条评论
为什么被折叠?



