当前位置: 首页 > 知识库问答 >
问题:

weka“测试分割预测”未按与数据相同的顺序列出

封永嘉
2023-03-14

考虑以下虚构的arff文件:

@relation referents
@attribute feature1      NUMERIC
@attribute feature2      NUMERIC
@attribute feature3      NUMERIC
@attribute feature4      NUMERIC
@attribute class{WIN,LOSS}
@data
1, 7, 1, 0, WIN
1, 5, 1, 0, WIN
-1, 1, 1, 0, LOSS
1, 1, 1, 1, WIN
-1, 1, 1, 1, WIN
1, 7, 1, 0, WIN
1, 5, 1, 0, WIN
-1, 1, 1, 0, LOSS
1, 1, 1, 1, WIN
-1, 1, 1, 1, WIN

使用WEKA 3-8,在Explorer中打开上述ARFF。单击分类。选择J48分类器,保留所有默认设置。在“测试选项”下,选择“百分比分割=50%”。单击“更多选项”,选择“输出预测”-

点击开始

您将看到以下输出:

=== Run information ===

Scheme:       weka.classifiers.trees.J48 -C 0.25 -M 2
Relation:     referents
Instances:    10
Attributes:   5
              feature1
              feature2
              feature3
              feature4
              class
Test mode:    split 50.0% train, remainder test

=== Classifier model (full training set) ===

J48 pruned tree
------------------

feature1 <= -1
|   feature4 <= 0: LOSS (2.0)
|   feature4 > 0: WIN (2.0)
feature1 > -1: WIN (6.0)

Number of Leaves  :     3

Size of the tree :  5


Time taken to build model: 0 seconds

=== Predictions on test split ===

inst#,actual,predicted,error,prediction
1,2:LOSS,1:WIN,+,0.8
2,1:WIN,1:WIN,,0.8
3,1:WIN,1:WIN,,0.8
4,1:WIN,1:WIN,,0.8
5,1:WIN,1:WIN,,0.8

//跳过报告的其余部分...

注意输入arff文件中的最后五个实例是按顺序排列的

双赢-输-赢

然而,实际输出“测试分割预测”的顺序是:输赢赢赢

为什么它们的顺序不一样,还有,应该如何在“测试拆分预测”中的inst#和arff文件中的@data实例之间建立联系?

共有1个答案

皮骏
2023-03-14

当weka将您的数据拆分为train和test时,它会随机生成,这意味着weka会从您的arff中随机选择实例(您也可以指定应用的随机数)。这就是为什么顺序与前5个实例不同的原因。

 类似资料:
  • 我对机器学习很陌生。对不起,如果我的英语有任何错误。 我使用weka J48分类来预测是真是假。我有将近999K的训练套件,我用来训练模型。我使用了3倍的交叉验证方法来训练模型,使我的准确率达到了约84%。 现在在存储模型之后。我试着在50k数据集上测试它。结果非常糟糕,其中50%是不匹配的。我有11个属性,包括名词和数字字段。 我不知道为什么会这样。 我有两个问题。 我怎样训练才能在测试集中表现

  • 从excel文件读取测试数据。要求:我想首先我的所有测试应该运行在相同的测试数据,即excel行,然后所有测试与另一行。 解决方案:尝试将@Factory与我的@DataProvider一起使用 问题:如果我在@dataProvider中使用核心值,那么它可以正常工作。但是当从excel动态获取时,如果给我错误:[错误]导致:java.lang.NullPointerException } 基类

  • 问题内容: 语境 我正在为该类编写一个简单的 JUnit 测试。 阿可以从静态工厂方法,需要一个可变参数的创建 字符串 。 在的存在期间的任何时间,客户端可以检查它通过在的形式创建的参数 列表 ,通过方法。 换句话说,a 既记住并公开了使之成为现实的参数列表。有关此合同的更多详细信息: 的顺序将与为对象创建选择的顺序相同 允许重复的后续 String 组件并按顺序保留 行为未定义(其他代码保证没有

  • 分支目标预测(BTP)与分支预测(BP)不同。我知道BTP会找到分支将跳转到的位置,而BP只是决定可能采取哪个分支。 BTP依赖BP吗,如果BTP不使用BP来预测哪个分支被采用,它怎么可能知道分支的目标呢? 我不明白为什么会有这么大的差异?一旦分支被预测为被占用,找到目标并不像读取指令中的地址一样简单吗?

  • 问题内容: 如何确定unittest方法的顺序?字母或数字前缀是否正确? 要么 问题答案: 您可以通过将sortTestMethodsUsing设置为None来禁用它:http ://docs.python.org/2/library/unittest.html#unittest.TestLoader.sortTestMethodsUsing 对于纯单元测试,您是对的。但是对于组件测试和集成测试…

  • 我有一个与相关预测因子相关的练习,它指出以下几点: 答:贝兹·R1,D … D:贝兹·R1,F … F:不是R1的R1 预测工作如下 > 获取当前指令 如果是分支,则确定预测器的当前状态并预测分支: a.row 由分支地址确定(在本例中为 A 或 D) b. 列由当前全局移位寄存器确定 c.使用单元格中的值确定来自状态机的预测(当前状态保存在单元格中) 执行分支,并确定实际决策(已采取:1,未采取