Java实例10 - 最小-最大规范化 Min-MaxNormalization

/** 最小最大规范化也叫离差标准化
 * 可以对原始数据进行线性变换,
 * 假定Min和Max是最小值和最大值,
 * v是该区间中的一个值,将其映射到新的区间[newMin, newMax]中为v'
 * 则有:
 * v' = (v-Min)/(Max-Min)*(newMax-newMin)+newMin
 * 这种方法有一个缺陷就是当有新数据加入时,可能导致Max和Min的变化,需要重新定义。
 */
package re;
public class MinMaxNormalization {
	
	public static void main(String[] args) {
		MinMaxNormalization mmn = new MinMaxNormalization();
		double newV = mmn.Normalization(1500, 1000, 2000, 0, 1);
		System.out.println("The result is " + newV);
	}
	/**
	 * @author 
	 * @param v 做标准化的样本数据
	 * @param Min 样本数据最小值
	 * @param Max 样本数据最大值
	 * @param newMin 新的映射区间最小值
	 * @param newMax 新的映射区间最大值
	 * @return
	 */
	public double Normalization(double v, double Min, double Max, double newMin, double newMax) {
		return (v-Min)/(Max-Min)*(newMax-newMin)+newMin;
	}
}

 

你可能感兴趣的:(10,算法代码)