# -*- coding:utf-8 -*- __author__ = ‘Ghostviper‘ """ 归一化特征值 """ from numpy import * def autoNorm(dataSet): minVals = dataSet.min(0) maxVals = dataSet.max(0) ranges = maxVals - minVals normDataSet = zeros(shape(dataSet)) m = dataSet.shape[0] normDataSet = dataSet - tile(minVals, (m, 1)) normDataSet = normDataSet / tile(ranges, (m, 1)) return normDataSet, ranges, minVals if __name__ == "__main__": dataSet = array([ [0.1, 12345, 23], [-1.2, 456431, 46], [0.99, 23332, 89], [1.3, 97653, 123], [2, 10900, 23], [1, 54612, 9], ]) normDataSet, ranges, minVals = autoNorm(dataSet)
输出结果:
array([[ 0.40625 , 0.00324332, 0.12280702], [ 0. , 1. , 0.3245614 ], [ 0.684375 , 0.02790378, 0.70175439], [ 0.78125 , 0.19471821, 1. ], [ 1. , 0. , 0.12280702], [ 0.6875 , 0.09811214, 0. ]]) array([ 3.20000000e+00, 4.45531000e+05, 1.14000000e+02]) array([ -1.20000000e+00, 1.09000000e+04, 9.00000000e+00])
算法核心:(数据集 - 最小特征数据集)/ (最大特征-最小特征)数据集
用途:用于处理不同组特征数据差异较大的情况
本文出自 “ghostviper” 博客,请务必保留此出处http://ghostviper.blog.51cto.com/3396458/1865053
原文地址:http://ghostviper.blog.51cto.com/3396458/1865053