Java 最小-最大规范化 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);
		
		 newV = mmn.Normalization(1501, 1000, 2000, 0, 1);
		System.out.println("The result is " + newV);
		
		 newV = mmn.Normalization(1600, 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;
	}
}

 http://blog.csdn.net/kindterry/article/details/6581347

package re;

public class Snippet {
	public static void main(String[] args) {
		System.out.println("0: \t" + sigmoid(0d));
		System.out.println("1: \t" + sigmoid(1d));
		System.out.println("2: \t" + sigmoid(2d));
		System.out.println("3: \t" + sigmoid(3d));
		System.out.println("10: \t" + sigmoid(10d));
		System.out.println("100: \t" + sigmoid(100d));
		System.out.println("1000: \t" + sigmoid(1000d));
		System.out.println("10000: \t" + sigmoid(10000d));
		System.out.println("100000: \t" + sigmoid(100000d));
		System.out.println("1000000: \t" + sigmoid(1000000d));
		System.out.println("10000000: \t" + sigmoid(10000000d));
		System.out.println("10000000: \t" + sigmoid(10000000000d));
	}

	public static double sigmoid(double val) {
		//_score * (1d / (1d + exp(-log(doc['saleCount'].value+1d)/10)))
		return 1d / (1d + Math.exp(-Math.log(val) / 5));
	}
}

猜你喜欢

转载自m635674608.iteye.com/blog/2295876
今日推荐