我在机器学习中使用Weka工具进行SMO操作。我如何在Java代码片段中生成预测结果?当我使用GUI工具并将”buildLogisticModels”设置为true时,得到以下输出。Evaluation类中的哪个方法生成了这个输出?请看下面的示例,其中col1 – 实例编号;col2 = 实际值;col3 = 预测值;col4 = 误差;col5 = 预测结果:
1 1:1 1:1 0.781 2 1:1 1:1 0.644 3 1:1 1:1 0.742 4 1:1 1:1 0.748 5 1:1 1:1 0.810 6 2:0 1:1 + 0.864 7 2:0 1:1 + 0.845 8 2:0 1:1 + 0.722
另外,有没有办法在Java中生成二进制SMO输出?例如:
- 1 * <0.307692 0.588235 0 0.333333 > * X]
- 1 * <0.461538 0.529412 0.5 0 > * X]
- 1 * <0.384615 0.588235 0.25 0.333333 > * X]
- 1 * <0.230769 0.705882 0.25 0.666667 > * X]
- 1 * <0.615385 0.764706 0.25 0.333333 > * X]
提前感谢。
回答:
使用Weka API在Java程序中肯定有办法做到。你只需添加对weka.jar文件的引用,建立正确的对象,然后探索API以找到必要的方法。请查看这里以开始操作。我个人认为我会选择API路线,因为命令行看起来相当不规范..