特徵選擇筆記

1.機器學習中特徵選擇的重要性

機器學習遵循一個簡單的規則-如果您放入垃圾,那麼只會讓垃圾出來。這裏的垃圾是指數據中的噪音。

當功能數量非常多時,這一點變得尤爲重要。您無需使用所有可用功能來創建算法。您可以通過僅提供真正重要的功能來輔助算法。我親眼目睹了特徵子集比相同算法的完整特徵集能提供更好的結果。就像羅漢·饒(Rohan Rao)所說的那樣:“有時候,少即是好!”

不僅在比賽中,而且在工業應用中也非常有用。您不僅可以減少培訓時間和評估時間,而且還省去了很多事情!

使用特徵選擇的主要原因如下:

它使機器學習算法的訓練速度更快。
它降低了模型的複雜性,並使其更易於解釋。
如果選擇了正確的子集,則可以提高模型的準確性。
它減少了過擬合。
接下來,我們將討論各種方法和技術,您可以使用這些方法和技術來劃分特徵空間並幫助模型更好,更有效地執行。因此,讓我們開始吧。

主要的特徵選擇的方式分爲三種:

1. Filter Method
在這裏插入圖片描述
過濾方法通常用作預處理步驟。 功能的選擇與任何機器學習算法無關。 取而代之的是,根據特徵在各種統計測試中的得分來選擇特徵與結果變量的相關性。 此處的相關性是一個主觀術語。 有關基本指導,可以參考下表定義相關係數。
在這裏插入圖片描述
皮爾遜相關係數:用作量化兩個連續變量X和Y之間的線性相關性的量度。其值在-1至+1之間變化。 皮爾森的相關性爲:
在這裏插入圖片描述
LDA:線性判別分析用於查找特徵的線性組合,這些特徵可表徵或分隔兩個或多個類別變量(或級別)。

方差分析:方差分析代表方差分析。 它與LDA相似,不同之處在於它使用一個或多個類別獨立特徵和一個連續依賴特徵進行操作。 它提供了幾個組的均值是否相等的統計檢驗。

卡方:這是一種統計測試,應用於分類特徵組,以使用它們的頻率分佈來評估它們之間相關或關聯的可能性。

應該記住的一件事是,濾波方法不會消除多重共線性。 因此,在訓練數據模型之前,您還必須處理要素的多重共線性。

2. Wrapper Method
在這裏插入圖片描述
在包裝方法中,我們嘗試使用功能的子集並使用它們訓練模型。根據我們從先前模型得出的推論,我們決定從您的子集中添加或刪除要素。該問題基本上被簡化爲搜索問題。這些方法通常在計算上非常昂貴。

包裝方法的一些常見示例是前向特徵選擇,後向特徵消除,遞歸特徵消除等。

正向選擇:正向選擇是一種迭代方法,我們從模型中沒有任何特徵開始。在每次迭代中,我們都會不斷添加最能改善模型的功能,直到添加新變量不會改善模型的性能爲止。

向後消除:在向後消除中,我們從所有特徵開始,並在每次迭代時都刪除最不重要的特徵,從而提高了模型的性能。我們重複此過程,直到在去除特徵方面未觀察到任何改善。

遞歸特徵消除:這是一種貪婪的優化算法,旨在找到性能最好的特徵子集。它反覆創建模型,並在每次迭代時保留性能最佳或最差的功能。它將用剩餘的特徵構造下一個模型,直到用盡所有特徵。然後,根據特徵消除的順序對特徵進行排序。

使用包裝方法實現特徵選擇的最佳方法之一是使用Boruta包,該包通過創建陰影特徵來發現特徵的重要性。

它按以下步驟工作:

首先,它通過創建所有特徵(稱爲陰影特徵)的混洗副本來給定數據集增加隨機性。
然後,它在擴展的數據集上訓練隨機森林分類器,並應用特徵重要性度量(默認值是平均降低準確度)來評估每個特徵的重要性,其中更高的意味着更重要。
在每次迭代中,它都會檢查一個真實特徵是否比其最佳陰影特徵具有更高的重要性(即,該特徵的Z分數是否高於其陰影特徵的最大Z分數),並不斷移除認爲非常不重要。
最後,當所有功能都得到確認或拒絕或達到指定的隨機森林運行限制時,算法將停止。

3. Embedded Method
在這裏插入圖片描述

嵌入式方法結合了filter和wrapper方法的質量。 它是由具有自己的內置功能選擇方法的算法實現的。

這些方法中最受歡迎的一些例子是LASSO和RIDGE迴歸,它們具有內置的懲罰功能以減少過度擬合。

Lasso迴歸執行L1正則化,這會增加等於係數幅度絕對值的懲罰。
Ridge迴歸執行L2正則化,這會增加等於係數幅度平方的懲罰。
有關LASSO和RIDGE迴歸的更多詳細信息和實現,可以參考本文。

嵌入式方法的其他示例包括:正則化樹,Memetic算法,隨機多項式logit。

4. Filter和Wrapper方法之間的區別

用於選擇特徵的filter和wrapper方法之間的主要區別是:

過濾器方法通過特徵與因變量的相關性來度量特徵的相關性,而包裝器方法通過實際訓練特徵子集上的模型來度量特徵子集的有用性。
與包裝方法相比,篩選方法要快得多,因爲它們不涉及訓練模型。 另一方面,包裝方法在計算上也非常昂貴。
過濾器方法使用統計方法來評估功能的子集,而包裝器方法使用交叉驗證。
過濾器方法可能在很多情況下都找不到最佳的功能子集,但是包裝器方法始終可以提供最佳的功能子集。
與使用過濾器方法的特徵子集相比,使用包裝方法的特徵子集使模型更易於過度擬合。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章