自迁移出 MediaWiki 以来,本页内容尚未经过审查。如果您愿意帮忙,请查看帮助指南!
简介
在本教程中,我们逐步描述如何在同一分割问题中使用Trainable Weka Segmentation插件来比较不同分类器的性能。
这里包含的大部分信息摘自第 6 章第 WEKA manual for version 3.7.3。
启动插件
首先,您打开想要处理的 2D 图像或堆栈,然后启动 Trainable Weka Segmentation 插件(在Plugins › Segmentation › Trainable Weka Segmentation下):
在本教程中,我们使用了第 Albert Cardona’s public data set 中的 TEM 部分之一。
加载后,将弹出插件的主界面:
收集训练样本
首先,我们选择要用于执行分割的特征(过滤器)。因此,我们将单击“设置”,在“设置”对话框中选择相应的功能,然后单击“确定”:

之后,我们使用选择工具来追踪这两个类别的样本。默认情况下,选择“点击”线,但您可以使用任何可用的选择工具来标记图像上的区域,然后通过单击“添加到类别[1/2]”按钮将它们添加到任何类别。在我们的示例中,我们使用这两个类来区分区域区域(红色,类1)和图像的其余部分(绿色,类2):
一旦我们对样本数量感到满意,我们就会将数据保存到 ARFF 文件中,这是 WEKA 理解的格式。为此,我们单击“保存数据”并选择输出路径和文件名(在我们的例子中为“data-compare.arff”):

与WEKA实验者一起工作
为了使用我们刚刚保存的数据来比较分类器,我们需要打开 WEKA Experimenter。因此,我们首先单击插件 GUI 的 WEKA 按钮(面板面板的最后一个按钮)。然后会弹出 Weka GUI 选择器:

我们点击“Experimenter”,会弹出Weka实验环境GUI:

新实验
在本教程中我们使用“简单”配置模式。单击新建后,定义实验的默认参数:

结果目的地
默认情况下,ARFF 文件是结果输出的目标。但你可以选择
- ARFF文件
- CSV文件
- JDBC数据库
CSV 与 ARFF 类似,但可用于加载到外部电子表格应用程序中。如果文件名留空,将在系统的 TEMP 目录中创建一个临时文件。如果想要指定明确的结果文件,请单击“浏览”并选择一个文件名。在我们的示例中,我们将文件名设置为 experiment-compare.arff:

单击“保存”,名称将显示在“ARFF 文件”旁边的编辑字段中。
实验类型
用户可以选择以下透明不同类型
- 交叉验证(默认) 使用给定的折叠数执行分层交叉验证。
- 训练/测试百分比分割(数据随机化) 在数据顺序随机化和分层后,根据给定的百分比将数据集分割为训练和测试文件(无法在实验器中指定明确的训练和测试文件):

- 训练/测试百分比拆分(保留顺序) 因为不可能指定明确的训练/测试文件对,所以可以滥用这种类型来取消合并之前合并的训练和测试文件到两个原始文件中(只需找出正确的百分比)。 另外,您可以根据所使用的数据集和分类器在分类和回归之间进行选择。默认选择分类。
注意:如果使用分区分割,则必须确保校正后的分区T-Tester 仍然能够以给定的分区产生合理的结果。
数据集
可以使用绝对路径或相对路径添加数据集文件。晚上通常更容易在不同的机器上运行实验,因此在单击“添加新…”之前检查应该使用相对路径:

在此示例中,我们选择 albert 目录并 data-compare.arff 数据集。
单击打开后,文件将显示在数据集列表中。如果选择一个目录并单击“打开”,则所有ARFF文件将重复添加。通过选择文件然后单击“删除所选文件”,从列表中删除文件。
####算法
可以通过添加新…按钮添加新算法。第一次打开此对话框,会显示‘ZeroR‘,否则显示最后选择的:

使用 Choose 按钮,可以打开 GenericObjectEditor 并选择另一个分类器:

