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

Machine learning 在没有类标签的weka中测试单个实例,machine-learning,classification,weka,prediction,Machine Learning,Classification,Weka,Prediction,这个问题已经被问到了,但我不明白答案,所以我再次发布问题,请回复 我有一个weka模型,例如:j48我已经为我的数据集训练了这个模型,现在我必须用一个实例测试这个模型,在这个实例中它应该返回类标签。怎么做 我尝试过以下方法: 1) 当我给我的测试实例a,b,c,类为类as?时?。它显示了评估分类器的问题。训练和测试不兼容 2) 当我列出所有的类标签并且我把?对于测试实例的类标签,如下所示: @attribute class {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15

这个问题已经被问到了,但我不明白答案,所以我再次发布问题,请回复

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

我尝试过以下方法:

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

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    
混淆矩阵为空


怎么办?

鉴于OP提供的信息不完整,以下是可能发生的情况:

你曾经

  • Weka GUI选择器
  • 选择了Weka浏览器
  • 在“预处理”选项卡上加载训练数据
  • 选择了分类选项卡
  • 选择了J48分类器
  • 在测试选项下选择提供的测试集,并提供上述测试集
  • 单击开始
  • 现在谈谈你的问题:

    “对测试集的评估”应该已经给出了它,因为您正在评估分类器——或者更好:经过训练的模型。但是对于评估,您需要将预测类与未提供的实际类进行比较。因此,缺少类标签的实例将被忽略

    由于没有任何其他带有类标签的测试实例,因此混淆矩阵为空。根本没有足够的信息来构建一个。(顺便说一句:仅用于一个实例的混淆矩阵是毫无价值的。)

    看看实际的预测 您必须转到更多选项…,单击输出预测旁边的选择,然后选择一种输出格式,例如纯文本,您将看到如下内容:

    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 
    
    此输出按分类实例在测试文件中出现的顺序列出这些分类实例。此示例取自以下说明

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


    链接是:来自gui weka explorerMan,你要杀了我。如果你真的想要别人帮助你,你真的不应该让我们把你的一切都榨干。我现在试着回答。先生,我已经清楚地提到了,可能是我没有清楚地向您介绍。我为您造成的不便感到抱歉。不用担心,很高兴我能帮您。先生,您能解释一下输出吗,但是我已经添加了一些解释并链接到了Weka网站,是否也可以在java中这样做?Weka是纯java的,所以是的。您可以查找源代码并查看使用给定参数执行的内容,因此您应该能够将其包含在您自己的程序中,如果这是您所要求的。