贝叶斯分类法是基于统计学的分类法。比较分类算法,该方法可以和决策树、神经网络分类相媲美。
朴素贝叶斯分类法基于数据属性之间是独立的假定。
首先是用到的基本表达式,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)。
以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
数据挖掘导论 http://book.douban.com/subject/5377669/