機器學習中的特徵選擇

嘿哈布爾!

我們 Reksoft 將這篇文章翻譯成俄文 機器學習中的特徵選擇。我們希望它對每個對該主題感興趣的人都有用。

在現實世界中,數據並不總是像企業客戶有時想像的那樣乾淨。這就是需要資料探勘和資料整理的原因。它有助於識別人類無法識別的查詢結構化資料中的缺失值和模式。為了找到並使用這些模式來利用資料中發現的關係來預測結果,機器學習就派上用場了。

要理解任何演算法,您需要查看資料中的所有變數並找出這些變數代表什麼。這很重要,因為結果背後的基本原理是基於對數據的理解。如果資料包含 5 個甚至 50 個變量,您可以檢查所有變數。如果有 200 個怎麼辦?那麼根本就沒有足夠的時間來研究每一個變數。此外,某些演算法不適用於分類數據,然後您必須將所有分類列轉換為定量變數(它們可能看起來是定量的,但指標將顯示它們是分類的)以將它們添加到模型中。這樣,變數的數量就增加了,大約有500個,現在怎麼辦?人們可能認為答案是降低維度。降維演算法減少了參數數量,但對可解釋性產生負面影響。如果有其他技術可以消除特徵,同時使其餘特徵易於理解和解釋呢?

根據分析是基於迴歸還是分類,特徵選擇演算法可能會有所不同,但其實現的主要想法保持不變。

高度相關的變數

彼此高度相關的變數為模型提供相同的信息,因此無需將它們全部用於分析。例如,如果資料集包含「線上時間」和「使用的流量」特徵,我們可以假設它們會有一定的相關性,即使我們選擇無偏差的資料樣本,我們也會看到很強的相關性。在這種情況下,模型中只需要這些變數之一。如果同時使用兩者,模型將過度擬合並偏向某一特定特徵。

P 值

在線性迴歸等演算法中,初始統計模型始終是一個好主意。它有助於透過該模型獲得的 p 值來顯示特徵的重要性。設定顯著水準後,我們檢查產生的 p 值,如果任何值低於指定的顯著性水平,則該特徵被聲明為顯著,也就是說,其值的變化可能會導致目標。

直接選擇

前向選擇是一種涉及應用逐步迴歸的技術。模型建構從一個完整的零開始,即一個空模型,然後每次迭代都會添加一個變量,對正在建立的模型進行改進。將哪個變數加入模型中由其重要性決定。這可以使用各種指標來計算。最常見的方法是使用在使用所有變數的原始統計模型中獲得的 p 值。有時,前向選擇可能會導致模型過度擬合,因為模型中可能存在高度相關的變量,即使它們為模型提供了相同的資訊(但模型仍然顯示出改進)。

反向選擇

反向選擇也涉及逐步消除性狀,但與正向選擇相比方向相反。在這種情況下,初始模型包括所有自變數。如果變數在每次迭代中沒有為新的迴歸模型貢獻價值,則這些變數將被消除(每次迭代一個)。特徵排除是基於初始模型的 p 值。此方法在去除高度相關的變數時也存在不確定性。

遞歸特徵消除

RFE 是一種廣泛使用的技術/演算法,用於選擇準確數量的重要特徵。有時,該方法用於解釋一些影響結果的「最重要」特徵;有時會減少大量變數(大約200-400個),並且只保留那些對模型至少有一定貢獻的變量,而排除所有其他變數。 RFE 使用排名系統。資料集中的特徵被分配等級。然後,根據特徵之間的共線性以及這些特徵在模型中的重要性,使用這些排名來遞歸地消除特徵。除了對特徵進行排序之外,RFE還可以顯示即使對於給定數量的特徵,這些特徵是否重要(因為很可能選擇的特徵數量可能不是最優的,而最優的特徵數量可能是更多)或小於所選數量)。

特徵重要性圖

在談論機器學習演算法的可解釋性時,我們通常會討論線性迴歸(它允許您使用 p 值分析特徵的重要性)和決策樹(字面上以樹的形式顯示特徵的重要性,並在同時他們的層次結構)。另一方面,隨機森林、LightGBM 和 XG Boost 等演算法經常使用特徵重要性圖,即繪製變數和「它們的重要性數字」的圖。當您需要就屬性對業務的影響方面的重要性提供結構化的基本原理時,這尤其有用。

正規化

進行正則化是為了控制偏差和變異數之間的平衡。偏差顯示模型在訓練資料集上的過度擬合程度。偏差顯示了訓練資料集和測試資料集之間的預測有多麼不同。理想情況下,偏差和變異都應該很小。這就是正則化可以發揮作用的地方!主要有兩種技術:

L1 正規化 - Lasso:Lasso 懲罰模型權重以改變其對模型的重要性,甚至可以將其置空(即從最終模型中刪除這些變數)。通常,當資料集包含大量變數並且您希望排除其中一些變數以更好地了解重要特徵(即已由 Lasso 選擇並已分配重要性的那些特徵)如何影響模型時,請使用 Lasso。

L2 正則化 - Ridge 方法:Ridge 的工作是儲存所有變量,同時根據它們對模型性能的貢獻來分配它們的重要性。如果資料集包含少量變數且所有變數都是解釋所獲得的發現和結果所必需的,則 Ridge 將是一個不錯的選擇。

由於 Ridge 保留了所有變量,而 Lasso 在確定其重要性方面做得更好,因此開發了一種結合了兩種正則化的最佳特徵的演算法,稱為 Elastic-Net。

選擇機器學習特徵的方法有很多,但主要想法始終是相同的:證明變數的重要性,然後根據得出的重要性消除其中一些變數。重要性是一個非常主觀的術語,因為它不僅僅是一個術語,而是一整套可用於尋找關鍵屬性的指標和圖表。

感謝您的閱讀!快樂學習!

來源: www.habr.com

添加評論