遞歸特徵消除:它是什麼以及為什麼重要?
已發表: 2023-03-27數據是現代決策制定的支柱,企業一直在尋找從中提取有價值見解的方法。 機器學習是組織中用於數據分析的最常見技術之一,它涉及訓練算法以根據歷史數據進行預測。 然而,並非數據集中的所有特徵生而平等,有些特徵對模型性能的影響可能高於其他特徵。
遞歸特徵消除是一種流行的數據分析技術,用於從數據集中識別和消除不相關或冗餘的特徵,提高機器學習模型的準確性和效率。
獲得世界頂尖大學的機器學習認證。 獲得碩士、行政 PGP 或高級證書課程,以快速推進您的職業生涯。
在本文中,我們將探討遞歸特徵消除是什麼、它是如何工作的,以及為什麼它對希望從數據中提取有意義的見解的企業很重要。
目錄
特徵選擇有哪些不同的技術?
特徵選擇是機器學習中的關鍵步驟,涉及從數據集中選擇最相關的屬性以構建可準確預測結果的模型。 然而,選擇正確的功能並不總是那麼簡單。 有許多不同的技術,每種技術都有其優點和缺點。 讓我們來看看其中的一些吧!
過濾方法
過濾器方法選擇根據統計屬性創建的特徵,例如它們與目標變量或方差的相關性。 這些方法計算效率高,可以在訓練模型之前應用。 過濾方法的示例包括卡方檢驗、基於相關性的特徵選擇和方差閾值。
包裝方法
包裝器方法通過使用特徵子集評估機器學習模型的性能來選擇特徵。 這些方法的計算成本很高,但可以帶來更好的模型性能。 包裝器方法的示例包括遞歸特徵消除、前向選擇和後向消除。
嵌入式方法
對於嵌入式方法,特徵選擇發生在訓練期間。 這些方法包括 Lasso 和 Ridge 回歸等技術,它們對模型係數增加懲罰以將不太重要的特徵縮小為零。
混合方法
混合方法結合了不同的特徵選擇技術以獲得更好的結果。 這些方法通常比單獨使用一種方法更有效。 混合方法的示例包括 ReliefF 和隨機森林特徵選擇。
本質上,特徵選擇技術的選擇取決於具體問題、數據集和可用的計算資源。
現在,讓我們深入探討一種最重要的特徵消除包裝方法,即遞歸特徵消除。
什麼是遞歸特徵消除?
遞歸特徵消除 (RFE) 是一種包裝方法,它遞歸地消除特徵並在剩餘特徵上構建模型。 它根據重要性對特徵進行排名,並消除最不重要的特徵,直到達到所需的特徵數量。 RFE 是一個迭代過程,其工作方式如下:
- 在所有特徵上訓練模型,並根據它們的重要性對它們進行排名。
- 消除最不重要的特徵。
- 在剩餘的特徵上重複訓練模型並消除最不重要的特徵,直到達到所需的特徵數量。
RFE 考慮特徵之間的相互作用及其對模型性能的影響。
要了解 RFE 的工作原理,讓我們考慮一個示例。
假設我們有一個包含十個不同特徵的房價數據集,包括臥室數量、建築面積和房屋年齡。 我們想建立一個機器學習模型來根據這些特徵預測房屋的價格。 但是,我們懷疑某些特徵可能並不重要,甚至可能會損害模型的性能。
我們可以使用 RFE 來識別最相關的特徵,方法是使用所有特徵訓練模型,然後遞歸地消除最不重要的特徵,直到我們達到最佳子集。 RFE 在每次迭代期間訓練模型,並使用交叉驗證集評估其性能。
例如,RFE 可能會確定臥室數量、平方英尺和位置是預測房價的最關鍵特徵。 相比之下,其他特徵,例如房屋的年齡,對模型的準確性影響不大。
為什麼 RFE 出現在畫面中? 它解決了什麼?
隨著機器學習變得越來越普遍,數據科學家意識到某些特徵可能不相關或多餘,而其他特徵可能會顯著影響模型的準確性。 這催生了構建高效機器學習模型的基本方法之一——遞歸特徵消除的特徵選擇技術。
引入遞歸特徵消除 (RFE) 是為了解決現有方法的一些局限性,同時作為包裝方法出現,遞歸地去除特徵並評估它們對模型性能的影響。 該過程一直持續到達到最佳特徵數量為止。
RFE 解決了傳統特徵選擇技術遇到的幾個問題。
- RFE 是一種反向選擇方法,它從所有特徵開始,然後迭代地刪除最不重要的特徵。 這種方法優於前向選擇,前向選擇從最不重要的特徵開始,然後添加更多直到達到最佳數量。
- RFE 在特徵選擇過程中通過交叉驗證避免了過度擬合。 當模型太複雜並且太適合訓練數據時會發生過度擬合,從而導致新數據的性能不佳。
- RFE 可應用於任何模型類型,使其成為一種可用於許多不同場景的通用技術。
用Python實現RFE算法
Python 提供了幾個可用於實現 RFE 算法的庫。 現在讓我們看一些RFE Python 示例。
RFE 與 scikit-learn
Scikit-learn 是 Python 中流行的機器學習庫,它提供了 RFE 算法的簡單實現。 以下代碼片段演示瞭如何在 sci-kit-learn 中實現 RFE:
從 sklearn.feature_selection 導入 RFE
從 sklearn.linear_model 導入 LogisticRegression
模型 = LogisticRegression()
rfe = RFE(模型,n_features_to_select=5)
rfe.fit(X, y)
在上面的代碼片段中,我們首先從 sci-kit-learn 的 feature_selection 模塊中導入 RFE 類。 然後我們創建一個 LogisticRegression 類的實例,它將作為我們的基礎估計器。 然後我們創建 RFE 類的實例,傳遞基本估計量和要選擇的特徵數。 然後我們將 RFE 對象與我們的數據和標籤相匹配。
分類RFE
在分類問題中,RFE 遞歸地刪除特徵並在剩餘特徵上構建模型。 特徵排名基於估計器計算的特徵重要性分數。 以下代碼片段演示瞭如何使用 RFE 解決分類問題:
從 sklearn.datasets 導入 make_classification
從 sklearn.feature_selection 導入 RFE
從 sklearn.tree 導入 DecisionTreeClassifier
X, y = make_classification(n_samples=1000, n_features=10, n_informative=5, n_redundant=0, random_state=42)
模型 = 決策樹分類器()
rfe = RFE(模型,n_features_to_select=5)
rfe.fit(X, y)
打印(“選定的功能:”,rfe.support_)
print(“特徵排名:”, rfe.ranking_)
在上面的代碼片段中,我們首先使用 sci-kit-learn 的 make_classification 函數生成一個合成數據集。 然後我們創建一個 DecisionTreeClassifier 類的實例,它將作為我們的基礎估計器。 然後我們創建 RFE 類的實例,傳遞基本估計量和要選擇的特徵數。 然後,我們將 RFE 對象放入我們的數據和標籤中,打印所選特徵並對特徵進行排名。
RFE 超參數
RFE 有幾個超參數可以調整以獲得更好的結果。 一些重要的超參數是:
- n_features_to_select:這個超參數決定了要選擇的特徵的數量。
- step:這個超參數決定了每次迭代要移除的特徵數量。默認值為 1,這意味著每次迭代都會刪除一個特徵。
- 估計器:此超參數指定要使用的基本估計器。默認情況下,使用線性 SVM。
- 評分:此超參數指定用於特徵排名的指標。默認值為 None,表示使用估計器的評分方法。
- cv :此超參數確定要使用的交叉驗證策略。默認值為 None,表示使用 3 折交叉驗證。
最佳在線機器學習課程和 AI 課程
LJMU 機器學習與人工智能理學碩士 | IIITB 的機器學習和人工智能執行研究生課程 | |
IIITB 的機器學習和 NLP 高級證書課程 | IIITB 的機器學習和深度學習高級證書課程 | 馬里蘭大學數據科學與機器學習執行研究生課程 |
要探索我們所有的課程,請訪問下面的頁面。 | ||
機器學習課程 |
遞歸特徵消除的未來
遞歸特徵消除 (RFE) 的未來看起來很有希望,因為它仍然是機器學習中特徵選擇的流行技術。 隨著生成的數據量不斷增加以及對更高效、更準確模型的需求,特徵選擇正成為機器學習管道中必不可少的一步。
最近的研究表明,RFE 可以通過降低數據的維度並消除不相關或冗餘的特徵來顯著提高機器學習模型的性能。 例如,在NCBI的一項研究中,RFE 被用於基於功能磁共振成像 (fMRI) 數據對抑鬱症患者進行分類的特徵選擇。 結果表明,RFE 選擇了與抑鬱症的臨床診斷高度相關的特徵子集。
隨著機器學習領域的不斷發展,需要更複雜、更高效的特徵選擇技術。 一個越來越受歡迎的研究領域是使用深度學習進行特徵選擇。 然而,深度學習模型通常計算量大且需要訓練大數據。
相比之下,RFE 是一種簡單有效的技術,可以應用於各種模型和數據集。 因此,RFE 很可能會繼續用作流行的特徵選擇技術。
需求機器學習技能
人工智能課程 | 畫面課程 |
自然語言處理課程 | 深度學習課程 |
結論
總之,遞歸特徵消除 (RFE) 是機器學習中特徵選擇的一種有效技術,隨著其不斷發展的實施,它有望迎來光明的未來。 RFE 作為一種有效的特徵選擇技術,正在推動其在醫學診斷、生物信息學和圖像分析等不同領域的應用,使其不屈不撓地擴展。
如果您想了解有關機器學習和人工智能的更多信息,請考慮與 IIIT Bangalore 合作註冊 upGrad 的機器學習和 AI PG 文憑課程。 這個綜合計劃涵蓋了機器學習和人工智能領域的最新工具和技術,包括 RFE 等特徵選擇技術。
該計劃將為您提供為實際應用程序構建和部署機器學習模型所需的技能和知識。
立即申請並通過 upGrad 獲得沉浸式學習的各種好處!
您還可以查看upGrad 在管理、數據科學、機器學習、數字營銷和技術方面提供的免費課程。所有這些課程都有一流的學習資源、每週現場講座、行業作業和課程結業證書——全部免費!
流行的人工智能和機器學習博客和免費課程
物聯網:歷史、現在和未來 | 機器學習教程:學習 ML | 什麼是算法? 簡單易行 |
印度的機器人工程師薪水:所有角色 | 機器學習工程師的一天:他們做什麼? | 什麼是IoT(物聯網) |
排列與組合:排列與組合的區別 | 人工智能和機器學習的 7 大趨勢 | 使用 R 進行機器學習:您需要知道的一切 |
人工智能和機器學習免費課程 | ||
自然語言處理簡介 | 神經網絡深度學習基礎 | 線性回歸:分步指南 |
現實世界中的人工智能 | Tableau 簡介 | 使用 Python、SQL 和 Tableau 的案例研究 |
RFE和PCA在特徵選擇上有什麼區別?
RFE 和主成分分析 (PCA) 都是用於特徵選擇的技術。 兩者的主要區別在於 PCA 將原始屬性修改為新的集合,而 RFE 消除了原始屬性。
如何使用 RFE 確定要選擇的最佳功能數量?
使用 RFE 確定要選擇的最佳特徵數量的一種方法是執行交叉驗證並選擇在驗證集上提供最佳性能的特徵數量。 另一種方法是使用碎石圖,它根據相應的模型性能繪製特徵數量。
RFE 可以用於無監督學習任務嗎?
不,RFE 是一種監督學習技術,需要標記數據來選擇特徵。 其他技術,如聚類或降維,可用於沒有標記數據的無監督學習任務中的特徵選擇。