Разработвам система за прогнозиране на времеви редове. Купих Book of 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);
но къде мога да дефинирам колоната, която искам да предвидя??
Благодаря ти.
РЕДАКТИРАНЕ 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 Предишният код беше правилен!