您的位置:首页 > 编程语言 > Python开发

使用Orange进行数据挖掘之分类(1)------朴素贝叶斯分类

2013-01-02 14:18 381 查看

基本概念

贝叶斯分类法是基于统计学的分类法。比较分类算法,该方法可以和决策树、神经网络分类相媲美。

朴素贝叶斯分类法基于数据属性之间是独立的假定。

贝叶斯定理

首先是用到的基本表达式,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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Orange Python 数据挖掘