weka java 交叉验证_java – 如何在WEKA中交叉验证后打印预测类

使用分类器完成10倍交叉验证后,如何打印出每个实例的预定类以及这些实例的分布?

J48 j48 = new J48();

Evaluation eval = new Evaluation(newData);

eval.crossValidateModel(j48, newData, 10, new Random(1));

当我尝试类似于下面的内容时,它说分类器没有构建.

for (int i=0; i

System.out.println(j48.distributionForInstance(newData.instance(i)));

}

我正在尝试做的是与WEKA GUI中相同的功能,其中一旦训练了分类器,我就可以点击Visualize分类器错误“>保存,我将在文件中找到预测的类.但现在我需要它在我自己的Java代码中工作.

我试过类似下面的内容:

J48 j48 = new J48();

Evaluation eval = new Evaluation(newData);

StringBuffer forPredictionsPrinting = new StringBuffer();

weka.core.Range attsToOutput = null;

Boolean outputDistribution = new Boolean(true);

eval.crossValidateModel(j48, newData, 10, new Random(1), forPredictionsPrinting, attsToOutput, outputDistribution);

但它提示我错误:

Exception in thread "main" java.lang.ClassCastException: java.lang.StringBuffer cannot be cast to weka.classifiers.evaluation.output.prediction.AbstractOutput

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值