学习weka(4):weka之experimenter界面介绍

前言

在这里插入图片描述

如上图所示,之前我们介绍了 Explorer 界面,说实话,对于一般的机器学习研究,尤其是工程性质的项目,我觉得 Explorer 应用就足够了(其他功能没看的前提下),毕竟数据加载,算法选择,特征选择,数据可视化,算法运行等功能已经足够齐全了。

但是,这个功能只占据了 weka 五分之一,这就让我十分好奇,其他应用究竟是什么功能呢?让我们来看一下。

1、简单介绍

简单来说,experimenter 完成的功能有如下几个:

  • 支持多个算法对多个数据集进行运算
  • 支持分布式运算

Explorer 应用虽然也支持多个算法同时运行,但是那都是单个算法对单个数据集(除非人工合并成一个),而且不支持分布式运算。

Experimenter 的分布式运算并不是算法层次的分布式运算,而是将不同数据集分配到不同的服务器进行的,所以有以下几点需要注意:

  • 服务器数量不能超过数据集的数量;
  • 每个服务器运行的试验都是相互独立互不干扰的,只有最终结果才会汇总到一个服务器上
  • 服务器之间的远程调用时通过 RMI 进行的。

2、功能界面介绍

2.1 simple 模式

(1)setup 说明

在这里插入图片描述

如上所示,下面仔细说一下各部分功能:

  • 区域 1:菜单部分,setup 是设置运行参数,Run 是设置完后开始运行,Analyse 是
  • 区域 2:功能选择,重点看一下画圈部分,这里分为两个功能模块,一个是 simple,一个是 advanced,前者是低配版,后者是高配版(功能齐全),目前展示的画面是 simple 版本
  • 区域 3:这个是结果输出文件,选择一个文件,运行结束会将结果打印到该输出文件中,先选择左边的文件类型,然后点击 Browse 可以选择输出文件
  • 区域 4:试验设置,重点看画圈部分,这里共有三种设置:
    • Cross-validation:交叉验证,下面选择折数,没啥好说的
    • Train/Test Percentage Split (data randomized):切分训练数据集和测试数据集,切分的时候先打乱顺序,然后按照百分比进行选择数据
    • Train/Test Percentage Split (order preserved):不会打乱顺序,按照指定百分比进行切分(可以事先合并好数据集,然后按照这个进行切分)
  • 区域 5:迭代控制,设置算法迭代次数,重点看我画圈部分,数据集优先还是算法优先,因为数据集和算法是多对多进行的,如果选择数据集优先,会先使得每个算法轮流测试完所有数据集,然后再进行下一个算法,如果是算法优先,会针对一个数据集,先把所有算法轮流一遍,再换下一个数据集
  • 区域 6:添加数据集,可以添加多个,没啥好说的
  • 区域 7:算法添加,可以添加多个,值得一提的是,下面有 load 和 save 一说,因为添加算法时要设置算法参数,如果实验次数多了,就要每次都要设置,很麻烦,这时就可以保存算法和算法参数,下次直接加载保存的文件即可。
需要注意几点:
  • 每次运行算法都需要点击区域 2 的 new 才能进行配置参数,new 的意思是开始一次实验;
  • 在区域 3 中选择输出文本的时候,最好选择 csv 格式,使用 Excel 打开,查看的时候比较容易看,列名与数据一一对应

(2)run 说明

在这里插入图片描述

这个没啥好说的,前面 setup 设置好后,点击 start 即可,运行结束,就可以查看前面设置的保存文件了。

一开始,我使用 arff 文件保存的,看起来很费劲,所有数据堆积在一起,没有看太懂,后来换成 csv 文件格式,使用 Excel 就很容易看懂了。

2.2 advanced 模式

在这里插入图片描述

这个模式可说的点就比较多了,这里只说一下重点内容。

(1)区域 1

这个是选择结果输出设置的,类似于 simple 版本的区域 2,这里要先点击 choose,选择一个模式,然后点击空白处设置输出参数,一共有是三个模式,分别对应 csv 文件、数据库输出以及 arff 输出,这里以 csv 输出模式为例,说一下过程:

在这里插入图片描述

点击配置参数后,得到如下框,典型的 weka 配置界面:

在这里插入图片描述

问题一:

我在配置完输出文件后,发现每次配置的位置都不生效,每次都会将输出文件生成在安装目录下面,一开始我还以为算法没有生效,后来看到安装目录下多了几个 log 文件,真是日了,,,,也许是个大 bug,也许是自己哪里出现了一定问题,后续再看看。

问题二:

如下图所示,当 outputFile 框内有内容(比如图中是 log2222.csv)时,右边的 Browse…按钮是失效的,怎么按都没有,只有将左边框内的内容删除掉,才可以从新 Browse,不知道是不是 weka 版本问题还是其他,后续再看。

在这里插入图片描述

(2)区域 2

这个是结果生成器,和 simple 模式中的区域 4 一致,即确定结果输出方式以及数据集的切分——训练集和测试集如何生成,但是功能更加细致,点击 choose,就可以看到生成器的种类:

在这里插入图片描述

  • AveragingResultProducer:平均化结果生成器,这个结果生成器取了一组试验(通常是 cross-validation 试验)运行的平均值 。
  • CrossValidationResultProducer:交叉验证结果生成器
  • CrossValidationSplitResultProducer:交叉验证切分结果生成器
  • DatabaseResultProducer:数据库结果生成器,将实验结果反馈到数据库中
  • ExplicitTesttestResultProducer:加载外部测试集结果生成器,测试集使用外部加载的
  • LearningRateResultProducer:学习率结果生成器,用来生成学习曲线的,一般要与交叉验证或者平均化结果生成器结合使用(其内部参数可以设置)
  • RandomSplitResultProducer:随机划分训练集和测试集的结果生成器

