資料預處理技術

2021-09-05 12:24:18 字數 1709 閱讀 1443

1.均值移除(mean removal)

通常我們把每個特徵值移除,以保證特徵值均為0(即標準化處理),這樣可以消除特徵值之間的偏差(bias).將下面幾行**加入之前開啟的python檔案中

data_standized = preprocessing.scale(data) print "\nmean =",data_standardized.mean(axis=0) print "std deviation =", data_standardized.std(axis=0)

2.範圍縮放

資料點中的每個資料範圍可能變化很大,因此,有時將資料的特徵範圍縮放到合理的大小是非常重要的。在python 檔案中加入下面幾行**

data_scaler = preprocessing.minmaxscaler(feature_range=(0,1))

data_scaled = data_scaler.fit_transform(data)

print "\nmin max scaled data =",data_scaled

3.歸-化(normalization)

資料歸化用於需要對特徵向量的值進行調整時,以保證每個特徵向量的值都縮放到相同的數值範圍。機器學習中最常用的歸一化形式就是將特徵向量調整為l1範數,使特徵向量的數值之和為1.

data_normalized = preprocessing.normalized(data,norm='1,1')

print "\nl1 normalized data =",data_normalized

4.二值化(binarization)

二值化用於將數值特徵向量轉換為布林型別向量。

data_binarization = preprocessing.binarization(threshold=1.4).transform(data)

print "\n binarized data =",data_binarized

5.獨熱編碼

通常,需要處理的資料都是稀疏地,算亂地分布在空間中,然而,我們並不需要儲存這些大數值,這時就需要使用獨熱編碼(one-hot encoding). 可以把獨熱編碼看作是一種收緊(tighten)特徵向量的工具。他把每個特徵向量的每個特徵與特徵的非重複總數相對應,通過one-of-k的形式對每個值進行編碼。特徵向量的每個特徵值都按照這種方式進行編碼,這樣可以更加有效的表示空間。例如我們需要處理4維向量空間,當給乙個特徵向量的第n個特徵進行編碼時,編碼器會遍歷每個特徵向量的第n個特徵,然後進行非重複計數。如果非重複計數的值是k,那麼九八這個特徵轉換為只有乙個值是1其他值都是0的k維向量。增加下面幾行**到前面的python檔案中:

encoder = preprocessing.onehotencoder()

encoder.fit([[0,2,1,12],[1,3,5,3],[2,3,2,12],[1,2,4,3]])

encoded_vector = encoder.transform([[2,3,5,3]]).toarray()

print "\nencoded vector =",encoded_vector

資料預處理技術

進行資料探勘和機器學習之前,必須保證資料是可靠 可用的。這就要通過一定技術,對資料進行處理和轉換,將原始資料轉化成演算法和模型需要的格式和內容。這就是資料預處理技術,其對資料探勘效果的好壞,結果的正確性具有基礎性的作用。資料預處理一般包括 資料清洗 整合 轉換 規約。資料清洗 目的 格式標準化 異常...

預處理技術

預處理技術概述 確保標頭檔案多次包含仍能安全工作的常用技術是預處理器,它由c 語言從c語言繼承而來。預處理器是在編譯之前執行的一段程式,可以部分地改變我們所寫的程式。之前已經用到了一項預處理功能 include,當預處理器看到 include 標記時就會用指定的標頭檔案的內容代替 include。c...

mysql 預處理 MySQL的預處理技術

所謂的預處理技術,最初也是由mysql提出的一種減輕伺服器壓力的一種技術!傳統mysql處理流程 1,在客戶端準備sql語句 2,傳送sql語句到mysql伺服器 3,在mysql伺服器執行該sql語句 4,伺服器將執行結果返回給客戶端 這樣每條sql語句請求一次,mysql伺服器就要接收並處理一次...