實驗03 特徵處理(標準化 歸一化 正則化)

2022-07-02 05:45:10 字數 2411 閱讀 9636

參考部落格:位址傳送

實驗記錄,方便以後查閱

#

預處理方法

from sklearn.preprocessing import

standardscaler

from sklearn.preprocessing import

minmaxscaler

from matplotlib import

gridspec

import

numpy as np

import

matplotlib.pyplot as plt

#返回隨機的整數,位於閉區間 [low, high] random_integers(low[, high, size])

#生成幾個隨機點

cps = np.random.random_integers(0, 100, (100, 2))

#資料標準化

ss =standardscaler()

std_cps =ss.fit_transform(cps) #

使用gridspec自定義子圖 的大小 構建5×5的畫布

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])

#繪製整張圖

引入預處理的函式

from sklearn.preprocessing import

minmaxscaler

import

numpy as np

#均勻分布,隨機生成下乙個實數,在 [low, high) 範圍內 樣本6

#np.newaxis 插入新維度

data = np.random.uniform(0, 100, 10)[:, np.newaxis]

#等同於 minmaxscaler(feature_range = (1,3),copy = false)#範圍改為1~3,對原陣列操作

mm =minmaxscaler()

#fit 和 transform 的結合 fit() 求得訓練集x的均值,方差,最大值,最小值,這些訓練集x固有的屬性

#transform() 在fit的基礎上,進行標準化,降維,歸一化等操作

#fit_transform(traindata)對部分資料先擬合fit,找到該part的整體指標,如均值、方差、最大值最小值等等(根據具體轉換的目的),然後對該traindata進行轉換transform,從而實現資料的標準化、歸一化等等

mm_data =mm.fit_transform(data)

#將標準化後的資料轉換為原始資料

#使用l2正則化

from sklearn.preprocessing import

normalize

l2 = normalize(x, norm='l2'

)print('

l2:'

, l2)

#使用l1正則化

資料特徵歸一化和標準化

每個特徵的數值差異大小會造成分析結果的偏向,例如 身高 m 與體重 kg 1.6m與1.8m的差距只有0.2m,而體重的差距可能達到100 50 50kg的差距,此時用體重去分類結果顯而易見,也即此時體重對分析結果影響較大。見下圖 從此圖可以看出,身高相對體重失去決策能力,而體重卻具有良好非線性去進...

歸一化和標準化

主要是讀了這篇文章才深入理解這兩個的區別 歸一化 對原始資料進行線性轉換到 0,1 區間,如下 最小值和最大值特別容易受異常值影響,因此魯棒性不好,比較適合傳統的小資料場景 標準化 最常用的方法是z score標準化,即將資料轉化成均值為0,標準差為1,處理方法如下 其中理論解釋 歸一化的依據非常簡...

資料標準化(歸一化)

資料標準化 歸一化 處理是資料探勘的一項基礎工作,不同評價指標往往具有不同的量綱和量綱單位,這樣的情況會影響到資料分析的結果,為了消除指標之間的量綱影響,需要進行資料標準化處理,以解決資料指標之間的可比性。原始資料經過資料標準化處理後,各指標處於同一數量級,適合進行綜合對比評價。以下是兩種常用的歸一...