gpt4 book ai didi

java - WEKA Instance.ClassAttribute() 方法

转载 作者:太空宇宙 更新时间:2023-11-04 08:13:09 24 4
gpt4 key购买 nike

我是WEKA,我遇到了以下代码:

Instances train = DataSource.read(args[0]);
train.setClassIndex(train.numAttributes() - 1);
Instances test = DataSource.read(args[1]);
test.setClassIndex(test.numAttributes() - 1);
// train classifier
J48 cls = new J48();
cls.buildClassifier(train);
// output predictions
System.out.println("# - actual - predicted - distribution");
for (int i = 0; i < test.numInstances(); i++) {
double pred = cls.classifyInstance(test.instance(i));
double[] dist = cls.distributionForInstance(test.instance(i));
System.out.print((i+1) + " - ");
System.out.print(test.instance(i).toString(test.classIndex()) + " - ");
System.out.print(test.classAttribute().value((int) pred) + " - ");
System.out.println(Utils.arrayToString(dist));
}

这里的目标是在测试数据集上运行预构建的分类器,然后打印实际类别、预测类别和类别隶属值分布。我明白除了一行之外的所有内容:

System.out.print(test.classAttribute().value((int) pred) + " - ");

如果“test”是一组实例,上述语句如何能够在 for 循环内打印当前实例的预测类值?

谢谢阿布舍克·S

最佳答案

我认为 test.classAttribute() 为您提供了测试实例可以分配到的所有类。第二部分 .value((int) pred) 然后从该组中选择与 pred 匹配的类,这是当前测试实例的预测类。

关于java - WEKA Instance.ClassAttribute() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10876941/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com