在weka中测试没有类标签的单个实例

时间:2013-08-13 18:14:25

标签: machine-learning classification weka prediction

这个问题已经被问到了,但我没有理解答案,所以我再次发布问题请回复。

我有一个weka模型,例如:j48我已经为我的数据集训练了该模型,现在我必须用一个实例来测试模型,它应该返回类标签。怎么做?

我尝试过这些方法:

1)当我给我的测试实例a,b,c,类为class时。它显示了评估分类器的问题.train和test不兼容

2)当我列出所有班级标签时,我把它?对于测试实例的类标签,如下所示:

@attribute class {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27}

@data
1,2,............,?

没有显示任何类似的结果

=== Evaluation on test set ===
=== Summary ===

Total Number of Instances                0     
Ignored Class Unknown Instances                  1     

=== Detailed Accuracy By Class ===

               TP Rate   FP Rate   Precision   Recall  F-Measure  ROC Area  Class
                 0         0          0         0         0         ?        1
                 0         0          0         0         0         ?        2
                 0         0          0         0         0         ?        3
Weighted Avg.  NaN       NaN        NaN       NaN       NaN       NaN    

混淆矩阵为空

怎么办?

1 个答案:

答案 0 :(得分:5)

鉴于来自OP的信息不完整,可能发生了以下情况:

您使用了

  1. Weka GUI Chooser
  2. 选择 Weka Explorer
  3. 预处理标签
  4. 上加载了您的培训数据
  5. 选择分类标签
  6. 选择 J48 分类器
  7. 在测试选项下选择提供的测试集,并提供上述测试集
  8. 点击开始
  9. 现在给你问题:

    评估测试集”应该已经放弃,因为您正在评估分类器 - 或更好:训练有素的模型。但是对于评估,您需要将预测的类与您未提供的实际类进行比较。因此,将忽略具有缺少类标签的实例。

    由于您没有任何其他测试实例WITH class label,因此混淆矩阵为空。根本没有足够的信息来构建一个。 (并且只是作为旁注:只有一个实例的混淆矩阵有点无价值。)

    查看实际预测

    您必须转到更多选项... ,点击输出预测旁边的选择,然后选择输出格式,例如 PlainText ,您会看到如下内容:

    inst#     actual  predicted error prediction
        1        1:?        1:0       0.757 
        2        1:?        1:0       0.824 
        3        1:?        1:0       0.807 
        4        1:?        1:0       0.807 
        5        1:?        1:0       0.79 
        6        1:?        2:1       0.661 
    

    此输出按照它们在测试文件中出现的顺序列出分类的实例。此示例取自the Weka site about "Making predictions",其中包含以下说明。

      

    在这种情况下,直接从测试数据集中获取所有类   属性用“?”标记,“实际”列可以是   忽略,只是声明每个类属于一个未知的类。   “预测”列显示预测实例1到5   属于1级,其值为0,预测实例6为   类2,其值为1.错误字段为空;如果预测   正在标记的测试集上执行,每个实例都在   预测未能匹配标签将包含“+”。该   实例1实际属于0类的概率是估计的   在0.757。