資料探勘中的那些trick(持續更新)

2021-09-25 00:02:29 字數 1843 閱讀 7301

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...