单个特征
归一化
归一化首先在特征(维度)非常多的时候,可以防止某一维或某几维对数据影响过大,也是为了把不同来源的数据统一到一个参考区间下,这样比较起来才有意义,其次可以程序可以运行更快。 例如:一个人的身高和体重两个特征,假如体重50kg,身高175cm,由于两个单位不一样,数值大小不一样。如果比较两个人的体型差距时,那么身高的影响结果会比较大,k-临近算法会有这个距离公式。
min-max方法
常用的方法是通过对原始数据进行线性变换把数据映射到[0,1]之间
其中min是样本中最小值,max是样本中最大值,注意在数据流场景下最大值最小值是变化的,另外,最大值与最小值非常容易受异常点影响,所以这种方法鲁棒性(适用性)较差,只适合传统精确小数据场景。
def minmax():
"""
归一化将数据处理到某一个指定的范围
同等重要的特征数据, 如果某一个数据特别大 有可能会对结果的分析造成的影响比较大,此时就需要将处理的数据重要性平等的对待
此时需要讲数据进行归一化的处理
:return:
"""
min_max = MinMaxScaler(feature_range=(2,5))
data = [[90,2,10,