我正在开发一个时间序列预测系统。我为 Java 购买了 Book of Encog3,但我需要知道 hot 才能提交一个包含 3 列的 CSV 文件并尝试预测第二列。CSV 定义如下:
Date
, DeviceConsumption
,TotalPower
我需要将该文件加载到加载器中,然后指定我要预测的列(即DeviceConsumption
)。第三列用于提供更多信息并创建模式。
在示例中(如太阳黑子)我看到
TemporalMLDataSet result = new TemporalMLDataSet(windowSize,1);
TemporalDataDescription desc = new TemporalDataDescription(new ActivationSIN(),Type.RAW, false, true);
result.addDescription(desc);
但是我在哪里可以定义我想要预测的列??
谢谢你。
编辑 2 我做了一些改进:
对不起,但我还是不明白。正如你所说,我能够创建 2 TemporalDataDescription。但是我必须将两者都添加到同一个 TemporalMLDataSet 中吗?
TemporalMLDataSet result = new TemporalMLDataSet(WINDOW_SIZE,1);
TemporalDataDescription desc = new TemporalDataDescription(
TemporalDataDescription.Type.RAW,true,true);
result.addDescription(desc);
TemporalDataDescription desc2 = new TemporalDataDescription(
TemporalDataDescription.Type.RAW,false,true);
result.addDescription(desc2);
for(int year = TRAIN_START;year<TRAIN_END;year++)
{
TemporalPoint point = new TemporalPoint(2);
point.setSequence(year);
point.setData(0, this.deviceConsumption[year]);
point.setData(1, this.TotalPower[year]);
result.getPoints().add(point);
}
result.generate();
这是对的吗?
EDIT3前面的代码是正确的!