Machine learning 告诉Weka要在ARFF文件中预测哪些属性?

Machine learning 告诉Weka要在ARFF文件中预测哪些属性?,machine-learning,data-mining,weka,arff,Machine Learning,Data Mining,Weka,Arff,我试图让Weka从命令行进行预测,但我担心我可能做错了。我阅读了《数据挖掘》一书,并在他们的网站上搜索了文档,但我发现的内容充其量也很模糊,所以我希望你能帮助我 首先,我创建了一个训练集(train.arff)。以下是一个示例: @relation test @attribute 'A' {0,1} @attribute 'B' {0,1} @attribute 'C' {0,1} @attribute 'D' {0,1} @attribute 'E' {0,1} @attribute 'F'

我试图让Weka从命令行进行预测,但我担心我可能做错了。我阅读了《数据挖掘》一书,并在他们的网站上搜索了文档,但我发现的内容充其量也很模糊,所以我希望你能帮助我

首先,我创建了一个训练集(train.arff)。以下是一个示例:

@relation test
@attribute 'A' {0,1}
@attribute 'B' {0,1}
@attribute 'C' {0,1}
@attribute 'D' {0,1}
@attribute 'E' {0,1}
@attribute 'F' {0,1}
@data
0,0,0,0,0,0
0,0,0,0,0,0
...
然后我创建了要通过预测完成的数据集(test.arff):

“?”标记应预测的属性

最后,我试图通过在命令行上运行以下命令来获得预测:

java weka.classifiers.trees.J48 -t train.arff -T test.arff -p 0
它产生以下输出:

=== Predictions on test data ===

 inst#     actual  predicted error prediction
     1        2:1        2:1       0.939
     2        2:1        2:1       0.939
然后,我将预测列中“:”后面的数字用于inst#标记的数据行的预测

以下是我的问题:

  • 这是正确的吗?我担心的是“?”,因为我读到它可能会被插补(尽管这可能只是在学习阶段)

  • Weka支持多重预测吗?无论有多少字段用“?”标记,我总是得到相同的表,每个实例只有一个预测值

  • Weka可以生成一个完整的(预测的)ARFF文件吗,或者我必须根据它的结果自己构造这个文件吗

  • 如果我错过了一些显而易见的东西,请提前道歉,并向我提供相关文档,我将不胜感激


    提前谢谢

    “?”是未知值的通用标记。它可以用于训练和测试数据,并告诉Weka在这种特殊情况下,该值不可用。然后如何处理这些信息取决于实际的学习算法。因此,要回答您的问题:

  • 否。要预测的属性是在通过
    -c
    参数训练模型时指定的。此参数给出了要预测的属性的索引。默认情况下,它是最后一个,因此在您的示例中为“F”
  • 不,这实际上更多的是一个已实现的学习算法的问题,但Weka中没有一个支持这一点。方法是为不同的预测训练多个模型
  • 在这种情况下,这没有意义,因为您必须提供已知值,以便Weka能够评估分类器的准确性。如果这些值完全未知,就无法判断它有多好

  • 请注意,您可以,然后。后一页还包含您可以构建的知识流,以将结果保存为ARFF文件。

    非常感谢!因此,要使用train.arff预测test.arff的'F',我可以这样做:“javaweka.classifiers.trees.J48-c'F'-ttrain.arff-ttest.arff-p0”,对吗?我知道如何保存模型,但我只是想先了解基本知识。
    === Predictions on test data ===
    
     inst#     actual  predicted error prediction
         1        2:1        2:1       0.939
         2        2:1        2:1       0.939