weka使用

简介

集数据预处理、学习算法(分类、回归、聚类、关联分析)和评估方法等为一体的综合性数据挖掘工具。

输入

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),用两种颜色表示正负样本的个数,可以通过这个图看到属性对于目标值的区分度(可以看出第三个属性的区分度是所有属性中最强的)
      1
  • 本例中采用了决策树的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:混淆矩阵

参考文献

<dependency>
    <groupId>nz.ac.waikato.cms.weka</groupId>
    <artifactId>weka-stable</artifactId>
    <version>3.6.10</version>
</dependency>
展开阅读全文

没有更多推荐了,返回首页