简介

Weka 是一个由Java编写的开源免费的数据挖掘工具,全称怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),它是基于JAVA环境下开源的机器学习(machine learning)以及数据挖掘(data mining)的软件,运行该工具需要安装Java环境。

Weka同时提供了命令行和GUI两种使用方式方式,前者效率更高,后者使用更简单。

软件安装

1. 下载并安装Java环境

参见教程:http://www.runoob.com/java/java-environment-setup.html

2.安装Weka

Windows上下载.exe安装后直接双击运行安装

官方网址:https://www.cs.waikato.ac.nz/ml/weka/

java代码中如何调用微信接口_Java

数据集介绍

在Weka中,一个数据集由 weka.core.Instances 实现。数据集中每个样例是由weka.core.Instance实现。每个样例由多个属性组成,其中简单的属性类型见表1。

表1:Weka数据集的简单属性

属性类型

描述

样例

列表型(nominal)

一组值得预定义列表

{1,2,3}, {good, bad}

数值型(numeric)

一个实数或者整数

12, 2.3, 50

字符串(string)

一个任意长的字符序列,包含在双引号内

"better", "worse"

除了简单属性,Weka还有附加类型的属性date和relational,将会在之后介绍。

Weka的数据集存储在ARFF格式的文件中,下面是一个ARFF文件的格式说明:



% This is a toy example, the UCI weather dataset. % Any relation to real weather is purely coincidental. @relation golfWeatherMichigan_1988/02/10_14days @attribute outlook {sunny, overcast, rainy} @attribute windy {TRUE, FALSE} @attribute temperature real @attribute humidity real @attribute play {yes, no} @data sunny,FALSE,85,85,no sunny,TRUE,80,90,no overcast,FALSE,83,86,yes rainy,FALSE,70,96,yes rainy,FALSE,68,80,yes



以%开头的两行是注释,主要介绍该数据集的来源,内容和意义等;

@relation 是该数据集的关系名称;

@attribute 是该数据集每个实例的属性说明,上例中共有5个属性,其中3个列表型属性,2个数值型属性,没有字符串型属性;

@data 下面行就是数据集内容,每行代表一个实例,每个实例由5个之前定义过的属性。

在Weka中,默认将每个样例的最后一个属性认为是类别/标记 属性,在上例中,类别属性是play,通过前4个属性来判断play是yes或者no。当然也可以通过参数 -c 来自己指定类别属性。Weka中属性的索引从1开始编号,例如,-c 1 将指定第一个属性即outlook为类别属性。

通过 weka.core.Instances 类可以统计 ARFF数据集的一些基本信息,命令行参数为:



java weka.core.Instances weather.arff



结果如下:

可以看到该数据集的名称,样例数目,属性数目,每个属性的类型,有误属性丢失等统计信息。

java代码中如何调用微信接口_数据集_02

weka.core提供了一些别的有用的程序,如converters.C45Loader 和 converters.CSVLoader 能够分别导入C45数据集和CSV格式的数据集并将其转换为ARFF格式,命令如下:



java weka.core.converters.CSVLoader data.csv > data.arff java weka.core.converters.C45Loader c45_filestem > data.arff



 未完待续...