⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pmm.java

📁 数据挖掘。数据仓库
💻 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 + -