说实话,刚开始看这个的时候,感觉很蒙,这都神马啊,后来仔细摸索摸索还是可以理解的,主要是这些设置都不是同一个性质,交叉验证和随机切分是一个性质的,都是对于数据集的处理,但是学习率这个听着就不太一样了,和数据集关系不太大,说的是参数设置,感觉跨度有点大。

这里找一个生成器,详细说明一下其设置流程,以及怎么看懂,就找学习率结果生成器吧(不懂学习率的自己百度吧),首先点击 choose,选择学习率生成器:

在这里插入图片描述

点击 choose 按钮右边的参数框或者右键也可以,进行配置参数:

在这里插入图片描述

如上图所示,第一步一定要点击 more 查看学习率生成器的功能和参数配置,这个很关键(尤其是对新手),来看一下其说明:

在这里插入图片描述

还是按照区域来说一下:

  • 区域 1:名字,这个是其实学习率生成器调用的类名位置,weka 软件本身是基于 weka 库进行封装开发的,任何功能都是调用 weka 自动的类(这个可以查看 weka 安装目录下的 index 网页:weka/Weka-3-8-5/doc/index.html,里面是 weka 类库的具体说明)
  • 区域 2:这个是告诉我们这个类或者说学习率生成器的作用
  • 区域 3:这个就是比较关键的了,告诉我们各个参数的含义

OK,就到这里了,上面区域 3 中对于各个参数说的已经很明白了(看不懂英文,可以复制粘贴到谷歌翻译中)

这里重点说一下第二个参数——结果生成器,这里我要吐槽一下,参数中居然还有学习率生成器,而且居然还是个套娃,点击进去,还可以设置学习率生成器,无休无止,看了一下调用的居然是同一个类;这个建议使用交叉验证或者平均化结果生成器即可。

(3)区域 3

这个是运行代数,没啥好说的

(4)区域 4

这个是布置远程试验用的,也就是将计算负载分布于多台计算机上。自己一个电脑的话,就不要勾选这个功能了。

关于远程试验会单列出一节来详细说一下。

(5)区域 5

这个是重点说的,选择添加算法,添加算法之前要先将我画圈的部分更改为 enable,这样才能进行添加配置。

在这里插入图片描述

对于算法的选择,要先点击 select property,然后出现弹框,可以看到各个配置,注意这些配置并不是互斥的,而是要选择一样,配置完参数,再选择一样,比如 numFolds,配置交叉验证的折数,点击选择后,更改折数,点击右边的 add 按钮,配置完;再点击 select property,点击 outputFile,配置输出文件。

重点说一下,如何选择算法,点击 classifier 文件夹,注意是文件夹,这个是个大坑,我原以为 Classifier 下面应该包含各种分类算法,但事实上并不是,要点击 classifier 文件夹后,点击 select,再在下面框中进行选择,然后点击 add,就可以添加成功了,如果想要选择多个算法,继续选择算法,点击 add 即可。

好吧,后来试验了一下,上面的说法(带有删除线)是有错误的,多种配置是互斥的,我做了一个对比试验,先选择增加决策树算法,然后再选择增加属性 ID 进行配置,发现在下面显示框中,之前选择的决策树算法被覆盖掉了,试验输出文件中也没有出现决策树算法的运行结果,这就说明了一旦更改 select property 选项,之前的配置就会被删除。

2.3 analyze 介绍

2.3.1 界面介绍

这里简单介绍一下 analyse,目前没有看太懂,只能捡着懂得说一下了,后续如果用的很多,会更新更加详细的说明。

在这里插入图片描述

如上图所示,老规矩,按照区域介绍。

(1)区域 1

该区域是 source 区,也可以称作是数据加载区,加载方式分为三种:

  • 本地文件加载
  • 读取数据库里面的数据
  • 加载算法运行结果

需要注意的是,第三种加载模式的前提是需要先进行试验(也就是先 setup,然后 Run 成功之后)。

数据加载是一切的基础,只有加载了数据,才能进行分析。

(2)区域 2

Action 区,也就是操作区,能对数据进行三种操作:

  • perform test:进行性能测试
  • 保存输出
  • 打开 Explorer 界面,对数据进行操作
(3)区域 3

这个是配置区,进行各种配置(没看太懂),互相学习吧

(4)区域 4

每进行一次执行操作,结果列表就会出现一行内容,通过点击内容可以在右边的测试输出框显示出对应的内容。

(5)区域 5

测试输出框,没啥好说的

2.3.2 走个流程吧

首先配置 setup,配置界面如下所示:

在这里插入图片描述

如上图所示,采用的 simple 模式(advanced 模式经常出一些问题,使用 simple 就足够了),算法使用了两个:决策树和随机森林(标一下重点,分析数据的时候会有所显示)。

然后是运行:

在这里插入图片描述

如上图所示,可以看到运行没有问题。

然后打开分析界面:

在这里插入图片描述

点击 Experiment 后,左边会显示得到了 200 行记录,你可以打开试验结果输出文件,会发现记录数目是一样的。

配置一下 Configure test,点击 perform test,查看一下 test output:

在这里插入图片描述

3、使用感受

感觉这个界面没啥用,至少对于我来说,尝试之后,并没有感觉以后要经常用它的想法,也许是我使用的深度不够吧。

还有使用多台计算机共同运算的功能没有测试,以后有时间再进行吧。

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值