機器學習之資料預處理

2021-09-08 07:13:06 字數 2248 閱讀 5469

from sklearn.preprocessing import standardscaler

x_scaler = standardscaler()

y_scaler = standardscaler()

x_train = x_scaler.fit_transform(x_train)

y_train = y_scaler.fit_transform(y_train)

x_test = x_scaler.transform(x_test) #同樣的模型來訓練轉化測試資料 y_test = y_scaler.transform(y_test)

資料規約產生更小但保持資料完整性的新資料集。在規約後的資料集上進行資料分析和挖掘將更有效率。

機器學習領域中所謂的降維就是指採用某種對映方法,將原高維空間中的資料點對映到低維度的空間中。降維的本質是學習乙個對映函式 f : x->y,其中x是原始資料點的表達,目前最多使用向量表達形式。 y是資料點對映後的低維向量表達,通常y的維度小於x的維度(當然提高維度也是可以的)。f可能是顯式的或隱式的、線性的或非線性的。

目前大部分降維演算法處理向量表達的資料,也有一些降維演算法處理高階張量表達的資料。之所以使用降維後的資料表示是因為在原始的高維空間中,包含有冗餘資訊以及噪音資訊,在實際應用例如影象識別中造成了誤差,降低了準確率;而通過降維,我們希望減少冗餘資訊所造成的誤差,提高識別(或其他應用)的精度。又或者希望通過降維演算法來尋找資料內部的本質結構特徵。

在很多演算法中,降維演算法成為了資料預處理的一部分,如pca。事實上,有一些演算法如果沒有降維預處理,其實是很難得到很好的效果的。1

主要是介紹了pca,還有其他降維演算法:lda(linear discriminant analysis)2,lle (locally linear embedding) 區域性線性嵌入3,拉普拉斯特徵對映4。

主成分分析也稱為卡爾胡寧-勒夫變換(karhunen-loeve transform),是一種用於探索高維資料結構的技術。pca通常用於高維資料集的探索與視覺化。還可以用於資料壓縮,資料預處理等。pca可以把可能具有相關性的高維變數合成線性無關的低維變數,稱為主成分( principal components)。新的低維資料集會經可能的保留原始資料的變數。

pca將資料投射到乙個低維子空間實現降維。例如,二維資料集降維就是把點投射成一條線,資料集的每個樣本都可以用乙個值表示,不需要兩個值。三維資料集可以降成二維,就是把變數對映成乙個平面。一般情況下,n 維資料集可以通過對映降成k 維子空間。5

在python中,主成分的函式位於scikit-learn下:

sklearn.decomposition.pca(n_components=none, copy=true, whiten=false)

引數說明:

栗子

from sklearn.decomposition import pca

import numpy as np import pandas as pd data=np.random.randn(10,4) pca=pca() pca.fit(data) pca.components_ #返回模型的各個特徵向量 pca.explained_variance_ratio_ #返回各個成為各自的方差百分比(貢獻率)

通過計算累計貢獻率,可以確定找到乙個合適的n值,比如累計達到97%時,是前3的值,那麼下一步去降維時,確定n_components=3。那麼,這3維資料佔了原始資料95%以上的資訊。6

下面,再重新建立pca模型。

pca=pca(3)

pca.fit(data)

low_d=pca.transform(data) #用這個方法來降低維度

pd.dataframe(low_d).to_excel('result.xlsx') #儲存結果

pca.inverse_transform(low_d) #必要時,可以用這個函式來復原資料。

機器學習降維演算法一:pca(主成分分析演算法)

↩機器學習降維演算法二:lda(linear discriminant analysis)

↩機器學習降維演算法三:lle (locally linear embedding) 區域性線性嵌入

↩機器學習降維演算法四:laplacian eigenmaps 拉普拉斯特徵對映

↩7-dimensionality-reduction-with-pca↩

posted on 2017-12-29 16:33收藏

機器學習之資料預處理

1.為什麼需要資料預處理?原始資料來自於現實場景,常常有以下幾個特徵 髒 亂 差 缺。髒體現在原始資料裡混雜許多雜訊資料,亂體現在原始資料各維度量綱不同一。差體現在資料錯誤 出現不尋常不一致,這和髒相似。缺體現在原始資料的某些資料段值的缺失。2.資料預處理的方法。歸一化 標準化和中心化是資料預處理中...

機器學習之資料預處理

資料預處理方法 均值移除 範圍縮放 二值化歸一化 獨熱編碼 標籤編碼 直接呼叫api介面進行處理 輸入 輸出 0.5 5.0 0.6 5.5 0.8 6.0 1.1 6.8 1.4 7.0 y f x 函式 y w0 w1x x 輸入 y 輸出 w0和w1 模型引數 所謂模型訓練,就是根據已知的x和...

Python機器學習之資料預處理

coding utf 8 created on sat sep 29 22 39 26 2018 author lxiao217 email lxiao217 163.com 資料預處理 csv comma srpared values,以逗號為分隔符的數值 如果資料以csv檔案的形式儲存在硬碟上,...