機器學習 特徵工程之特徵選擇
概念
首先看一下維基百科中關於特徵選擇的介紹:
在機器學習和統計學中,特徵選擇 也被稱為變數選擇、屬性選擇 或變數子集選擇 。它是指:為了構建模型而選擇相關特徵(即屬性、指標)子集的過程。
在機器學習中,每個特徵對於目標類別的影響並不相同,所以需要從特徵集中挑選出一組最具統計意義的特徵子集,把其他無用資料刪掉,達到降維的目的。
特徵選擇的目標是尋找最優特徵子集。特徵選擇能剔除不相關(irrelevant)或冗餘(redundant )的特徵,從而達到減少特徵個數,提高模型精確度,減少執行時間的目的。另一方面,選取出真正相關的特徵簡化模型,協助理解資料產生的過程。
常用的特徵選擇方法分為過濾法(Filter)、包裝法(Wrapper)和整合法(Embedded)
下面有個清晰的特徵工程的思維導圖:
圖片源自(http://www.csuldw.com/2015/10/24/2015-10-24%20feature%20engineering/)
過濾法(Filter)
按照發散性或者相關性對各個特徵進行評分,設定閾值或者待選擇閾值的個數,選擇特徵
方差選擇法
使用方差選擇法,先要計算各個特徵的方差,然後根據閾值,選擇方差大於閾值的特徵。預設設定下,它將移除所有方差為0的特徵,即那些在所有樣本中數值完全相同的特徵。
相關係數法
使用相關係數法,先要計算各個特徵對目標值的相關係數以及相關係數的P值。
卡方檢驗
經典的卡方檢驗是檢驗定性自變數對定性因變數的相關性。
互資訊法
經典的互資訊也是評價定性自變數對定性因變數的相關性的
filter(刷選器)優缺點
上面提到的這種特徵子集選擇的方法屬於filter(刷選器)方法,它主要側重於單個特徵跟目標變數的相關性。優點是計算時間上較高效,對於過擬合問題也具有較高的魯棒性。缺點就是傾向於選擇冗餘的特徵,因為他們不考慮特徵之間的相關性,有可能某一個特徵的分類能力很差,但是它和某些其它特徵組合起來會得到不錯的效果。
包裝法(Wrapper)
根據目標函式(通常是預測效果評分),每次選擇若干特徵,或者排除若干特徵。有逐步迴歸(Stepwise regression)、向前選擇(Forward selection)和向後選擇(Backward selection)
遞迴特徵消除法
遞迴消除特徵法使用一個基模型來進行多輪訓練,每輪訓練後,消除若干權值係數的特徵,再基於新的特徵集進行下一輪訓練
wrapper(封裝器)優缺點
封裝器用選取的特徵子集對樣本集進行分類,分類的精度作為衡量特徵子集好壞的標準,經過比較選出最好的特徵子集。常用的有逐步迴歸(Stepwise regression)、向前選擇(Forward selection)和向後選擇(Backward selection)。它的優點是考慮了特徵與特徵之間的關聯性,缺點是:當觀測資料較少時容易過擬合,而當特徵數量較多時,計算時間又會增長。
整合法(Embedded)
整合法,先使用某些機器學習的演算法和模型進行訓練,得到各個特徵的權值係數,根據係數從大到小選擇特徵。類似於Filter方法,但是是通過訓練來確定特徵的優劣。Regularization,或者使用決策樹思想,Random Forest和Gradient boosting等
基於懲罰項的特徵選擇法
使用帶懲罰項的基模型,除了篩選出特徵外,同時也進行了降維。
基於樹模型的特徵選擇法
樹模型中GBDT也可用來作為基模型進行特徵選擇
特徵選擇-有效性分析
對特徵的有效性進行分析,得到各個特徵的特徵權重,根據是否與模型有關可以分為1.與模型相關特徵權重,使用所有的特徵資料訓練出來模型,看在模型中各個特徵的權重,由於需要訓練出模型,模型相關的權重與此次學習所用的模型比較相關。不同的模型有不同的模型權重衡量方法。例如線性模型中,特徵的權重係數等。2.與模型無關特徵權重。主要分析特徵與label的相關性,這樣的分析是與這次學習所使用的模型無關的。與模型無關特徵權重分析方法包括(1)交叉熵,(2)Information Gain,(3)Odds ratio,(4)互資訊,(5)KL散度等
資料引用
本文是自己在學習過程中,閱讀部落格整理而來,大部分是直接摘取自他人內容,如有侵權,請告知刪除,有些引用內容有所遺漏,沒有註明,請告知。
http://www.csuldw.com/2015/10/24/2015-10-24%20feature%20engineering/
相關文章
- 特徵工程之特徵選擇特徵工程
- 機器學習中,有哪些特徵選擇的工程方法?機器學習特徵
- 機器學習-特徵提取機器學習特徵
- 機器學習 | 特徵工程機器學習特徵工程
- 機器學習——特徵工程機器學習特徵工程
- 機器學習特徵工程機器學習特徵工程
- 機器學習—降維-特徵選擇6-4(PCA-Kernel方法)機器學習特徵PCA
- ch11 特徵選擇與稀疏學習特徵
- 機器學習的靜態特徵和動態特徵機器學習特徵
- 機器學習之特徵工程機器學習特徵工程
- xgboost 特徵選擇,篩選特徵的正要性特徵
- 機器學習中特徵選擇怎麼做?這篇文章告訴你機器學習特徵
- 特徵工程之特徵表達特徵工程
- 機器學習之 基於xgboost的特徵篩選機器學習特徵
- 特徵選擇和特徵生成問題初探特徵
- 特徵工程 特徵選擇 reliefF演算法特徵工程演算法
- 機器學習2-特徵工程機器學習特徵工程
- 特徵工程之特徵預處理特徵工程
- 機器學習 – 特徵選擇演算法流程、分類、優化與發展綜述機器學習特徵演算法優化
- 機器學習筆記——特徵標準化機器學習筆記特徵
- 面向機器學習的特徵工程一、引言機器學習特徵工程
- 機器學習之良好特徵的特點機器學習特徵
- 機器學習的未來——深度特徵融合機器學習特徵
- 機器學習1-sklearn&字典特徵抽取機器學習特徵
- XGBoost學習(六):輸出特徵重要性以及篩選特徵特徵
- RF、GBDT、XGboost特徵選擇方法特徵
- 特徵選擇技術總結特徵
- xgboost 特徵重要性選擇 / 看所有特徵哪個重要特徵
- 專欄 | 基於 Jupyter 的特徵工程手冊:特徵選擇(五)特徵工程
- 專欄 | 基於 Jupyter 的特徵工程手冊:特徵選擇(四)特徵工程
- 專欄 | 基於 Jupyter 的特徵工程手冊:特徵選擇(一)特徵工程
- 專欄 | 基於 Jupyter 的特徵工程手冊:特徵選擇(二)特徵工程
- 專欄 | 基於 Jupyter 的特徵工程手冊:特徵選擇(三)特徵工程
- 決策樹模型(2)特徵選擇模型特徵
- SparkML機器學習之特徵工程(一)特徵提取(TF-IDF、Word2Vec、CountVectorizer)Spark機器學習特徵工程
- 基於條件熵的特徵選擇熵特徵
- 機器學習框架ML.NET學習筆記【3】文字特徵分析機器學習框架筆記特徵
- 哪些特徵對我的機器學習模型影響最大?特徵機器學習模型
- 機器學習之特徵組合:組合獨熱向量機器學習特徵