weka中文使用说明(五)

来源:互联网 发布:淘宝开发团队多少人 编辑:程序博客网 时间:2024/04/24 10:45

2.6 可视化

Weka的可视化页面(Visualize选项卡)可以对当前的关系作二维散点图式的可视化浏览。可视化面板如图2.6-1所示。


图2.6-1 可视化面板

2.6.1 散点图矩阵

选择了visualize面板后,会为所有的属性给出一个散点图矩阵,它们会根据所选的class属性来着色。在这里可以改变每个二维散图的大小,改变各点的大小,以及随机的抖动(Jitter)数据(使得被隐藏的点显示出来)。也可以改变用来着色的属性,可以只选择一组属性的子集放在散点图矩阵中,还可以取出数据的一个子样本,注意这些改变只有在点击了update按钮后才会生效。

2.6.2 选择单独的二维散点图

在散点图矩阵的一个元素上点击后,会弹出一个单独的窗口对所选的散点图进行可视化。如图2.6.2-1.


图2.6.2-1 属性的散点图

数据点散布在窗口的主要区域里。上方是两个下拉框用来选择打点的坐标轴。左边是用作x轴的属性;右边是y轴的属性。

在x轴选择器旁边是一个下拉框用来选择着色的方案。它可以根据所选的属性给点着色。在打点区域的下方,有图例来说明每种颜色代表什么值。如果这些只是离散的可以通过点击它们所弹出的新窗口来修改颜色。

打点区域的右边有一些水平横条。每一条代表着一个属性,其中的点代表了属性值的分布。这些点随机的在竖直方向散开,使得点的密集程度能够被看得出来。在这些横条上点击可以改变主图所用的坐标轴。左键点击改变x轴的属性;右键点击啊改变y轴的。横条旁边的x和y代表了当前的轴用的那个属性。

属性横条的上方是一个标着Jitter的游标。它能随机的使得散点图中各点的位置发生偏移,也就是抖动。把它拖到右边可以增加抖动的幅度,这对识别点的密集程度很有用。如果不使用这样的抖动,几万个点放在一起和单独的一个点看起来没有什么区别。

2.6.3 选择实例

很多时候利用可视化工具选出一个数据的子集是有帮助的。

在y轴选择按钮的下方是一个下拉按钮,它决定选取实例的方法。可以通过以下四种方式选取数据点:

1.        Select instance 点击各数据点会打开一个窗口列出它的属性值,如果点击处的点超过一个,则更多组的属性也会列出来。

2.        Rectangle 通过拖动创建一个矩形,选取其中的点。

3.        Polygon 创建一个形式自由的多边形并选取其中的点。左键点击添加多边形的顶点,右键点击完成定点设置。起始点和最终点会自动连接起来因此多边形总是闭合的。

4.        Ployline 可以创建一条折线把它两边的点分开。左键添加折线顶点,右键结束设置。折现总是打开的。

使用Rectangle,Polygon或Ployline选取了散点图的一个区域后,该区域会变灰色。这是点击submit按钮会移除落在灰色区域之外的所有实例。点击clear按钮会清除所选区域而不对图形产生任何影响。

如果所有的点都被从图中移除,则submit按钮会变成Reset按钮。这个按钮能使前面所做的移除都被取消,图形回到所有点都在的初始状态。最后,点击Save按钮可以把当前能看到的实例保存到一个新的ARFF文件中。

3 命令行界面


SimpleCLI面板可以让用户在面板底部以命令行的方式键入指令。其界面如下图3-1。另外,用户还可以在系统的命令行界面上直接运行Weka.Jar文件中的类,要想以这种方式运行,用户必须按照Weka的README文件中书名的那样,首先设定CLASSPATH环境变量。


图3-1 Simple CLI界面

命令行可以使用以下几个命令:

    Java <classname>[<args>]:调用Java类

Break:停止当前进程

Kill:强制停止当前进程

cls:清屏

exit:退出

help:帮助命令

3.1 建立模型

为了调用Weka中的类,只有预先将Java作为前缀。这个命令告诉CLI类加载和执行的任何给定的参数。例如,J48分类可以这样调用:

javaweka.classifiers.trees.J48 -C 0.25 -M 2 -t directory-path\bank.arff -ddirectory-path \bank.model

运行结果如图3-2:


图3-2 运行结果

1.        其中参数“ -C 0.25”和“-M 2”是和图形界面中所设的一样的。

2.        “-t ”后面跟着的是训练数据集的完整路径(包括目录和文件名),“-d ”后面跟着的是保存模型的完整路径。

注意:这里我们可以把模型保存下来。输入上述命令后,所得到树模型和误差分析会在“Simple CLI”上方显示,可以复制下来保存在文本文件里。 误差是把模型应用到训练集上给出的。

3.2 使用模型预测

把这个模型应用到“bank-new.arff”所用命令的格式为:

javaweka.classifiers.trees.J48 -p 9 -l directory-path\bank.model -T directory-path\bank-new.arff

其中“-p 9”说的是模型中的待预测属性的真实值存在第 9 个(也就是“pep”)属性中,这里它们全部未知因此全部用缺失值代替。

“-l”后面是模型的完整路径。“-T”后面是待预测数据集的完整路径。

输入上述命令后,在“Simple CLI”上方会有这样一些结果,如图3-2:


图3-2 运行结果

 

 

结果解释:

这里的第一列就是我们提到过的Instance_number。

第二列则是数据中原来的“pep”值(这里都是“”缺失值),在这里没有意义。

第三列就是刚才的predictedpep。

第四列对预测结果的置信度(confidence )。比如说对于实例1, 我们有81.5%的把握说它的“pep”的值会是“NO”, 对实例5我们有89.9%的把握说它的“pep” 值会是“NO”。

我们看到,使用命令行至少有两个好处。一个是可以把模型保存下来,这样有新的待预测数据出现时,不用每次重新建模,直接应用保存好的模型即可。另一个是对预测结果给出了置信度,我们可以有选择的采纳预测结果,例如只考虑那些置信度在 85%以上的结果。

0 0