每日一学 Scale和Normalization

kaggle上的数据清洗教程第二天---Scale和Normalization (不知道如何翻译会比较好,参考了其他博客,scale为缩放,normaliza

kaggle上的数据清洗教程第二天---Scale和Normalization

(不知道如何翻译会比较好,参考了其他博客,scale为缩放,normalization 为正则化)

1.Scale

1.1 粗略理解

    将数据转为为特定范围的数据,比如(0,1)或者(0,100)

1.2 例子

    a.对于SVM和KNN方法,由于涉及数据点之间的距离度量,则需要对数据进行scale,使得任何特征中的“1”的变化具有相同重要性。比如,1美元和1日元,如果没有scale,SVM和KNN会把1美元和1日元视为同等重要的

1.3 采用min-max标准化的code

    import numpy as np

    from mlxtend.preprocessing import minmax_scaling#区别与sklearn.preprocessing中的minmax_scale

    import seaborn as sns

    import matplotlib as plt

    np.random.seed(0)#保证几次用到随机产生数据的随机相同

    ori_data = np.random.exponential(size=100)#产生一个数据点数量为100的指数分布

    scaled_data = minmax_scaling(ori_data,columns)#对数据第0列进行scale,默认scale到