开源数据挖掘工具 Orange

来源:互联网 发布:centos gcc 编辑:程序博客网 时间:2024/06/07 05:47
       Orange是一个基于组件的机器学习库,可通过可视化编程或Python 脚本进行数据挖掘,对初学者和专家都适用,并且可通过扩展运用到生物信息学和文本挖掘方面。Orange是由斯洛文尼亚的卢布尔雅那大学(University of Ljubljana)计算机与信息科学学院的人工智能实验室开发生产的,是通过GNU 通用公共许可认证下的开源软件。
官网网站:http://orange.biolab.si/screenshots/

Orange号称的特性:
1、支持可视化编程
2、支持不同的可视化图像
3、支持交互式数据分析
4、大工具箱:超过100个部件并在不断添加,覆盖标准的数据分析任务
5、支持Python接口  
6、支持Windows、Linux、Mac OS X等

在网上和安装包内没有找到任何可视化编程资料,因此只能通过Python接口进行学习。
使用Orange进行数据挖掘前必须将数据转换为相应的格式:
       1、后缀名为.tab的文本文件
2、第一行为属性名,每个属性名之间用tab键隔开
3、第二行为属性特性:离散或连续,分别用discrete或continuous表示,也可简写为d或c
4、第三行为可选附加信息,如用ignore(或i)表示忽略该列
5、后面是数据,每列之间用tab隔开

Orange中的离群点挖掘
     orngOutlier是orange中提供的专门用于离群点挖掘的一个类


算法:首先计算每个样本到其他样本的平均距离,然后计算所有平均距离的z-score,z-score越高表明该样本到其他样本的距离比平均距离更远


可以设置使用的距离(如欧氏距离或欧几里得距离)和邻居的数目。默认使用曼哈顿距离,邻居数目默认为0.

例子:
      import orange, orngOutlierdata = orange.ExampleTable("car")outlierDet = orngOutlier.OutlierDetection()outlierDet.setExamples(data, orange.ExamplesDistanceConstructor_Euclidean(data))zValues = outlierDet.zValues()sorted = zValues[:]sorted.sort()for i, el in enumerate(zValues):if el >= sorted[-10]: print  i,"\t:",data[i],"Z-score: %5.3f" % el
该例子使用car.tab这个文件作为数据输入,使用欧几里得距离计算样本距离,输出z-score最高的10个样本和其z-score.
但是计算的结果貌似不太好。。。







原创粉丝点击