5 DM 工具
5.1 DM 工具比较
表格 8 DM 工具比较 1
工具名 | 功能 | 特点 | 适用场景 |
---|---|---|---|
MATLAB | 不仅具有较强的数据统计、科学计算功能,还具有金融、经济等众多的行业应用工具箱。 | 擅长矩阵计算和仿真模拟; 具有丰富的数学函数,适合算法开发或自主的程序开发; 具有强大的绘图功能。 | 适合学习研究算法和灵活的产品开发。 |
SAS | 功能强大的统计分析软件。 | 具有较强的大数据处理能力; 支持二次开发。 | 有一些行业标准,适合工业使用。 |
SPSS | 侧重统计分析。 | 使用方便,但不适合自己开发代码,就是说扩展上受限,如果要求不高,已经足够。 | 界面友好,使用简单,但功能强大,也可以编程,能解决大部分统计学问题,适合初学者。 |
WEKA | 具有丰富数据挖掘函数,包括分类、聚类、关联分析等主流算法。 | Java 开发的开源数据分析、机器学习工具。 | 适合于具有一定程序开发经验的工程师,尤其适合于用 Java 进行二次开发。 |
R | 类似 MATLAB,具有丰富的数学和统计分析函数。 | 开源并支持二次开发。 | 适合算法学习、小项目的产品研发。 |
表格 9 数据挖掘常用工具
工具 | 简介 |
---|---|
TipDM | (顶尖数据挖掘平台) 使用 JAVA 语言开发,能从各种数据源获取数据,建立各种不同的数据挖掘模型(目前已集成数十种预测算法和分析技术,基本覆 盖了国外主流挖掘系统支持的算法)。工具支持数据挖掘流程所需的主要过程:数据探索(相关性分析、主成分分析、周期性分析);数据预处理(属性选择、特征 提取、坏数据处理、空值处理);预测建模(参数设置、交叉验证、模型训练、模型验证、模型预测);聚类分析、关联规则挖掘等一系列功能。 |
RapidMiner | 也叫 YALE,提供了图形化界面,采用了类似 Windows 资源管理器中的树状结构来组织分析组件,树上每个节点表示不同的运算符 (operator)。YALE 中提供了大量的运算符,包括数据处理、变换、探索、建模、评估等各个环节。YALE 是用 Java 开发的,基于 Weka 来构 建,也就是说它可以调用 Weka 中的各种分析组件。 |
KNIME | (Konstanz InformationMiner),基于 Java 开发的,可以扩展使用 Weka 中的挖掘算法。KNIME 采用的是类似数据流(data flow)的方式来建立分析挖掘流程,挖掘流程由一系列功能节点组成,每个节点有输入/输出端口,用于接收数据或模型、导出结果。 |
WEKA | Waikato Environment for Knowledge Analysis,是一款知名度较高的开源机器学习和数据挖掘软件。高级用户可以通过 Java 编程和命令行来调用其分析组件。同时,WEKA 也为普通用户 提供了图形化界面,称为 WEKA Knowledge Flow Environment 和 WEKA Explorer,可以实现预处理、分类、聚类、关联规则、文本挖掘、可视化等。 |
5.2 weka
5.2.1 weka 使用
简介
WEKA 的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),同时 weka 也是新西兰的一种鸟名,而 WEKA 的主要开发者来自新西兰。
WEKA 作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则以及在新的交互式界面上的可视化。
数据格式
WEKA 存储数据的格式是 ARFF(Attribute-Relation File Format)文件,这是一种 ASCII 文本文件。示例如下:
% ARFF file for the weather data with some numric features`
`%`
`@relation weather
@attribute outlook {sunny, overcast, rainy}`
`@attribute temperature real
@data`
`% 3 instances`
`sunny,85,85,FALSE,no`
`sunny,80,90,TRUE,no`
`overcast,83,86,FALSE,yes
说明:如上所示,一个数据集类似一个``excel``表格,列为``attribute,``行为``data``或``instance. attribute``声明格式为
@attribute ,datatype 有 4 种,分别是 numberic, norminal, string, date。
1)数据预处理 preprocess
包括属性离散化 Discretize, 过滤 filter 等。
**2)关联规则(购物篮分析)**Associate
默认关联规则分析是用 Apriori 算法。
3)分类与回归 Classification & Regression
在 WEKA 中,待预测的目标(输出)被称作 Class 属性,这应该是来自分类任务的“类”。一般的,若 Class 属性是分类型时我们的任务才叫分类,Class 属性是数值型时我们的任务叫回归。分类质量指标:P(正确度),R(召回率),F 值。
- 训练集 trainset: 用来建立模型
- 测试集 testset: 用来验证模型
- 测试:模型建立后,若用训练集进行验证,叫封闭测试;若用测试集验证,则为开放测试。
- 模型:训练后得到的模型,包括算法,各类参数等
常用算法 :NB…
运行结果分析 :
//说明:正确率,越大越好
Correctly Classified Instances 25 50 %
1) 聚类分析 cluster
有以下度量:
- 空间距离
- 欧氏距离:通常用于数值的属性。
常用算法 :KNN…
运行结果分析 :
//说明:衡量标准,越小越好
Within cluster sum of squared errors: 540.7387788014682
2) 命令行工具 simple CLT
//-p [num]指被预测属性的位置; -l 模型路径; -T 测试集路径; -t 训练集路径 -d 生成模型路径
//trainset
java weka.classifiers.trees.J48 -C 0.25 -M 2 -t D:\my_install\Weka-3-6\data-test\bank.arff -d D:\my_install\Weka-3-6\data-test\bank.model
//testset:
java weka.classifiers.trees.J48 -p 9 -l D:\my_install\Weka-3-6\data-test\bank.model -T D:\my_install\Weka-3-6\data-test\bank-test.arff
5.2.2 Package Hierarchies
5.2.3 weka development
在 WEKA 的安装目录中找到 weka-src.jar,用 winrar 之类的解压缩软件打开,即是一个完好的 JAVA Application 项目。主类可选择 weka.gui.GUIChoosew 然后出现二进制程序所显示的界面了。
开发示例: http://weka.wikispaces.com/MessageClassifier
在 classpath 未设置好的情况下,编码和运行需指定 classpath, 如下:
# compile:
## classpath: –classpath ./weka.jar;./
$java –classpath ./weka.jar;./ MessageClassifier -m email1.txt -c miss -t messageclassifier.model
# training:
java MessageClassifier -m email1.txt -c miss -t messageclassifier.model
# classify:
java MessageClassifier -m email1023.txt -t messageclassifier.model
5.2.4 本节参考
[1]. http://rapid-i.com/content/view/64/74/lang,en/
[2]. http://www.cs.waikato.ac.nz/~ml/index.html
[3]. http://forum.wekacn.org/viewtopic.php?f=2&t=9
[4]. weka 学习总结 http://www.sciencenet.cn/m/user_content.aspx?id=262955
5.3 RapidMiner
RapidMiner 是世界领先的数据挖掘解决方案,在一个非常大的程度上有着先进技术。它数据挖掘任务涉及范围广泛,包括各种数据艺术,能简化数据挖掘过程的设计和评价。
功能和特点
- 免费提供数据挖掘技术和库
- 100%用 Java 代码(可运行在操作系统)
- 数据挖掘过程简单,强大和直观
- 内部 XML 保证了标准化的格式来表示交换数据挖掘过程
- 可以用简单脚本语言自动进行大规模进程
- 多层次的数据视图,确保有效和透明的数据
- 图形用户界面的互动原型
- 命令行(批处理模式)自动大规模应用
- Java API(应用编程接口)
- 简单的插件和推广机制
- 强大的可视化引擎,许多尖端的高维数据的可视化建模
- 400 多个数据挖掘运营商支持
- 耶鲁大学已成功地应用在许多不同的应用领域,包括文本挖掘,多媒体挖掘,功能设计,数据流挖掘,集成开发的方法和分布式数据挖掘。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论