国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

使用sklearn進行對數據標準化、歸一化以及將數據還原的方法

2020-02-15 22:20:45
字體:
來源:轉載
供稿:網友

在對模型訓練時,為了讓模型盡快收斂,一件常做的事情就是對數據進行預處理。

這里通過使用sklearn.preprocess模塊進行處理。

一、標準化和歸一化的區別

歸一化其實就是標準化的一種方式,只不過歸一化是將數據映射到了[0,1]這個區間中。

標準化則是將數據按照比例縮放,使之放到一個特定區間中。標準化后的數據的均值=0,標準差=1,因而標準化的數據可正可負。

二、使用sklearn進行標準化和標準化還原

原理:

即先求出全部數據的均值和方差,再進行計算。

最后的結果均值為0,方差是1,從公式就可以看出。

但是當原始數據并不符合高斯分布的話,標準化后的數據效果并不好。

導入模塊

from sklearn.preprocessing import StandardScalerfrom sklearn.preprocessing import MinMaxScalerfrom matplotlib import gridspecimport numpy as npimport matplotlib.pyplot as plt

通過生成隨機點可以對比出標準化前后的數據分布形狀并沒有發生變化,只是尺度上縮小了。

cps = np.random.random_integers(0, 100, (100, 2)) ss = StandardScaler()std_cps = ss.fit_transform(cps) gs = gridspec.GridSpec(5,5)fig = plt.figure()ax1 = fig.add_subplot(gs[0:2, 1:4])ax2 = fig.add_subplot(gs[3:5, 1:4]) ax1.scatter(cps[:, 0], cps[:, 1])ax2.scatter(std_cps[:, 0], std_cps[:, 1]) plt.show()

sklearn.preprocess.StandardScaler的使用:

先是創建對象,然后調用fit_transform()方法,需要傳入一個如下格式的參數作為訓練集。

X : numpy array of shape [n_samples,n_features]Training set.data = np.random.uniform(0, 100, 10)[:, np.newaxis]ss = StandardScaler()std_data = ss.fit_transform(data)origin_data = ss.inverse_transform(std_data)print('data is ',data)print('after standard ',std_data)print('after inverse ',origin_data)print('after standard mean and std is ',np.mean(std_data), np.std(std_data))

通過invers_tainsform()方法就可以得到原來的數據。

打印結果如下:

可以看到生成的數據的標準差是1,均值接近0。

data is [[15.72836992] [62.0709697 ] [94.85738359] [98.37108557] [ 0.16131774] [23.85445883] [26.40359246] [95.68204855] [77.69245742] [62.4002485 ]]after standard [[-1.15085842] [ 0.18269178] [ 1.12615048] [ 1.22726043] [-1.59881442] [-0.91702287] [-0.84366924] [ 1.14988096] [ 0.63221421] [ 0.19216708]]after inverse [[15.72836992] [62.0709697 ] [94.85738359] [98.37108557] [ 0.16131774] [23.85445883] [26.40359246] [95.68204855] [77.69245742] [62.4002485 ]]after standard mean and std is -1.8041124150158794e-16 1.0

三、使用sklearn進行數據的歸一化和歸一化還原

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 土默特右旗| 永安市| 同江市| 万荣县| 突泉县| 白河县| 盐源县| 揭阳市| 安徽省| 泰和县| 岳池县| 南昌县| 弋阳县| 罗山县| 牡丹江市| 任丘市| 肃南| 佳木斯市| 北碚区| 铁力市| 石景山区| 哈密市| 抚州市| 连南| 牟定县| 榆社县| 莱阳市| 双流县| 大渡口区| 吉隆县| 美姑县| 广东省| 涟水县| 萝北县| 杂多县| 长丰县| 卫辉市| 洛阳市| 凤凰县| 翁源县| 仙游县|