过滤器…按钮可以突出显示可以处理某些属性和类别类型的分类器。使用删除过滤器按钮,所有选定的功能将被清除,并再次删除突出显示。
可以使用添加新…按钮再次添加其他算法。设置分类器参数后,单击“确定”将其添加到算法列表中。在我们的示例中,我们添加 NaiveBayes、SMO、VotedPerceptron 和 J48:
使用加载选项…和保存选项…按钮,可以从XML加载和保存选定分类器的设置。这对于高度配置的分类器(例如,嵌套元分类器)特别有用,其中手动设置需要相当长的时间,并且经常使用。
您还可以通过右键单击(或⌥ Alt + ⇧ Shift + Left Click)并从弹出菜单中选择适当的菜单点来粘贴分类器设置,以添加新分类器或用新设置替换选定的分类器。这对于将分类器设置从Weka Explorer转移到实验器非常有用,而无需从头开始设置分类器。
保存设置
为了以后重复使用,可以通过单击窗口顶部的保存…将实验的当前设置保存到文件中:

默认情况下,实验文件的格式是Java序列化提供的二进制格式。这种格式的缺点是不同版本的Weka之间可能不兼容。XML格式是二进制格式的更强大的替代方案。
可以通过打开…按钮重新加载以前保存的实验。
####运行实验
要运行当前实验,请单击实验环境窗口顶部的运行选项卡。当前实验使用 NaiveBayes、SMO、VotedPerceptron 和 J48 方案在 TEM 图像集上执行 10 次数据训练/测试分区分割(随机数据化):
单击开始运行实验:
如果实验定义正确,上面显示的 3 条消息将显示在 Log 面板中。实验结果保存到数据集experiment-compare.arff。
分析结果
设置
要分析结果,请选择“实验环境”窗口顶部的“分析”选项卡。
点击实验来分析当前实验的结果:
可用结果行数(获得 40 个结果)显示在源面板中。该实验包含 10 次运行、4 个方案、1 个数据集,总共 40 个结果行。还可以通过单击“文件”并加载相应的 .arff 结果文件,从早期的实验文件中加载结果。
从比较字段中选择正确百分比属性,然后单击执行测试以生成4个方案的比较:
实验中使用的方案显示在列中,使用的数据集显示在行中。
每个数据集行中显示了 4 个方案中每个方案的正确比例:NaiveBayes 为 88.70%,SMO 为 94.76%,VotedPerceptron 为 57.64%,J48 为 95.88%。注释 v 或 * 表示在指定的显着性水平(当前为) 0.05)下,特定结果在统计上比基线方案(在本例中为 NaiveBayes)更好 (v) 差 (*)。 SMO 和 J48 的结果在统计上均与 NaiveBayes 建立的基线。第一列的每列底部是该方案与 (xx)、之后与 (yy) 相同或比 (zz) 差的概率的计数(xx/yy/zz),即实验中使用的数据集的核心方案。这里示例中,只有一个数据集,SMO一次比NaiveBayes好,并且从未等于或差于NaiveBayes (1/0/0);J48在数据集上也比NaiveBayes更好,而VotedPerceptron更差。
可以通过选择Show std来生成正在评估的属性的标准差。偏差并再次点击执行测试。segment行开头的值(10)表示用于计算标准差的估计数(在本例中为运行数)。
正确数作为比较字段并单击执行测试生成平均正确数(在 975 个测试模式中 - 选择分段数据集中 2954 个模式的 33%)。
单击“输出格式”按钮将打开一个对话框,您可以在其中选择“平均值”和“标准差”的精度。偏差,以及输出的格式。选中“显示平均值”复选框会在输出中添加一行,列出每列的平均值。通过“删除过滤器”类名*复选框,可以从处理的数据集中删除过滤器名称和选项(Weka 中的过滤器名称可能相当长)。支持以下格式:
- CSV -GNU绘图
- HTML
- 乳胶
- 纯文本(默认)
- 仅有意义

为了提供更多允许控制权,“高级设置”用户调出结果矩阵提供的所有选项。这包括上述选项,以及行名称宽度或是否枚举列和行等选项。
保存结果
测试输出面板中显示的信息由结果列表面板中当前选定的边界控制。单击某个边界会显示与该边界对应的结果。

通过单击“保存输出”,可以将“测试输出”面板中显示的结果保存到文件中。一次只能保存一组结果,但Weka允许用户将所有结果保存到同一个文件中,方法是一次保存一个结果,并在第二次和后续保存中使用 Append 选项而不是 Overwrite 选项。