Pythonでデータを標準化する

1. データの標準化の意味:データの数値的特徴を、他の属性と同じ範囲になるように、何らかの標準的な形式に変換することを正規化といいます。

2. 一般的に使用される標準化手法が 2 つあります

  1. Min-Max 正規化: このプロセスでは、特徴の範囲が [0,1] 以内になります。まず各数値特徴の最小値と最大値を計算し、次に特徴の各値に対して次の変換を実行します。 

    X_{new}=\frac{X_{i}-min(X)}{max(X)-min(X)}

    Python プログラムを添付します。
    from sklearn import preprocessing
    import  pandas
    data={'price':[492,286,487,519,541,429]}#用字典来存放数据
    price_frame=pandas.DataFrame(data)#把字典类型转化为dataframe对象
    min_max_normalizer=preprocessing.MinMaxScaler(feature_range=(0,1))
    #feature_range设置最大最小变换值,默认(0,1)
    scaled_data=min_max_normalizer.fit_transform(price_frame)
    #将数据缩放(映射)到设置固定区间
    price_frame_normalized=pandas.DataFrame(scaled_data)
    #将变换后的数据转换为dataframe对象
    print(price_frame_normalized)
  2. Z スコア正規化: データに外れ値が含まれている場合、最大-最小正規化は第一の選択肢ではありません。外れ値が存在する場合、データの範囲が広がるにつれて、値はゼロに近づき続けます。Z スコアは標準化手法でよく使用されます。Z スコアは統計原則に従っており、データの平均値は 0、標準偏差は 1 になります。

                                                         Z=\frac{X-mean(X)}{StdDev(X)}

    Python プログラムを添付します。
    from sklearn import preprocessing
    import pandas
    data={'price':[492,286,487,519,541,429]}#用字典来存放数据
    price_frame=pandas.DataFrame(data)#把字典类型转化为dataframe对象
    normalizer=preprocessing.scale(price_frame)
    #沿着某个轴标准化数据集,以均值为中心,以分量为单位方差
    price_frame_normalized=pandas.DataFrame(normalizer,columns=['price'])
    #将标准化的数据转换为dataframe对象,将列名改为price
    print(price_frame_normalized)

 

 

おすすめ

転載: blog.csdn.net/weixin_46031067/article/details/118767432