使用 weka 测试图像数据集的最佳选择是什么?

数据挖掘 机器学习 威卡
2022-02-05 20:31:52

我有 250 张图像,从中提取特征并将它们放入 Excel 文件中,如何使用 weka 程序使前 200 张图像用于训练,其余 50 张图像用于测试。

我是否将 200 张图像的数据放在单独的文件中,将 50 张图像的数据放在另一个文件中?还是我将 250 幅图像的数据放在同一个文件中?请帮我。

2个回答

数据准备

Weka 使用arff 文件类型

上一个链接中修改的示例 arff 文件内容:

% 1. Title: Iris Plants Database
% 2. Creator: R.A. Fisher, Donor: Michael Marshall (MARSHALL%PLU@io.arc.nasa.gov)
@RELATION iris
@ATTRIBUTE petallength  NUMERIC
@ATTRIBUTE petalwidth   NUMERIC
@ATTRIBUTE class        {Iris-setosa,Iris-versicolor,Iris-virginica}
@DATA
1.4,0.2,Iris-setosa
1.4,0.2,Iris-virginica
1.3,0.2,Iris-setosa
1.5,0.2,Iris-versicolor
1.4,0.2,Iris-setosa
1.7,0.4,Iris-setosa

上面的例子可以分成几个部分:

  1. 评论
    • 以“%”开头的行是注释,WEKA 数据阅读器不会读取
  2. @关系
    • 数据集名称(如果有空格,请在名称周围使用引号)
  3. @属性
    • 每个属性定义以下类型之一的特征:
      • NUMERIC:实数
      • NOMINAL:来自预定义列表的离散值(参见示例 @ATTRIBUTE 类功能)
      • STRING:如果包含空格,则必须使用引号的字符串
      • 日期:@ATTRIBUTE `name` date [`date-format`] 默认日期格式为“yyyy-MM-dd'T'HH:mm:ss”
  4. @数据
    • 指定 CSV 数据开始的分隔符


维卡探险家

创建 arff 文件后,您在使用 Weka 资源管理器时有几个选项:

  1. 将整个数据集加载到 Weka 资源管理器中并使用内置的 k 折交叉验证选项,该选项随机划分您的数据集并为您给定的分类器自动执行 CV
  2. 将整个数据集加载到 Weka 资源管理器中,并使用内置的训练/测试拆分选项和用户指定的百分比来随机划分数据集。
  3. 手动将您的 arff 文件划分为训练文件和测试文件,并使用 Weka 资源管理器中提供的测试集选项。要手动分区您的 arff 文件,只需复制您的原始 arff 文件并保留不相交的 CSV 行集(即从一个文件中删除实例并在另一个文件中保留这些实例)。

如果这是出于教育目的,手动分区数据集可能是最简单的方法,以便您知道哪些图像在训练中,哪些图像在测试中。如果这是为了研究,当然首选k-fold CV。


如果您使用的是 Weka Java 库而不是桌面应用程序,有大量在线资源可以解释库架构:Waikato Github io 站点

您的问题的答案是使用 Weka 的“Explorer”模式,然后为测试集选择 20% 大小的“training/test split”。