通常而言,特徵選擇是指選擇獲得相應模型和演算法最好效能的特徵集。資料和特徵決定了機器學習的上限,而模型和演算法只是逼近這個上限而已。
從這個概念可以看出,特徵工程其實是乙個如何展示和表現資料的問題,在實際工作中需要把資料以一種「良好」的方式展示出來,使得能夠使用各種各樣的機器學習模型來得到更好的效果。如何從原始資料中去除不佳的資料,展示合適的資料就成為了特徵工程的關鍵問題
通過特徵提取,我們能得到未經處理的特徵,這時的特徵可能有以下問題:
無量綱化使不同規格的資料轉換到同一規格。常見的無量綱化方法有標準化和區間縮放法。
定量特徵二值化的核心在於設定乙個閾值,大於閾值的賦值為1,小於等於閾值的賦值為0,公式表達如下:
由於iris資料集沒有缺失值,故對資料集新增乙個樣本,4個特徵均賦值為nan,表示資料缺失。
將線性資料變換為非線性,常見的資料變換有基於多項式的、基於指數函式的、基於對數函式的。4個特徵,度為2的多項式轉換公式如下:
特徵選擇能剔除不相關(irrelevant)或亢餘(redundant )的特徵,從而達到減少特徵個數,提高模型精確度,減少執行時間的目的。另一方面,選取出真正相關的特徵簡化了模型,使研究人員易於理解資料產生的過程。
當資料預處理完成後,我們需要選擇有意義的特徵輸入機器學習的演算法和模型進行訓練。通常來說,從兩個方面考慮來選擇特徵:
如果乙個特徵不發散,例如方差接近於0,也就是說樣本在這個特徵上基本沒有差異,那我們就可以判斷,這個特徵對於樣本的區別並沒有什麼用。
第二個是特徵與目標的相關性,與目標相關性高的特徵應該優先選擇。
根據特徵選擇的形式又可以將特徵選擇方法分為3種:
embedded:整合法,先使用某些機器學習的演算法和模型進行訓練,得到各個特徵的權值係數,根據係數從大到小選擇特徵。類似於filter方法,但是是通過訓練來確定特徵的優劣。
我們使用sklearn中的feature_selection庫來進行特徵選擇。
方差選擇法
使用方差選擇法,先要計算各個特徵的方差,然後根據閾值,選擇方差大於閾值的特徵。
相關係數法
使用相關係數法,先要計算各個特徵對目標值的相關係數以及相關係數的p值
卡方檢驗
經典的卡方檢驗是檢驗定性自變數對定性因變數的相關性。假設自變數有n種取值,因變數有m種取值,考慮自變數等於i且因變數等於j的樣本頻數的觀察值與期望的差距,構建統計量:
不難發現,這個統計量的含義簡而言之就是自變數對因變數的相關性
互資訊法
經典的互資訊也是評價定性自變數對定性因變數的相關性的,互資訊計算公式如下:
為了處理定量資料,最大資訊係數法被提出,使用feature_selection庫的selectkbest類結合
遞迴特徵消除法
遞迴消除特徵法使用乙個基模型來進行多輪訓練,每輪訓練後,消除若干權值係數的特徵,再基於新的特徵集進行下一輪訓練。
embedded
基於懲罰項的特徵選擇法
使用帶懲罰項的基模型,除了篩選出特徵外,同時也進行了降維。
實際上,l1懲罰項降維的原理在於保留多個對目標值具有同等相關性的特徵中的乙個,所以沒選到的特徵不代表不重要。故,可結合l2懲罰項來優化。具體操作為:若乙個特徵在l1中的權值為1,選擇在l2中權值差別不大且在l1中權值為0的特徵構成同類集合,將這一集合中的特徵平分l1中的權值,故需要構建乙個新的邏輯回歸模型
基於樹模型的特徵選擇法
樹模型中gbdt也可用來作為基模型進行特徵選擇
當特徵選擇完成後,可以直接訓練模型了,但是可能由於特徵矩陣過大,導致計算量大,訓練時間長的問題,因此降低特徵矩陣維度也是必不可少的。常見的降維方法除了以上提到的基於l1懲罰項的模型以外,另外還有主成分分析法(pca)和線性判別分析(lda),線性判別分析本身也是乙個分類模型。pca和lda有很多的相似點,其本質是要將原始的樣本對映到維度更低的樣本空間中,但是pca和lda的對映目標不一樣:pca是為了讓對映後的樣本具有最大的發散性,最大化保持資料的內在資訊;而lda是為了讓對映後的樣本有最好的分類效能。所以說pca是一種無監督的降維方法,而lda是一種有監督的降維方法。
資料預處理和特徵工程
1.無量綱化 當資料量綱不一致時需要進行歸一化處理,有兩種方法 最值歸一化 normalization 把所有資料對映到0 1之間。最值歸一化的使用範圍是特徵的分布具有明顯邊界的 分數0 100分 灰度0 255 受outlier的影響比較大 均值方差歸一化 standardization 把所有資...
特徵工程之特徵預處理
概念 特徵預處理是什麼呢?特徵預處理是通過統計方法 數學方法 將資料轉換成演算法要求的資料,所以特徵預處理也叫做資料預處理。下面是幾種資料預處理的方法 1 數值型資料 標準縮放 1 歸一化2 標準化 2 類別型資料 one hot編碼 3 時間類別 時間的劃分 下面介紹歸一化和標準化歸一化 歸一化 ...
特徵工程之特徵預處理
在前面我們分別討論了特徵工程中的特徵選擇與特徵表達,本文我們來討論特徵預處理的相關問題。主要包括特徵的歸一化和標準化,異常特徵樣本清洗與樣本資料不平衡問題的處理。由於標準化和歸一化這兩個詞經常混用,所以本文不再區別標準化和歸一化,而通過具體的標準化和歸一化方法來區別具體的預處理操作。z score標...