小编vin*_*aro的帖子

时间序列预测包含从CSV读取的3个java

我正在开发一个时间序列预测系统.我买了Book of Encog3 for Java,但我需要知道热,提交一个包含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);
Run Code Online (Sandbox Code Playgroud)

但是我在哪里可以定义我想要预测的列?

谢谢.

编辑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();
Run Code Online (Sandbox Code Playgroud)

这是对的吗?

EDIT3以前的代码是正确的!

java csv time-series encog

5
推荐指数
1
解决办法
1784
查看次数

使用多种训练方法训练ANN与Encog

我想知道在使用弹性传播训练之前是否使用遗传算法,粒子群优化和模拟退火训练前馈神经网络确实可以改善结果.

这是我正在使用的代码:

                    CalculateScore score = new TrainingSetScore(trainingSet);
                    StopTrainingStrategy stop = new StopTrainingStrategy();
                    StopTrainingStrategy stopGA = new StopTrainingStrategy();
                    StopTrainingStrategy stopSIM = new StopTrainingStrategy();
                    StopTrainingStrategy stopPSO = new StopTrainingStrategy();

                    Randomizer randomizer = new NguyenWidrowRandomizer();
                    //Backpropagation train = new Backpropagation((BasicNetwork) network, trainingSet, 0.2, 0.1);
                    //  LevenbergMarquardtTraining train = new LevenbergMarquardtTraining((BasicNetwork) network, trainingSet);
                    int population = 500;
                    MLTrain trainGA =  new MLMethodGeneticAlgorithm(new MethodFactory(){
                        @Override
                        public MLMethod factor() {
                            final BasicNetwork result = createNetwork();
                            ((MLResettable)result).reset();
                            return result;
                        }}, score,population);


                    Date dStart = new Date();

                    int …
Run Code Online (Sandbox Code Playgroud)

simulated-annealing neural-network genetic-algorithm particle-swarm encog

5
推荐指数
1
解决办法
888
查看次数