本文是python資料探勘實戰的讀書筆記。因為資料預處理這部分比較枯燥無趣,所以先手抄一遍主要內容。之前做過很多分析工作,但是對資料預處理這部分沒有系統化的梳理,通過閱讀這部分內容,感覺能彌補一下之前的方**短板。
資料預處理的目的,有2個目的,一是為了提高資料的質量,二是為了讓資料更好地適應特定的挖掘技術或工具。這部分鋪墊工作做好了,後面的模型和演算法才能登台唱戲。
資料預處理包含哪幾步呢? 其實主要分為4塊內容:
1.1 缺失值處理
刪除記錄,資料插補, 不處理。
常用的資料插補方法:
- 均值,中位數,眾數插補
- 使用固定值
- 回歸方法(**)
- 插值法(拉格朗日插值法,牛頓插值法等)
拉格朗日插值多項式:
l(x分享三篇很詳細易懂的拉格朗日插值法推導過程:)=∑i
=0n(
yi∏j
=0,j
≠inx
−xjx
i−xj
)l(x)=\sum_^n(\prod_}^n\frac)
l(x)=∑
i=0n
(yi
∏j=
0,j̸
=in
xi
−xj
x−xj
)
1.2 異常值處理
2.1 實體識別
2.2 冗餘屬性識別
3.1 簡單函式變換
x′=x2
x'=x^2
x′=x
2
x′=xx'=\sqrt
x′=x
x′=log(
x)
x'=log(x)
x′=log
(x)
δf(3.2 規範化(歸一化)xk)=
f(xk
+1)−
f(xk
)\delta f(x_k)=f(x_)-f(x_k)
δf(xk
)=f(
xk+1
)−f
(xk
)
x′=x−mi
nmax
−min
x'=\frac
x′=max
−min
x−mi
n
x′=x−x‾
σx'=\frac}
x′=σx−
x
x′=3.3 連續屬性離散化x10k
x'=\frac
x′=10k
x
為了適應某些分類演算法,需要將連續變數變成分類變數。
3.4 屬性構造
利用已知屬性構造新的屬性,並加入到屬性集合中。
3.5 小波變換
小波變換可以把非平穩訊號分解為表達不同層次、不同頻帶資訊的資料序列,即小波係數。選取適當的小波係數,即完成了訊號的特徵提取。
在大資料集上進行複雜的資料分析和挖掘需要很長時間。資料規約產生更小但保持原資料完整性的新資料集。
資料規約的意義:
4.1 屬性規約
4.2 數值規約
數值規約主要目的是通過各種辦法減少資料量。包括有引數方法、無引數方法。
無引數方法
interpolate函式:一維、高維資料插值
f = scipy.interpolate.lagrange(x, y)x, y 為對應的自變數和因變數資料
unique函式:去除資料中的重複元素。有兩種用法,既可以是numpy庫中的乙個函式,也可以是series物件的方法
# d是一維陣列,可以是list, array, seriesisnull/notnull函式:判斷每個元素是否空值/非空值,返回乙個布林series物件。np.unique(d)
# d是series物件
d.unique()
# d是series物件random函式:生成隨機矩陣d.isnull()
d.notnull()
# 生成乙個n x m x k 的隨機矩陣pca函式: 對變數矩陣進行主成分分析np.random.rand(n, m, k)
# 生成乙個n x m x k 的隨機矩陣,其元素服從正態分佈
np.random.randn(n, m, k)
from sklearn.decomposition import pca資料預處理的大概就是這些內容,在資料分析工作中,這部分的工作量也是比較耗時費力的,這也是資料探勘工作中最不智慧型的部分,目前來看好像無法被自動化和ai化。model = pca()
model.fit(d)
model.components_
不過最近看到乙個開源python庫featuretools,似乎可能拿來做資料預處理和特徵工程的自動化。打算找時間研究下看看。有興趣的朋友一起~
資料預處理主要包括什麼?
無量綱化 無量綱化主要解決資料的量綱不同的問題,使不同的資料轉換到同一規格,常見的方法有標準化和區間縮放法。標準化的假設前提是特徵值服從正態分佈。區間放縮法利用了邊界值資訊,將特徵的取值區間縮放到某個特點的範圍,列如 0,1 等。1 標準化 理論上,標準化適用於服從正態分佈的資料,目前很多任務程都依...
典型的資料分析,主要包含以下哪幾步?
資料分析有極廣泛的應用範圍,這是乙個掃盲貼。典型的資料分析可能包含以下三個步 1 探索性資料分析,當資料剛取得時,可能雜亂無章,看不出規律,通過作圖 造表 用各種形式的方程擬合,計算某些特徵量等手段探索規律性的可能形式,即往什麼方向和用何種方式去尋找和揭示隱含在資料中的規律性。2 模型選定分析,在探...
資料預處理
現實世界中資料大體上都是不完整,不一致的髒資料,無法直接進行資料探勘,或挖掘結果差強人意。為了提前資料探勘的質量產生了資料預處理技術。資料預處理有多種方法 資料清理,資料整合,資料變換,資料歸約等。這些資料處理技術在資料探勘之前使用,大大提高了資料探勘模式的質量,降低實際挖掘所需要的時間。一 資料清...