1.1 缺失值填充
在資料探勘競賽中,由於xgb、lgb的強大功能,很多時候訓練模型並不需要對缺失值進行填充。
對於缺失量達到一定比例的特徵,可以考慮將其捨棄。但在eda作圖或是refcv特徵篩選時,要求不能存在缺失資料,因此有時還是要對缺失值進行填充。
簡單的缺失值填充可以參考以下原則:
dataset[feature]
.fillna(dataset[feature]
.mean())
dataset[feature]
.fillna(dataset[feature]
.median(
))
1.2 箱形圖法處理異常值
箱形圖法,又稱為四分位數法,顧名思義,就是通過確定上下四分位數,來確定異常值的界限。
中位數我們都知道,可以按照大小順序地將資料分為等量的兩部分。四分位數同理,上下四分位數與中位數共同作用,可以將資料分為4個部分,每個部分占原資料的25%。然後計算出四分位距,上界為上四分位數加上1.5倍的四分位距,下界為下四分位數減去1.5倍的四分位距,上下界以外的即為異常值。
下面給出python中的實現:
# 將資料等量地劃分為4個部分
pencentile = np.percentile(dataset[feature],[
0,25,
75,100]
)# 計算四分位距
iqr = pencentile[3]
- pencentile[1]
# 計算上下界
up_limit = pencentile[3]
+ iqr*
1.5down_limit = pencentile[1]
- iqr*
1.5
這個方法最大的特點就是魯棒性強,能夠準確描繪資料分布的情況。
2.1 one-hot encoding
為什麼要編碼?
假設我們現在有顏色這乙個類別型特徵,它的取值有紅色、綠色和藍色三種。當模型不能處理類別型特徵時,我們必須對它進行編碼才能輸出到模型中。
如何進行編碼?
你可能會想到令紅色=0,綠色=1,藍色=2的方法,這種方法看起來簡單,容易理解,但其實是不合理的。因為這種簡單的賦值會令模型認為顏色間存在連續大小的關係,即紅色 < 綠色 < 藍色,人為引入了偏見。我們可以對比另外一組特徵,比如身高,取值有高、中、低三種。這時身高的取值間其實存在某種大小關係,所以我們才可以用賦值這種簡單的方法去編碼。對於顏色這類特徵,將其編碼為紅色=[1,0,0],綠色=[0,1,0],藍色=[0,0,1]的方法會更好,也就是我們說的獨熱編碼。
下面給出python中最簡單的實現方法,利用pandas.get_dummies()就可以完成。處理過後不要忘記drop原來的特徵。
import pandas as pd
# prefix為自定義變數名字首
temp = pd.get_dummies(dataset[
'color'
], prefix =
'color'
)#將編碼後的dataframe拼接
dataset = dataset.join(temp)
獨熱編碼的優缺點
優點:對類別型特徵進行編碼,解決了模型不能輸出此類特徵的問題。
缺點:當特徵取值非常多時,特徵空間會變得非常大,因此還要結合降維處理。
持續更新
資料探勘中的資料
資料集資料預處理 相似度和相異性 簡單匹配係數 jaccard係數 余弦相似度 歐幾里得距離 例如礦石硬度 成績 街道號碼 例如日曆日期 攝氏或華氏溫度 例如絕對溫度 貨幣量 計數 年齡 質量 長度 電流 出現遺漏值的原因 處理遺漏值的策略將兩個或多個物件合併成單個物件 聚集是刪除屬性的過程,或壓縮...
資料探勘中的ROC曲線
基本術語 1 真正率 tpr,true positive rate 即命中率 tpr tp p tp tp fn 2 假真正率 fpr,false positive rate 即錯誤命中率 假警報 fpr fp n fp fp tn 3 準確度 acc,accuracy acc tp tn p n ...
資料探勘中的經典演算法
資料分析中的資料探勘涉及到了很多的演算法,我們要想做好資料分析工作就需要學習這些演算法。在資料探勘的演算法中,每個演算法都有著自己的優勢,它們在資料探勘領域都產生了較為深刻的影響。那麼大家知不知道資料探勘中的經典演算法都有哪些呢?下面我們就給大家一一介紹。1.k means演算法 the k mea...