數據歸一化python
Ⅰ 在python上數據歸一化後怎樣還原
歸一化用fit_transform()
數據還原用inverse_transform()
Ⅱ PYTHON實現對CSV文件多維不同單位數據的歸一化處理
1)線性歸一化
這種歸一化比較適用在數值比較集中的情況,缺陷就是如果max和min不穩定,很容易使得歸一化結果不穩定,使得後續的效果不穩定,實際使用中可以用經驗常量來代替max和min。
2)標准差標准化
經過處理的數據符合標准正態分布,即均值為0,標准差為1。
3)非線性歸一化
經常用在數據分化較大的場景,有些數值大,有些很小。通過一些數學函數,將原始值進行映射。該方法包括log、指數、反正切等。需要根據數據分布的情況,決定非線性函數的曲線。
log函數:x = lg(x)/lg(max)
反正切函數:x = atan(x)*2/pi
Python實現
線性歸一化
定義數組:x = numpy.array(x)
獲取二維數組列方向的最大值:x.max(axis = 0)
獲取二維數組列方向的最小值:x.min(axis = 0)
對二維數組進行線性歸一化:
def max_min_normalization(data_value, data_col_max_values, data_col_min_values):
""" Data normalization using max value and min value
Args:
data_value: The data to be normalized
data_col_max_values: The maximum value of data's columns
data_col_min_values: The minimum value of data's columns
"""
data_shape = data_value.shape
data_rows = data_shape[0]
data_cols = data_shape[1]
for i in xrange(0, data_rows, 1):
for j in xrange(0, data_cols, 1):
data_value[i][j] = \
(data_value[i][j] - data_col_min_values[j]) / \
(data_col_max_values[j] - data_col_min_values[j])
標准差歸一化
定義數組:x = numpy.array(x)
獲取二維數組列方向的均值:x.mean(axis = 0)
獲取二維數組列方向的標准差:x.std(axis = 0)
對二維數組進行標准差歸一化:
def standard_deviation_normalization(data_value, data_col_means,
data_col_standard_deviation):
""" Data normalization using standard deviation
Args:
data_value: The data to be normalized
data_col_means: The means of data's columns
data_col_standard_deviation: The variance of data's columns
"""
data_shape = data_value.shape
data_rows = data_shape[0]
data_cols = data_shape[1]
for i in xrange(0, data_rows, 1):
for j in xrange(0, data_cols, 1):
data_value[i][j] = \
(data_value[i][j] - data_col_means[j]) / \
data_col_standard_deviation[j]
非線性歸一化(以lg為例)
定義數組:x = numpy.array(x)
獲取二維數組列方向的最大值:x.max(axis=0)
獲取二維數組每個元素的lg值:numpy.log10(x)
獲取二維數組列方向的最大值的lg值:numpy.log10(x.max(axis=0))
對二維數組使用lg進行非線性歸一化:
def nonlinearity_normalization_lg(data_value_after_lg,
data_col_max_values_after_lg):
""" Data normalization using lg
Args:
data_value_after_lg: The data to be normalized
data_col_max_values_after_lg: The maximum value of data's columns
"""
data_shape = data_value_after_lg.shape
data_rows = data_shape[0]
data_cols = data_shape[1]
for i in xrange(0, data_rows, 1):
for j in xrange(0, data_cols, 1):
data_value_after_lg[i][j] = \
data_value_after_lg[i][j] / data_col_max_values_after_lg[j]
Ⅲ [Python] 數組歸一化
將數組歸一化
歸一化:將一組數據變化到某個固定區間中,通常,這個區間是[0,1],廣義的講,可以是各種區間,比如映射到[0,1]一樣可以繼續映射到其他范圍,圖像中可能會映射到[0,255],其他情況可能映射到[-1,1]。
Ⅳ 在python上數據歸一化後怎樣還原
看到各位大佬們都會把原始數據進行歸一化,再處理。可是都沒有人講怎樣把歸一化的數據還原回來。
目前可找到的方法就只有matlab上的這個函數:
xtt = mapminmax('reverse',y1,ps)
在python上,就看到許多人推薦用sklearn進行歸一化,但沒有還原的方法呀。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
你要問我為什麼 要還原?
把日期和氣溫的數據放到模型里跑半天,想看看下一天的氣溫,結果出來一個0.837之類東西。
sklearn中transform用來歸一化後,可以用inverse_transform還原。
Ⅳ 在python上數據歸一化後怎樣還原
數據歸一化方法有兩種形式,一種是把數變為(0,1)之間的小數,一種是把有量綱表達式變為無量綱表達式。1、把數變為(0,1)之間的小數主要是為了數據處理方便提出來的,把數據映射到0~1范圍之內處理,更加便捷快速,應該歸到數字信號處理范疇之內。2、是把有量綱表達式變為無量綱表達式歸一化是一種簡化計算的方式,即將有量綱的表達式,經過變換,化為無量綱的表達式,成為純量。
Ⅵ python數據歸一化的函數嗎
目測是autonorm.py中lin 17 normdataset=zeros(shape(dataset)) 這一句 shape(dataset)返回的是元組,但是zeros( args )需要的是整形參數,做個類型轉換就ok了
Ⅶ 數據的歸一化處理
是的,把需要處理的數據經過處理後(通過某種演算法)限制在你需要的一定范圍內。首先歸一化是為了後面數據處理的方便,其次是保證程序運行時收斂加快。
歸一化的具體作用是歸納統一樣本的統計分布性。歸一化在0-1之間是統計的概率分布,歸一化在某個區間上是統計的坐標分布。歸一化有同一、統一和合一的意思。
1、(0,1)標准化:
這是最簡單也是最容易想到的方法,通過遍歷feature vector里的每一個數據,將Max和Min的記錄下來,並通過Max-Min作為基數(即Min=0,Max=1)進行數據的歸一化處理:
LaTex:{x}_{normalization}=frac{x-Min}{Max-Min}
Python實現:
Ⅷ Python怎麼對數據框中的兩列進行歸一化
可以使用sklearn庫中的MinMaxScaler函數:
```
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
data[['col1', 'col2']] = scaler.fit_transform(data[['col1', 'col2']])
```
Ⅸ 教你如何用python6個步驟搞定金融數據挖掘預處理
數據預處理沒有標準的流程,通常針對不同的任務和數據集屬性的不同而不同。下面就一起看下常用六大步完成數據預處理。
Step 1:導入相關模塊
Step 2:獲取數據
特徵構造
Step 3:處理缺失值
Step 4:分類數據編碼
創建虛擬變數
Step 5:劃分訓練集和測試集
Step 6:特徵標准化
數據變換十大秘訣
數據變換[1]是將數據集的每個元素乘以常數;也就是說,將每個數變換為,其中,和都是實數。數據變換將可能改變數據的分布以及數據點的位置。
數據標准化[2](有時稱為 z-score 或 standar score)是已重新縮放為平均值為零且標准偏差為1的變數。對於標准化變數,每種情況下的值在標准化變數上的值都表明它與原始變數的均值(或原始變數的標准偏差)的差值。
歸一化數據 是將數據縮放到0到1范圍內。
Binarizing Data
二值化[3]是將任何實體的數據特徵轉換為二值化的向量以使分類器演算法更高效的過程。在一個簡單的示例中,將圖像的灰度從0-255光譜轉換為0-
1 光譜就是二值化。
Mean Removal
去均值法 是將均值從每一列或特徵中移除,使其以零為中心的過程。
One Hot Encoding
獨熱編碼[4]是將分類變數轉換為可以提供給ML演算法以更好地進行預測的形式的過程。
Label Encoding
標簽編碼 適用於具有分類變數並將數據轉換為數字的數據。
fit
transform
詞向量 用於帶有標簽和數字的數據。此外,詞向量可用於提取數據。
獲取特徵名稱
Polynomial Features
多項式特徵 用於生成多項式特徵和交互特徵。它還生成了一個新的特徵矩陣數據,該數據是由所有次數小於或等於指定次數的特徵的多項式組合組成的。
截距項
填補 (如用均值填補缺失值),它用列或特性數據中的平均值替換缺失的值
Ⅹ python怎麼做均值方差歸一化
可以用線性歸一化,就是找到最大值和最小值。
平均數是表示一組數據集中趨勢的量數,是指在一組數據中所有數據之和再除以這組數據的個數。它是反映數據集中趨勢的一項指標。解答平均數應用題的關鍵在於確定「總數量」以及和總數量對應的總份數。在統計工作中,平均數(均值)和標准差是描述數據資料集中趨勢和離散程度的兩個最重要的測度值。