資料清洗、資料挖掘常見十大問題
- 一、資料預處理、資料清洗和特征工程
- 二、資料預處理和特征工程階段**最常見的10個問題**
- 1. 什么是資料 EDA?
- 2. 缺失值的處理方式有哪些?
- 3. 如何檢測例外資料?如何處理?
- 4. 什么是特征工程?有什么作用?
- 5. 特征工程的一般步驟是什么?
- 6. 特征衍生的方法有哪些?
- 7. 對于時間序列特征、連續特征、離散特征如何做特征轉換的?
- 8. 如何處理樣本不平衡問題?
- 9. 特征篩選的作用和目的?
- 10. 特征篩選的方法有哪些?優缺點各是什么?
- 10.1 過濾法 Filter:
- 10.2 嵌入法 Embedded
- 10.3 包裝法 Wrapper:
一、資料預處理、資料清洗和特征工程
? 資料預處理主要是對資料集進行探索性分析,而特征工程則是進行分析后的相應處理,以上兩個名詞不常說,最常聽的應該還是資料清洗,差不多也就相當于上面兩個步驟,
? 例如:在預處理階段發現資料存在缺失值、例外值;資料特征之間存在共線性;資料特征可以互相組合形成更好的特征等等,就可以在特征工程 階段對上述發現的問題進行相應的處理,
二、資料預處理和特征工程階段最常見的10個問題
1. 什么是資料 EDA?
EDA:Exploratory Data Analysis,譯為:探索性資料分析,
? 資料 EDA 是在拿到資料之后對資料進行初步探索認識的一個程序,在資料 EDA 階段,并不對資料做任何處理,只進行資料探索,而在特征工程階段會對資料進行相關操作,具體的,資料 EDA 有如下作用:
- 了解資料的分布、特征的類別,以及發現離群點資料,這一步可通過簡單的直方圖、散點圖、小提琴圖、箱型圖等進行探索;
- 了解資料特征與特征之間的關聯情況,以及特征與目標變數之間的關系,這一步可通過組合直方圖、熱力圖等進行探索;
- 對于劃分后的資料集,可以探索訓練集和測驗集的樣本整體分布是否一致,資料特征的缺失情況、分布是否一致等,
2. 缺失值的處理方式有哪些?
對于缺失值的處理有很多方法,在缺失率低的情況下可以對缺失資料進行填充,比如使用均值、眾數、隨機森林演算法等進行缺失值填充;
另外,如果缺失值不能簡單的填充,可以將缺失資料當做特征中的某個類別處理(具體的也可以在資料 EDA 中探索資料缺失的情況下和目標變數之間的關系)
如果某個特征的缺失程度過高,也可以直接剔除該特征,需要注意的是,在 xgb 和 lgb 模型中可以自動處理缺失值,所以不需要提前進行處理,
3. 如何檢測例外資料?如何處理?
例外資料的檢測有兩種方法,基于統計的例外點檢測和基于距離的例外點檢測,
基于統計的例外點檢測常用的有四分位法,通過上下四分位對例外資料進行篩選,特別的,在資料 EDA 階段可以通過箱型圖、小提琴圖進行類似原理的檢測,
基于距離的例外點檢測可以參考聚類模型,通過歐氏距離公式計算點點之間的距離,并據此篩選例外資料,
對于例外資料,可以替換也可以洗掉;特別的,在風控模型中,會通過 WOE 轉換對資料進行處理,將資料分成一箱一箱的,據此可以消除例外值對整體資料的影響,
4. 什么是特征工程?有什么作用?
特征工程總體來說是對資料進行處理、轉換、篩選等,對在資料 EDA 階段發現的缺失資料、例外資料等,都會在特征工程中進行處理,另外,對于特征的衍生、組合、轉換等操作也會在此進行,
特征工程的目的就是通過資料預處理、特征衍生、特征篩選從而得到規整的資料和貢獻度大的特征,使模型達到更好的效果,
5. 特征工程的一般步驟是什么?
特征工程的一般步驟包括資料預處理,特征轉換和特征篩選三部分,
-
資料預處理:主要對缺失值、例外值、資料格式等進行簡單的處理操作;
-
特征轉換:對連續特征、離散特征、時間序列特征等進行轉換,更進一步的,還會對特征之間進行特征組合,包括但不限于四則運算、交叉、合并等業務上的特征操作;
例如:未婚 + 本科畢業,男生 + 有房有車
-
特征篩選:在上一步生成的大量的特征中篩選部分對目標變數有明顯貢獻的特征,常用的方法有 過濾法、包裝法和嵌入法(后面會具體介紹),
6. 特征衍生的方法有哪些?
常用的特征衍生主要包括業務上的衍生和非業務上的衍生,整理如下:
- 業務上的特征衍生:基于對業務的深入理解,進行頭腦風暴,或者整合第三方的資料進行業務上的交叉和延伸
- 非業務上的特征衍生:拋開業務本身,對于特征可以進行四則運算、取平均/最大/最小、單位轉換等操作;另外,對于類別特征,還可以進行獨熱編碼等衍生操作,
7. 對于時間序列特征、連續特征、離散特征如何做特征轉換的?
- 對于時間序列特征:將時間變數的維度進行分離(年/月/日/時/分/秒),或者進行簡單的衍生(季度、星期、凌晨、中午等),更進一步的可以與其他變數進行組合
- 對于連續型特征:常用標準化、歸一化、離散化等操作,評分卡模型中主要用到離散化分箱,常用的離散化方法有:卡方分箱、等頻等距分箱等,
- 對于離散型特征:如果是無序離散可以用獨熱編碼,如果是有序離散可以用順序編碼,如果類別數較多可以使用平均數編碼
8. 如何處理樣本不平衡問題?
風控模型中樣本不平衡主要是因為壞樣本的數量太少,壞樣本受限于用戶本來就較少,也因為風控策略的嚴格導致壞用戶過少,在針對此類資料樣本一般使用如下方法:
- 嘗試擴大資料集,比如通過延長時間線來收集資料,將三個月的用戶資料延長到六個月以增加資料量;
- 對資料集進行抽樣,一種是進行欠采樣,通過減少較多類的資料樣本來降低資料的不平衡;另一種是進行過采樣,通過增加較少類的資料樣本來降低資料的不平衡,常用 SMOTE 方法來實作過采樣;
- 嘗試使用對不平衡樣本資料處理效果較好的模型,如 xgb 和 lgb 模型,
9. 特征篩選的作用和目的?
在開始建模前的最后一個步驟就是進行特征篩選,特征篩選就是從所有的特征中篩選出貢獻度最高的 m 個特征,使用篩選后的特征建模后有如下好處:
- 大大縮短模型訓練的時間,特別是在評分卡模型資料維度特別多時效果更佳;
- 簡化模型,避免維度過多產生維度災難;
- 增加模型的可解釋性,減低模型過擬合的風險,
10. 特征篩選的方法有哪些?優缺點各是什么?
特征篩選常用的方法有過濾法、封裝法和嵌入法,如何如下:
10.1 過濾法 Filter:
按照發散性或者相關性對各個特征進行評分,手動設定閾值或者待選擇閾值的個數,選擇特征,比較常用的方法有:方差過濾、卡方齊性檢驗、互資訊法過濾、相關系數過濾、IV 值過濾,其中,后兩個較常用,
- 優點:演算法復雜度低、通用性強,不需要訓練分類器,對于大規模資料集比較實用;
- 缺點:對于特征的評分在準確率上一般較低,
10.2 嵌入法 Embedded
先使用某些機器學習演算法進行模型訓練,得到各個特征的權重系數,根據系數從大到小選擇特征,比較常用的方法有:基于隨機森林、xgb、lgb 的嵌入法和使用懲罰項的模型的嵌入法(如嶺回歸,lasso 回歸等)
上述提到的權重系數代表特征對于模型的某種貢獻或重要性,比較樹模型中的 feature_importances_ 屬性,
- 優點:更加精確到模型的效用本身,對于模型性能的提升較好
- 缺點:特征對于模型貢獻度的閾值無法主觀確定,需要根據實際情況確定,
10.3 包裝法 Wrapper:
與嵌入法類似,包裝法是一個特征選擇和演算法訓練同時進行的方法,比較依賴于演算法自身的選擇,比較常用的方法有:遞回消除法、啟發式搜索(前向/后向選擇法,逐步選擇法)、隨機搜索,啟發式搜索較常用,
具體的,包裝法在初始訓練集上訓練評估器,通過 coed_ 屬性或者通過 feature_importances_ 屬性獲得每個特征的重要性;然后,從當前的一組特征中修剪最不重要的特征,重復遞回該程序直到特征達到要求
- 優點:相對于過濾法,封裝法的分類性能會更好
- 缺點:通用性不強,當改變學習演算法時,需要針對該學習演算法重新進行特征選擇;并且對于大規模資料,執行時間較長,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/272194.html
標籤:其他
