WEKA平台简介
WEKA的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),同时weka也是新西兰的一种鸟名,而WEKA的主要开发者来自新西兰。WEKA作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则以及在新的交互式界面上的可视化。
在网上搜索Weka(网址:https://waikato.github.io/weka-site 该网站可以免费下载软件,及说明文档),了解该软件的由来、用途、下载途径,安装方法,并安装该软件。
软件的安装基本上没有什么需要注意的,就是下载路径选择所需要的路径
实例一:weka的初步使用
1)、打开GUI,点击Explorer按钮,此时会出现Explorer界面;
2)、点击Open,选择data文件下的任意一个数据集,例如 weather.nominal.arff 数据集,这里面记录的是一些天气数据;
注:打开时需要自主选择data文件的路径
3)、在栏目上选择不同的算法(数据集不支持的算法会变暗)。选中可以使用的算法,再点击Start,就可以在右侧的output中看到计算结果;
当然你也可以自定义数据集,用Weka进行分析测试,十分方便。
实例二:用Weka实现一个数据挖掘技术——回归。
用回归模型根据给定的自变量的值可预测一个未知的因变量的结果。
房子的价格(因变量)是很多自变量 — 房子的使用面积、占地的大小、厨房是否有花岗石以及卫生间是否刚重装过等的结果。所以,可创建一个回归模型来为房子定价。这个模型建立在邻近地区内的其他有可比性的房子的售价的基础上,然后再把要定价的房子的值放入此模型来产生一个预期价格。
创建一些真实的数据:
房子面积(平方英尺) | 占地的大小 | 卧室 | 有无花岗岩 | 卫生间有无重装 | 销售价格 |
3529 | 9191 | 6 | 0 | 0 | $205,000 |
3247 | 10061 | 5 | 1 | 1 | $224,900 |
4032 | 10150 | 5 | 0 | 1 | $197,900 |
2397 | 14156 | 4 | 1 | 0 | $189,900 |
2200 | 9600 | 4 | 0 | 1` | $195,000 |
3536 | 19994 | 6 | 1 | 1 | $325,000 |
772983 | 9365 | 5 | 0 | 1 | $230,000 |
3198 | 9669 | 5 | 1 | 1 | ? |
为了将数据加载到 WEKA,我们必须将数据放入一个Weka能够理解的格式。WEKA 建议的加载数据的格式是 Attribute-Relation File Format (ARFF)。
大致过程
1)查看该软件自带的ARFF格式文件,上网了解ARFF格式文件,并为本例创建一个包含以上数据的ARFF格式文件。
2)创建回归模型。启动 WEKA,然后选择 Explorer。将会出现 Explorer 界面,选中其中的 Preprocess 选项卡。选择 Open File 按钮并选择已创建的 ARFF 文件。
在这个视图中,WEKA 允许查阅正在处理的数据。在 Explorer 窗口的左边,给出了数据的所有列(Attributes)以及所提供的数据行的数量(Instances)。若选择一列,Explorer 窗口的右侧就会显示数据集内该列数据的信息。
为了创建这个回归模型,单击 Classify 选项卡,选择线性回归模型:
Supplied test set 允许提供一个不同的数据集来验证模型; Cross-validation 交叉验证模型;Percentage split WEKA 取所提供数据的一部分来验证模型。这些不同的选择对于不同的模型非常有用。对于回归,可以简单地选择 Use training set:使用训练数据进行验证。
3)准备好模型后,单击 Start,输出结果。
开始实验
首先我们创立一个.csv文件
注意:文件内必须全部是英文,不然可能读取不出来
然后打开主界面tool里的ArffView
再通过file打开这个.csv文件
最后通过另存为file里的save as保存成arff文件
这就是arff文件的实现方法,然后我们在explorer里打开这个.arff文件
算法选择Use training set,结果如下
实验结束
结语
WEKA提供了多种分类、聚类、回归等算法,以及数据预处理、特征选择等辅助工具。这些功能能够轻松地进行各种机器学习实验,探索不同算法和参数对模型性能的影响。同时,WEKA作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则以及在新的交互式界面上的可视化。