我正在使用Weka Forecaster预测一些值,但是,我不了解如何像在Weka GUI中那样获取每个预测的日期。
我这样设置时间戳:
forecaster.getTSLagMaker().setTimeStampField("date");
然后,我使用arff文件中的数据构建并预装我的预测器,该预测器设置为预测2个值,并且可以。然后我像这样获取它们:
List<List<NumericPrediction>> forecast = forecaster.forecast(5, System.out);
for (int i = 0; i < 5; i++) {
List<NumericPrediction> predsAtStep = forecast.get(i);
for (int j = 0; j < 2; j++) {
System.out.print("Item " + j + ": " + predsAtStep.get(j).predicted() + " ");
}
System.out.println("");
}
我认为您也许可以将日期作为要预测的字段之一输入,并且可以使用Forecaster.setFieldsToForecast进行输入。
关于如何获取每个预测的日期的任何想法吗?
答案 0 :(得分:0)
这是因为“日期”是您的x轴变量,并且您没有预测该轴。预测位于指定日期的字段上。
可以从forecast.getTSLagMaker().getCurrentTimeStampValue()
和forecast.getTSLagMaker().getDeltaTime()
获取(计算)日期值,具体取决于您设置预报器的方式,否则请查看API:Weka javadoc