Я разрабатываю систему прогнозирования временных рядов. Я купил книгу Encog3 для Java, но мне нужно знать, как отправить файл CSV с 3 столбцами и попытаться предсказать второй столбец. CSV определяется следующим образом:
Date
, DeviceConsumption
, TotalPower
Мне нужно загрузить этот файл в загрузчик, а затем указать столбец, который я хочу предсказать (то есть DeviceConsumption
). Третий столбец используется для предоставления дополнительной информации и создания шаблона.
В примерах (например, солнечное пятно) я вижу
TemporalMLDataSet result = new TemporalMLDataSet(windowSize,1);
TemporalDataDescription desc = new TemporalDataDescription(new ActivationSIN(),Type.RAW, false, true);
result.addDescription(desc);
но где я могу определить столбец, который я хочу предсказать??
Спасибо.
EDIT 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 Предыдущий код был правильным!