前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Python环境】python的Orange包实现机器学习与数据挖掘的分类问题

【Python环境】python的Orange包实现机器学习与数据挖掘的分类问题

作者头像
陆勤_数据人网
发布2018-02-27 14:59:35
2.6K0
发布2018-02-27 14:59:35
举报

Orange是Python语言中一个强大的机器学习包,主要用于实现数据挖掘和有监督的机器学习,包括分类,回归等等。在Orange的使用过程中并不需要用户像使用Sklearn那样记性复杂的参数设置,甚至进行必要的参数优化(尽管我们必须承认这些功能有时候是很有用,而且在Sklearn中是相当强大的),但是对于一些初学者尤其是没有编程基础的生物学专业的用户来说,一种简单有效,且适用性强的数据挖掘方法才是真正被需要的。因此今天我们就以Orange为例,为大家介绍一下如何通过Orange来解决数据分类预测的问题。

第一步需要配置Python环境,并按照Orange包

Python下载地址https://www.python.org/

Orange下载地址http://docs.orange.biolab.si/tutorial/rst/classification.html

下载后首先配置环境变量,然后在命令提示符中找到Orange所在目录并输入

Python setup.py install

在IDLE中输入import orange,如果没有报错,则说明已经成功安装好Orange,接下来我们就可以开始我们的Orange机器学习之旅了!

第二步学习过程并建立模型

我们从Orange库中获取了一个测试数据,并传递给变量data。数据类型如图所示,红框圈出的为类别标签label,可见有两类分别为republican和democrat。同时特征值里包含三类字符,n,y,?。 “?”代表的是缺失值,这是Orange不得不提的一个强大之处,就是可以默认或忽略文本中的缺失值,而我们知道在高通量数据比如测序数据中,缺失值是大量存在的,尽管有很多方法可以补全和估计缺失值,例如根据行和列的均值,中值,标准差等,但是补全的缺失值并不能代表真实情况,只是近似估计而已,因此在某些情况下,与其近似估计,不如默认忽视这样的缺失值,保证文本最真实的情况。

接下来就是构建模型,learner是通过Orange包中的贝叶斯模型构建的学习机,并通过data进行训练,获得分类模型classifer。

第三步预测过程,通过classifer模型对测试数据进行判别

我们取前十个数据点进行判别预测,输出结果如蓝字表示,左侧一列代表预测结果,右侧为原始分类,可见有两个democrat类别的数据点进行了错误分类,精度可达到80%,说明模型对于republican类别的数据预测效果较好,对democrat的分类效果稍差。总体精度还可以。

第四步,验证模型分类效能

对于分类器,我们通常需要借助交叉验证或ROC进行评价,那么这里我们同样结合交叉验证计算ROC曲线下面积 即AUC值,来评价我们构建的模型的分类效能。

Bayes为学习机,res为结合5倍交叉验证进行重复预测,最后我们输出平均精度和AUC值。

可见平均精度为90%,AUC值为0.97,说明我们这个贝叶斯分类模型还是具有相当的稳健性的。

以上就是通过Orange实现的数据分类预测过程,从获取数据到建立模型,预测,效能验证全过程都不需要传递任何参数,不像其他分类方法必须由用户传递核函数,惩罚项等等,但是通过交叉验证和ROC,我们证明了Orange分类模型具有足够的精确度和稳健性。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-11-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据科学与人工智能 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档