<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 特征選擇簡介 > 原文: [https://machinelearningmastery.com/an-introduction-to-feature-selection/](https://machinelearningmastery.com/an-introduction-to-feature-selection/) 您應該使用哪些功能來創建預測模型? 這是一個困難的問題,可能需要深入了解問題領域。 您可以自動選擇數據中與您正在處理的問題最有用或最相關的功能。這是一個稱為特征選擇的過程。 在這篇文章中,您將發現功能選擇,可以使用的方法類型以及下次需要為機器學習模型選擇功能時可以使用的便捷清單。 [![feature selection](https://img.kancloud.cn/98/7b/987bd3974f21666e71d5cbbd5cdcca7d_640x360.jpg)](https://3qeqpr26caki16dnhd19sv6by6v-wpengine.netdna-ssl.com/wp-content/uploads/2014/10/feature-selection.jpg) 特征選擇簡介 照片由 [John Tann](https://www.flickr.com/photos/31031835@N08/6498604953) 拍攝,保留一些權利 ## 什么是特征選擇 特征選擇也稱為變量選擇或屬性選擇。 它是自動選擇數據中的屬性(例如表格數據中的列),這些屬性與您正在處理的預測建模問題最相關。 > 特征選擇...是選擇用于模型構建的相關特征子集的過程 - [特征選擇](http://en.wikipedia.org/wiki/Feature_selection),維基百科條目。 特征選擇不同于降維。兩種方法都試圖減少數據集中的屬性數量,但維度降低方法通過創建新的屬性組合來實現,其中特征選擇方法包括和排除數據中存在的屬性而不更改它們。 維數降低方法的示例包括主成分分析,奇異值分解和Sammon映射。 > 功能選擇本身很有用,但它主要用作過濾器,可以清除除現有功能之外無用的功能。 - Robert Neuhaus,回答“[您認為特征選擇在機器學習中有多重要?](http://www.quora.com/How-valuable-do-you-think-feature-selection-is-in-machine-learning-Which-do-you-think-improves-accuracy-more-feature-selection-or-feature-engineering) “ ## 問題特征選擇解決 特征選擇方法可幫助您創建準確的預測模型。它們可以幫助您選擇能夠提供更好或更好準確性同時需要更少數據的功能。 特征選擇方法可用于從數據中識別和移除不需要的,不相關的和冗余的屬性,這些屬性對預測模型的準確性沒有貢獻,或者實際上可能降低模型的準確性。 較少的屬性是可取的,因為它降低了模型的復雜性,更簡單的模型更易于理解和解釋。 > 變量選擇的目標有三個方面:提高預測變量的預測表現,提供更快,更具成本效益的預測變量,并更好地理解生成數據的基礎過程。 - Guyon和Elisseeff的“[變量和特征選擇介紹](http://jmlr.csail.mit.edu/papers/volume3/guyon03a/guyon03a.pdf)”(PDF) ## 特征選擇算法 一般類別的特征選擇算法有三種:過濾方法,包裝方法和嵌入方法。 ### 過濾方法 過濾器功能選擇方法應用統計度量來為每個要素指定評分。功能按分數排序,并選擇保留或從數據集中刪除。這些方法通常是單變量的,并且可以獨立地考慮特征,或者考慮因變量。 一些濾波器方法的一些示例包括卡方檢驗,信息增益和相關系數分數。 ### 包裝方法 包裝方法考慮選擇一組特征作為搜索問題,其中準備,評估不同組合并與其他組合進行比較。我們用于評估特征組合并根據模型準確度分配分數的預測模型。 搜索過程可以是有條理的,例如最佳優先搜索,它可以是隨機的,例如隨機爬山算法,或者它可以使用啟發法,例如前向和后向傳遞來添加和移除特征。 如果包裝器方法是遞歸特征消除算法的示例。 ### 嵌入式方法 嵌入式方法了解在創建模型時哪些功能最有助于模型的準確性。最常見的嵌入式特征選擇方法是正則化方法。 正則化方法也稱為懲罰方法,其將額外約束引入預測算法(例如回歸算法)的優化中,該預測算法將模型偏向于較低復雜度(較少系數)。 正則化算法的例子是LASSO,彈性網和嶺回歸。 ## 功能選擇教程和秘籍 我們在此博客上看到過許多功能選擇示例。 * **Weka** :有關如何使用Weka執行特征選擇的教程,請參閱“[特征選擇以提高準確性并縮短訓練時間](http://machinelearningmastery.com/feature-selection-to-improve-accuracy-and-decrease-training-time/ "Feature Selection to Improve Accuracy and Decrease Training Time")”。 * **Scikit-Learn** :有關使用scikit-learn在Python中進行遞歸特征消除的秘籍,請參閱“使用Scikit-Learn 在Python中使用[特征選擇”。](http://machinelearningmastery.com/feature-selection-in-python-with-scikit-learn/ "Feature Selection in Python with Scikit-Learn") * **R** :使用Caret R軟件包進行遞歸特征消除的秘籍,請參閱“使用Caret R軟件包”選擇“[特征”](http://machinelearningmastery.com/feature-selection-with-the-caret-r-package/ "Feature Selection with the Caret R Package") ## 選擇功能時的陷阱 特征選擇是應用機器學習過程的另一個關鍵部分,如模型選擇。你不能開火和忘記。 將特征選擇視為模型選擇過程的一部分非常重要。如果不這樣做,可能會無意中將偏差引入模型中,從而導致過度擬合。 > ...應該在不同的數據集上進行特征選擇,而不是訓練[預測模型] ...不這樣做的效果是你會過度訓練你的訓練數據。 - Ben Allison回答“[是否使用相同的數據進行特征選擇和交叉驗證是否有偏差?](http://stats.stackexchange.com/questions/40576/is-using-the-same-data-for-feature-selection-and-cross-validation-biased-or-not) “ 例如,當您使用精確度估計方法(如交叉驗證)時,必須在內循環中包含要素選擇。這意味著在訓練模型之前,在準備好的折疊上執行特征選擇。錯誤是首先執行特征選擇以準備數據,然后對所選特征執行模型選擇和訓練。 > 如果我們采用適當的程序,并在每個折疊中執行特征選擇,則在該折疊中使用的特征的選擇中不再存在關于所保持的情況的任何信息。 - Dikran Marsupial在機器學習中執行交叉驗證時回答“[最終模型的特征選擇”](http://stats.stackexchange.com/questions/2306/feature-selection-for-final-model-when-performing-cross-validation-in-machine) 原因是選擇特征的決策是在整個訓練集上進行的,而這些決策又被傳遞到模型上。這可能會導致一種模式,即所選擇的特征比其他正在測試的模型增強的模型可以獲得看似更好的結果,而實際上它是有偏差的結果。 > 如果對所有數據執行特征選擇然后交叉驗證,則交叉驗證過程的每個折疊中的測試數據也用于選擇特征,這是表現分析的偏差。 - Dikran Marsupial回答“[特征選擇和交叉驗證](http://stats.stackexchange.com/questions/27750/feature-selection-and-cross-validation)” ## 功能選擇清單 Isabelle Guyon和Andre Elisseeff是“[變量和特征選擇簡介](http://jmlr.csail.mit.edu/papers/volume3/guyon03a/guyon03a.pdf)”(PDF)的作者提供了一個很好的清單,您可以在下次需要為預測建模問題選擇數據特征時使用它。 我在這里復制了清單的重要部分: 1. **你有領域知識嗎?** 如果是,請構建一組更好的臨時“”功能 2. **你的功能是否相稱?** 如果不是,請考慮將它們標準化。 3. **你懷疑功能的相互依賴嗎?** 如果是,請通過構建聯合功能或功能產品來擴展功能集,就像計算機資源允許的那樣。 4. **您是否需要修剪輸入變量(例如成本,速度或數據理解原因)?** 如果不是,則構造析取特征或特征的加權和 5. **您是否需要單獨評估功能(例如,了解它們對系統的影響,或者因為它們的數量太大而您需要進行首次過濾)?** 如果是,請使用變量排名方法;否則,無論如何都要獲得基線結果。 6. **你需要預測器嗎?** 如果不是,請停止 7. **你懷疑你的數據是“臟”的(有一些無意義的輸入模式和/或嘈雜的輸出或錯誤的類標簽)?** 如果是,則使用在步驟5中獲得的排名最高的變量檢測異常值示例作為表示;檢查和/或丟棄它們。 8. **你知道先嘗試一下嗎?** 如果不是,請使用線性預測器。使用具有“探測”方法的前向選擇方法作為停止標準或使用0范數嵌入方法進行比較,遵循步驟5的排序,使用增加的特征子集構建相同性質的預測變量序列。您可以使用較小的子集匹配或改善表現嗎?如果是,請嘗試使用該子集的非線性預測器。 9. **你有新的想法,時間,計算資源和足夠的例子嗎?** 如果是,請比較幾種特征選擇方法,包括新想法,相關系數,后向選擇和嵌入方法。使用線性和非線性預測變量。選擇具有模型選擇的最佳方法 10. **您想要一個穩定的解決方案(以提高表現和/或理解)嗎?** 如果是,請對您的數據進行子采樣并重新分析幾個“bootstrap”。 ## 進一步閱讀 在特定平臺上需要有關功能選擇的幫助嗎?以下是一些可以幫助您快速入門的教程: * [如何在Weka](http://machinelearningmastery.com/perform-feature-selection-machine-learning-data-weka/) 中執行特征選擇(無代碼) * [如何使用scikit-learn](http://machinelearningmastery.com/feature-selection-machine-learning-python/) 在Python中執行功能選擇 * [如何用插入符號](http://machinelearningmastery.com/feature-selection-with-the-caret-r-package/)在R中執行特征選擇 要深入了解該主題,您可以選擇一本關于該主題的專用書籍,例如以下任何一個: * [知識發現和數據挖掘的特征選擇](http://www.amazon.com/dp/079238198X?tag=inspiredalgor-20) * [特征選擇的計算方法](http://www.amazon.com/dp/1584888784?tag=inspiredalgor-20) * [計算智能和特征選擇:粗糙和模糊方法](http://www.amazon.com/dp/0470229756?tag=inspiredalgor-20) * [子空間,潛在結構和特征選擇:統計和優化視角研討會](http://www.amazon.com/dp/3540341374?tag=inspiredalgor-20) * [特征提取,構造和選擇:數據挖掘視角](http://www.amazon.com/dp/0792381963?tag=inspiredalgor-20) 特征選擇是特征工程的子主題。您可能希望深入了解帖子中的特征工程:“ 您可能希望在帖子中深入了解功能工程: * [發現特征工程,如何設計特征以及如何獲得它](http://machinelearningmastery.com/discover-feature-engineering-how-to-engineer-features-and-how-to-get-good-at-it/ "Discover Feature Engineering, How to Engineer Features and How to Get Good at It")
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看