correlationcoefficientfitness.java

来自「是zuojie用java实现的gep库」· Java 代码 · 共 65 行

JAVA
65
字号
package gep.num;/** * 使用复相关系数的适应度函数 */public class CorrelationCoefficientFitness extends GeneralNFitness{	private static double MIN_FITNESS = -100;	private double deviation;					// 目标数据的偏差	public CorrelationCoefficientFitness(NDataSet dataSet)	{		super(dataSet);		initialize();	}	/**	 * 初始化  计算目标值的偏差	 */	private void initialize()	{		int size = targets.length;		double average = 0.0;		for (int i=0; i<size; i++)		{			average += targets[i];		}		average /= size;				deviation = 0.0;		for (int i=0; i<size; i++)		{			double t = targets[i] - average;			deviation += t * t;		}	}		public double calculate(double[] values)	{		double f = 0.0;		for (int i=0; i<values.length; i++)		{			double t = values[i] - targets[i];			f += t * t;		}		f = 1 - f/deviation;				if (f<MIN_FITNESS) f = MIN_FITNESS;		return f;	}	public double getMinFitness()	{		return MIN_FITNESS;	}		public String toString()	{		return getClass().getName();	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?