1
我已歸一化的一組使用以下代碼的數據:反規範化MLData在Encog
public static void main(String[] args) {
//To Normalize the data
File sourcefiletotrain=new File("E:\\Shreyas-Internship\\RforLF\\dataforAnn.csv");
File targetfiletotrain=new File("E:\\Shreyas-Internship\\RforLF\\ideal.csv");
EncogAnalyst analyst=new EncogAnalyst();
AnalystWizard wizard=new AnalystWizard(analyst);
wizard.setGoal(AnalystGoal.Regression);
wizard.wizard(sourcefiletotrain, false,AnalystFileFormat.DECPNT_COMMA);
final AnalystNormalizeCSV norm=new AnalystNormalizeCSV();
norm.analyze(sourcefiletotrain, false, ENGLISH, analyst);
norm.normalize(targetfiletotrain);
然後我已經使用以下數據來訓練,並使用Encog運行神經網絡。我面臨的問題是我無法將價值迴歸到實際形式。培訓和運行神經網絡的代碼是:
//To Train the Neural Network
CSVNeuralDataSet fileread=new CSVNeuralDataSet("E:\\Shreyas-Internship\\RforLF\\ideal.csv",4,1,true);
BasicNetwork network=new BasicNetwork();
network.addLayer(new BasicLayer(4));
network.addLayer(new BasicLayer(20));
network.addLayer(new BasicLayer(1));
network.getStructure().finalizeStructure();
network.reset();
MLDataSet trainingset=new BasicMLDataSet(fileread);
MLTrain train= new ResilientPropagation(network,trainingset);
int epoch=1;
do{
train.iteration();
System.out.println("Epoch " +epoch+ " Error:" +train.getError());
epoch++;
}while((train.getError()>0.01)&&(epoch<=500));
//To run the Neural Network
System.out.println("Neural Network Results");
for (MLDataPair pair: trainingset){
final MLData output=network.compute(pair.getInput());
System.out.println("actual="+output.getData(0)+ "\tideal="+pair.getIdeal().getData(0));//pair.getInput().getData(0)+" ,"+pair.getInput().getData(1)+" ,"+pair.getInput().getData(2)+" ,"+pair.getInput().getData(3)+" ,"+pair.getInput().getData(4)+" ,"+pair.getInput().getData(5)+
}
}
的疑問是我如何進一步繼續獲得非規範化的輸出爲MLData
此外,如果在Encog中有一個替代方案可用於規範化,訓練,運行和取消規範化一組數據,請讓我知道。 –