简介
集数据预处理、学习算法(分类、回归、聚类、关联分析)和评估方法等为一体的综合性数据挖掘工具。
- weka下载链接:https://sourceforge.net/projects/weka/files/weka-3-8/3.8.1/weka-3-8-1-oracle-jvm.dmg/download?use_mirror=nchc
- 入口界面
- Explorer (探索环境)
- Knowledge Flow (知识流环境)
- Experimenter (算法试验环境)
- Workbench (工作台)
- 命令行界面
输入
weka的输入格式要求是arff,按照如下格式修改arff文件(在文件头部按照实际情况添加如下内容)
- @relation <关系名> (如果包含空格,需要用双引号)
- @attribute <属性名> <数据类型>;
属性声明语句的顺序很重要,因为它表明了该项属性在数据部分的位置;其次,最后一个声明的属性被称为class属性,在分类或回归任务中,它是默认的目标变量
; - @data 下方为各个实例的数据,每个实例占一行,实例的各个属性值用逗号”,“隔开;
- 如果某个属性的值是缺失值Missing value,用问号表示,且这个问号不能省略,在vim下执行以下命令进行替换:
%s/,,/,?,/g
- weka支持的四种数据类型(区分大小写)
- numeric 数值型(integer,real都被当为numeric,无论整数还是实数都当做实数来处理)
<nominal-specification>
标称(nominal)型;如上述的qscore字段- string 字符串型
- date
<date-format>
日期和时间型,默认格式是"yyyy-MM-dd HH:mm:ss"
@RELATION forecast_dataset
@ATTRIBUTE coverage_v REAL
@ATTRIBUTE adopt_v REAL
@ATTRIBUTE tair_cover_ratio_undistinct REAL
@ATTRIBUTE pv_consistency REAL
@ATTRIBUTE rank_coverage REAL
@ATTRIBUTE nowrank_replaypv_validratio_new REAL
@ATTRIBUTE nowrank_replaypv_validratio_old REAL
@ATTRIBUTE qscore {0,1}
@ATTRIBUTE ds REAL
@ATTRIBUTE hh REAL
@DATA
试用探索
- 数据导入和预处理
- Filter处可以通过Choose 选择某个筛选器Filter,以实现筛选数据或者对数据进行某种变换。数据预处理主要就是利用它来实现。
- Edit完成数据预览和编辑
- Selected attribute给出了当前选择列的一些基本信息,比如缺失率、值个数,唯一值占比等,对于数值型数据还有最小值、最大值、平均值、标准差等;
- 右下方还可以根据目标列给出直方图(点击visualize all),用两种颜色表示正负样本的个数,可以通过这个图看到属性对于目标值的区分度(可以看出第三个属性的区分度是所有属性中最强的)
- 本例中采用了决策树的C4.5进行训练和预测,模型和结果如下所示
- 正确率:95.8478 %
- 选择的评估方式是10次交叉验证,提供了4种模型的评估方法
- Using traning set:使用训练集进行评估
- Supplied test set:使用测试集评估
- Cross-validation:交叉验证,folds 折数
- Percentage split:使用一定比例的训练实例做评估,可以设置训练实例的百分比
- 每一个分支的叶子节点数据:1 (34.49/3.92),1代表类别,34.49表示该分支平均正确划分的样本数,3.92表示该分支平均错误划分的样本数
- 下面的输出结果含有的内容如下:
- Run information:运行信息
- Classifier model (full training set) :使用全部训练数据构造的分类模型
- Summary:针对训练/检验集的预测效果汇总
- Detailed Accuracy By Class:对每个类的预测准确度的详细描述
- Confusion Matrix:混淆矩阵
参考文献
- WEKA中文详细教程
- 数据挖掘系列(1)关联规则挖掘基本概念与Aprior算法
- 数据挖掘系列(2)–关联规则FpGrowth算法
- 数据挖掘系列(3)–关联规则评价
- 数据挖掘系列(4)使用weka做关联规则挖掘
- java使用weka
- weka api
- Weka数据挖掘——聚类
- EM聚类定义和java实现
- 详细解释数据挖掘中的 10 大算法(上)
<dependency>
<groupId>nz.ac.waikato.cms.weka</groupId>
<artifactId>weka-stable</artifactId>
<version>3.6.10</version>
</dependency>