ML 与 DM 工具 Weka 的使用

本文介绍了Weka数据挖掘工具,包括其背景、安装过程、数据格式等方面。Weka是一款免费开源的机器学习软件,支持数据预处理、分类、聚类等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、关于Weka 

  Weka 的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),是一款免费的、非商业化(与之对应的是SPSS公司商业数据挖掘产品--Clementine )的,基于JAVA环境下开源的机器学习(machine learning)以及数据挖掘(data mining)软件。它和它的源代码可在其官方网站下载。有趣的是,该软件的缩写WEKA也是新西兰独有的一种鸟名,而Weka的主要开发者同时恰好来自新西兰的the University of Waikato。

  Weka 作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则以及在新的交互式界面上的可视化。

 

2、Weka 的安装

  Weka 官网:  http://www.cs.waikato.ac.nz/ml/weka/

       于网页左下角找到 download ,进入下载页面,支持 windows,mac os,linux等平台下的版本,此处以windows系统作为示例。目前最新版本是3-8-1。如果计算机没有安装 Java,可以选择带有jre的版本。下载后是一个exe的可执行文件,双击进行安装即可。安装完毕,打开启动weka的快捷方式,如果可以看到如下界面,即是安装成功。

上图所示窗口共有4个Applications ,分别是:

1)Explorer(探索功能,用的最多)

用来进行数据实验、挖掘的环境,它提供了数据预处理,分类,聚类,关联规则,特征选择,数据可视化的功能。(An environment for exploring data with WEKA)

Preprocess (数据预处理)窗口:

 

2)Experimentor

用来进行实验,对不同学习方案进行数据测试的环境。(An environment for performing experiments and conducting statistical tests between learning schemes.)

3)KnowledgeFlow

功能和Explorer差不多,不过提供的接口不同,用户可以使用拖拽的方式去建立实验方案。另外,它支持增量学习。(This environment supports essentially the same functions as the Explorer but with a drag-and-drop interface. One advantage is that it supports incremental learning.)

4)SimpleCLI

简单的命令行界面。(Provides a simple command-line interface that allows direct execution of WEKA commands for operating systems that do not provide their own command line interface.)

 

3、Weka 数据格式

 Weka 所处理的数据,其存储的格式是ARFF(Attribute-Relation File Format)文件,这是一种ASCII文本文件。Weka 所处理的数据集是一个二维的表格。表格里的一个横行称作一个实例(Instance),相当于统计学中的一个样本,或者数据库中的一条记录。 竖行称作一个属性(Attribute),相当于统计学中的一个变量,或者数据库中的一个字段。这样一个表格,或者叫数据集,在WEKA看来,呈现了属性之 间的一种关系(Relation)。

 例子:Weka 自带的weather.numeric.arff 文件(在Weka安装目录下有:...\Weka-3-8\data)

 1 % This is weather data     ==》》"%" 开头的内容属于注释
 2 % This is weather data
 3 % This is weather data
 4 
 5 @relation weather          ==》》关系声明
 6 
 7 @attribute outlook {sunny, overcast, rainy}    ==》》属性声明
 8 @attribute temperature numeric
 9 @attribute humidity numeric
10 @attribute windy {TRUE, FALSE}
11 @attribute play {yes, no}
12 
13 @data                    ==》》真实数据
14 sunny,85,85,FALSE,no
15 sunny,80,90,TRUE,no
16 overcast,83,86,FALSE,yes
17 rainy,70,96,FALSE,yes
18 rainy,68,80,FALSE,yes
19 rainy,65,70,TRUE,no
20 overcast,64,65,TRUE,yes
21 sunny,72,95,FALSE,no
22 sunny,69,70,FALSE,yes
23 rainy,75,80,FALSE,yes
24 sunny,75,70,TRUE,yes
25 overcast,72,90,TRUE,yes
26 overcast,81,75,FALSE,yes
27 rainy,71,91,TRUE,no

 其中,数据信息需要注意:

①数据信息 :数据信息中“@data”标记独占一行,剩下的是各个实例的数据。

②数据缺失值:如果某个属性的值是缺失值(missing value),用问号“?”表示,且这个问号不能省略。例如:

@data 
sunny,85,85,FALSE,no 
?,78,90,?,yes 

③稀疏数据 :有的时候数据集中含有大量的0值(比如购物篮分析),这个时候用稀疏格式的数据存贮更加省空间。 
稀疏格式是针对数据信息中某个实例的表示而言,不需要修改ARFF文件的其它部分。看如下的数据: 

@data 
0, X, 0, Y, "class A" 
0, 0, W, 0, "class B" 

用稀疏格式表达的话就是 

@data 
  {1 X, 3 Y, 4 "class A"} 
  {2 W, 4 "class B"} 

每个实例用花括号括起来。实例中每一个非0的属性值用<index> <空格> <value>表示。<index>是属性的序号,从0开始计;<value>是属性值。属性值之间仍用逗号隔开。这里每个实例的数值必须按属性的顺序来写,如 {1 X, 3 Y, 4 "class A"},不能写成{3 Y, 1 X, 4 "class A"}。


注意在稀疏格式中没有注明的属性值不是缺失值,而是0值。若要表示缺失值必须显式的用问号表示出来。

 

 

 

 

 

【References】

1. https://baike.baidu.com/item/weka/10701215?fr=aladdin

2. http://blog.youkuaiyun.com/yangliuy/article/details/7589306

3. http://blog.51cto.com/baidutech/1033714

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值