?? pmm.java
字號:
package org.scut.DataMining.Test;
import java.util.ArrayList;
import org.scut.DataMining.Algorithm.NeuralNetwork.BP.BP;
import org.scut.DataMining.Algorithm.NeuralNetwork.BP.Parameter;
import org.scut.DataMining.Core.MiningData;
import org.scut.DataMining.Core.MiningMetaData;
import org.scut.DataMining.Core.MiningException;
import org.scut.DataMining.Input.File.MiningArffStream;
public class PMM
{
private String fileName;
public ArrayList<double[]> inputSet = new ArrayList<double[]>();
public ArrayList<double[]> targetSet = new ArrayList<double[]>();
private ArrayList<MiningData> rawData = new ArrayList<MiningData>();
private MiningArffStream stream;
public int getInputSize()
{
return this.inputSet.get(0).length;
}
public int getTargetSize()
{
return this.targetSet.get(0).length;
}
public PMM(String fileName)
{
this.fileName = fileName;
}
public void parseData()
{
this.readRawData();
this.handlingData();
}
private void readRawData()
{
this.rawData.clear();
try
{
this.stream = new MiningArffStream(this.fileName);
while(this.stream.next())
{
this.rawData.add(new MiningData(this.stream.getData()));
}
}
catch (MiningException e)
{
e.printStackTrace();
}
}
private void handlingData()
{
MiningMetaData md = this.stream.getMetaData();
for(int i=0;i<6;i++) md.addTarget(i);
for(MiningData data : this.rawData)
{
data.normalize();
this.inputSet.add(data.getInput());
this.targetSet.add(data.getTarget());
}
}
/**
* @param args
*/
public static void main(String[] args)
{
PMM pmm = new PMM("arff//pm.arff");
pmm.parseData();
try
{
BP bp = new BP();
Parameter param = new Parameter();
param.input = pmm.getInputSize();
param.output = pmm.getTargetSize();
param.hidden = (param.input+param.output)/2;
param.maxEpoch = 1000;
bp.setParameter(param);
bp.setInputSet(pmm.inputSet);
bp.setTargetSet(pmm.targetSet);
bp.train();
bp.save("arff//pm.net");
System.out.println(bp.toString());
}
catch (MiningException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
// BP bp = BP.load("arff//pm.net");
// double[] tar = pmm.rawData.get(9).getTarget();
// for(int i=0;i<tar.length;i++)
// System.out.print(tar[i] + " ");
// System.out.println();
// double[] res = bp.work(pmm.inputSet.get(9));
// for(int i=0;i<res.length;i++)
// System.out.print(res[i] + " ");
//bp.save("pm.net");
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -