<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/machine-learning-checklist/](https://machinelearningmastery.com/machine-learning-checklist/) 如何在問題出現后使用機器學習獲得準確的結果? 困難在于每個問題都是獨特的,需要不同的數據源,特征,算法,算法配置等等。 解決方案是使用每次都能保證良好結果的清單。 在這篇文章中,您將發現一個清單,您可以使用該清單可靠地獲得有關機器學習問題的良好結果。 ![Machine Learning Checklist](https://img.kancloud.cn/f5/a2/f5a26f349581ff101db95d3875f7975a_640x360.jpg) 機器學習清單 照片由 [Crispy](https://www.flickr.com/photos/37333113@N03/14742904577/) 拍攝,部分版權所有。 ## 每個數據問題都不同 在開始之前,您不知道哪種算法最能解決問題。 即使專家數據科學家也無法告訴你。 該問題不限于機器學習算法的選擇。您無法知道哪些數據轉換以及數據中哪些特征如果暴露出來最能將問題的結構呈現給算法。 你可能有一些想法。你也可能有一些喜歡的技巧。但是你怎么知道上次讓你獲得成績的技術會讓你獲得好成績呢? 您怎么知道這些技術可以從一個問題轉移到另一個問題? 啟發式算法是一個很好的起點([隨機森林在大多數問題上做得很好](http://machinelearningmastery.com/use-random-forest-testing-179-classifiers-121-datasets/)),但它們就是這樣。一個起點,而不是結束。 ## 在每個問題上都不要從零開始 您不需要從頭開始解決每個問題。 就像您可以使用機器學習工具或庫來利用機器學習的最佳實踐實現一樣,您應該利用最佳實踐來解決問題。 另一種方法是每次遇到新問題時都必須補償。結果是您忘記或跳過關鍵步驟。你花費的時間比你需要的時間長,你得到的結果不太準確,你可能沒有那么有趣。 你怎么知道你已經完成了機器學習問題,除非你已經定義了解決方案并且預先使用它? ## 如何可靠地獲得準確的結果 您可以可靠地獲得有關機器學習問題的準確結果。 首先,這是一個經驗問題。什么算法?什么屬性?你必須考慮可能性并嘗試它們。你必須嘗試找到這些問題的答案。 將每個數據集視為搜索問題。找到一個可以產生良好結果的組合。您花費在搜索上的時間與結果的好壞有關。但是有一個拐點,你可以從大量收益轉向收益遞減。 換句話說,數據準備,數據變換,模型選擇,模型調整,集成等選擇是一個組合問題。有許多組合可行,甚至有許多組合足夠好。 通常你不需要最好的解決方案。事實上,最好的解決方案可能是你不想要的。找到它可能是昂貴的,它可能對數據中的擾動很脆弱,并且很可能是過度擬合的產物。 您需要一個好的解決方案,足以滿足您正在處理的問題的特定需求。通常,足夠好的解決方案是快速,廉價和強大的。這是一個更容易解決的問題。 此外,如果您認為自己需要最佳解決方案,則可以使用足夠好的解決方案作為第一個檢查點。 這個簡單的重構從“_最準確_”到“_足夠準確_”結果就是如何保證在你工作的每個機器學習問題上取得好成績。 ## 你需要一個機器學習清單 您可以使用核對表來構建搜索正確元素組合的結構,從而可靠地為任何機器學習問題提供良好的解決方案。 [核對表](https://en.wikipedia.org/wiki/Checklist)是一個保證結果的簡單工具。它們一直被用在經驗領域,在那里知識很難獲得,并且保證結果是非常可取的。 例如在航空中起飛和使用飛行前檢查表。此外,在醫學與外科檢查清單和其他領域,如安全合規性。 有關清單的更多信息,請參閱“[清單宣言:如何正確處理](http://www.amazon.com/dp/0312430000?tag=inspiredalgor-20)”一書。 如果結果很重要,為什么每次都要制作一個流程。遵循一套定義明確的解決方案步驟。 ![Aviation Checklist](https://img.kancloud.cn/e3/ba/e3bafd6bd7939add3c2440d95a239895_640x480.jpg) 清單是航空日常生活的一部分。 照片由 [Jeffery Wong](https://www.flickr.com/photos/jaydubproductions/3707263569) 保留一些權利。 ### 機器學習清單的好處 使用清單來解決機器學習問題的5個好處是: * **減少工作量**:您不必考慮所有技術來嘗試每個新問題。 * **更好的結果**:通過遵循所有步驟,您可以保證獲得良好的結果,可能比平均結果更好。事實上,它可以確保您獲得任何結果。許多項目失敗的原因有很多。 * **改進的起點**:你可以將它作為一個起點,并在你想到更多的東西時添加它。而你總是這樣做。 * **未來項目效益**:您所有未來的項目都將受益于該過程的改進。 * **可自定義流程**:您可以為您的工具,問題類型和首選項設計最佳清單。 機器學習算法非常強大,但將它們視為商品。如果您感興趣的是準確性,那么您使用的具體問題就會少得多。 事實上,這個過程的每個元素都變成了商品,最喜歡的方法的想法開始逐漸消失。我認為這是解決問題的成熟位置。我認為這可能不適合某些努力,比如學術研究。 學術界對特定算法的投入很大。從業者將算法僅視為結束,預測或預測模型的手段。 ## 應用機器學習清單 本節概述了一個清單,您可以使用該清單來解決應用的機器學習問題。 如果您對可以下載并用于下一個問題的清單版本感興趣,請查看本文的底部。 該清單基于我之前對KDD /數據挖掘過程的應用,適用于應用機器學習。 您可以在帖子“[什么是數據挖掘和KDD](http://machinelearningmastery.com/what-is-data-mining-and-kdd/) ”中了解有關KDD過程的更多信息。您可以在“[處理機器學習問題](http://machinelearningmastery.com/process-for-working-through-machine-learning-problems/)的過程”中了解有關我建議的工作流程的更多信息。 每個點都可以是博客文章,甚至是書。這個清單中有很多細節被壓縮。我試圖在推理中加入鏈接,并在適當的地方進一步閱讀。 我錯過了一些重要的事嗎?請在評論中告訴我。 [![Machine Learning for Programmers - Select Tools](https://img.kancloud.cn/40/fd/40fdb2b39fb66efc2314d8d0ab47c355_600x547.jpg)](https://3qeqpr26caki16dnhd19sv6by6v-wpengine.netdna-ssl.com/wp-content/uploads/2015/08/Machine-Learning-for-Programmers-Select-Tools-e1439699936331.png) 將您首選的機器學習工具映射到您選擇的系統過程,以解決問題。 ### 關于此示例清單的注釋 為簡潔起見,此示例受到嚴格限制。事實上,認為它是一個示范或原理證明,而不是所有機器學習問題的真實清單 - 它故意不是。 對于處理表格數據的分類問題,我已經限制了這個清單。 另外,為了保持可消化性,我將抽象水平保持在合理的高水平,并將大多數部分限制為三個點。 有時這還不夠,所以我給出了數據轉換和算法的具體示例,以便在清單的某些部分進行嘗試,稱為插入。 讓我們潛入。 ### 1.定義問題 在觸摸任何數據或算法之前,必須對問題有一個很好的理解。這將為您提供解釋結果的工具以及解決方案將采用何種形式的愿景。 您可以在帖子“[如何定義您的機器學習問題](http://machinelearningmastery.com/how-to-define-your-machine-learning-problem/)”中深入了解清單的這一部分。 #### 1.1問題是什么? 本節旨在捕捉問題的明確陳述,以及可能已經設定的任何期望和可能存在的偏差。 * 非正式地和正式地定義問題。 * 列出有關問題的假設(例如關于數據)。 * 列出與您的問題類似的已知問題。 #### 1.2為什么需要解決問題? 本節旨在捕捉解決問題的動機,并強制預先考慮預期結果。 * 描述解決問題的動機。 * 描述解決方案的好處(模型或預測)。 * 描述如何使用該解決方案。 #### 1.3如何手動解決問題? 本節旨在清除任何剩余的領域知識,并幫助您評估是否真的需要機器學習解決方案。 * 描述問題目前是如何解決的(如果有的話)。 * 描述主題專家如何進行手動預測。 * 描述程序員如何手動編寫分類器代碼。 ### 2.準備數據 了解您的數據是您應該花費大部分時間的地方。 您對數據的理解越好,您可以做的更好的工作就是將其固有的結構暴露給要學習的算法。 深入研究“[如何為機器學習準備數據](http://machinelearningmastery.com/how-to-prepare-data-for-machine-learning/)”和“[機器學習問題的快速和臟數據分析](http://machinelearningmastery.com/quick-and-dirty-data-analysis-for-your-machine-learning-problem/)”中的核對清單的這一部分。 #### 2.1數據描述 本節旨在強制您考慮所有可用和不可用的數據。 * 描述可用數據的范圍。 * 描述不可用但可取的數據。 * 描述您不需要的可用數據。 #### 2.2數據預處理 本節旨在將原始數據組織到您可以在建模工具中使用的表單中。 * 格式化數據,使其處于可以使用的形式。 * 清理數據,使其統一和一致。 * 對數據進行采樣,以便最好地權衡冗余和問題保真度。 #### 插曲:數據采樣的候選名單 在最后的抽樣檢查中可能需要解開很多東西。 這里有兩個重要問題: 1. **示例實例**:創建一個數據樣本,該樣本既代表各種屬性密度,又足夠小,可以快速構建和評估模型。通常它不是一個樣本,而是許多樣本。例如,一個用于子分鐘模型評估,一個用于亞小時,一個用于子日,依此類推。更多數據可以改變算法的表現。 2. **樣本屬性**:選擇最能將數據中的結構暴露給模型的屬性。不同的模型有不同的要求,真正不同的偏好,因為有時打破“_要求_”給出更好的結果。 以下是您可以用來對數據進行采樣的不同方法的一些想法。不要選擇,依次使用每個,并讓測試工具的結果告訴您使用哪種表示。 * 隨機或分層樣本 * 按類重新平衡實例(更多關于重新平衡方法) * 刪除異常值(更多關于異常值方法) * 刪除高度更正的屬性 * 應用降維方法(主要組件或t-SNE) #### 2.3數據轉換 本節旨在創建數據的多個視圖,以便在以后的步驟中將更多的數據問題結構暴露給建模算法。 * 創建所有屬性的線性和非線性轉換 * 將復雜屬性分解為其組成部分。 * 將非規范化屬性聚合為更高階的數量。 #### 插曲:數據轉換的候選名單 您可以使用的數據轉換數量有限。您還可以使用舊的收藏夾作為起點來幫助弄清楚是否值得探索特定的途徑。 下面列出了您可以使用的一些單變量(單屬性)數據轉換。 * 廣場和立方體 * 平方根 * 標準化(例如0均值和單位方差) * 標準化(例如重新縮放為0-1) * 描述(例如將真實轉換為分類) 你應該使用哪些?所有這些反過來,再次讓您的測試工具的結果告知您問題的最佳轉換。 #### 2.4數據摘要 本節旨在清除數據中的任何明顯關系。 * 創建每個屬性的單變量圖。 * 使用每個其他屬性創建每個屬性的雙變量圖。 * 使用類變量創建每個屬性的雙變量圖 ### 3.抽查算法 現在是時候開始構建和評估模型了。 要深入了解清單的這一部分,請參閱帖子“[如何評估機器學習算法](http://machinelearningmastery.com/how-to-evaluate-machine-learning-algorithms/)”和“[為什么你應該在機器學習問題](http://machinelearningmastery.com/why-you-should-be-spot-checking-algorithms-on-your-machine-learning-problems/)上進行抽樣檢查算法”。 #### 3.1創建測試工具 本節旨在幫助您定義用于模型評估的可靠方法,該方法可以可靠地用于比較結果。 * 創建保留驗證數據集以供日后使用。 * 評估并選擇適當的測試選項。 * 選擇用于評估模型的一個(或一小組)表現度量。 #### 3.2評估候選算法 本節旨在快速了解問題的可學習性,以及哪些算法和數據視圖可能有助于下一步的進一步調查。 * 選擇要評估的各種算法(10-20)。 * 使用通用或標準算法參數配置。 * 在每個準備好的數據視圖上評估每個算法。 #### 插曲:短名單算法嘗試分類問題 坦率地說,列表與點檢查策略無關,也不與您喜歡的算法一致。 然而,如果你正在處理一個分類問題,那么可以使用很好的混合算法來對問題進行建模。例如: * 基于實例的k-最近鄰和學習向量量化 * 更簡單的方法,如樸素貝葉斯,Logistic回歸和線性判別分析 * 決策樹如CART和C4.5 / C5.0 * 復雜的非線性方法,如反向傳播和支持向量機 * 總是投入隨機森林和梯度提升機器 要獲得有關算法的想法,請參閱帖子“[機器學習算法之旅](http://machinelearningmastery.com/a-tour-of-machine-learning-algorithms/)” ### 4.改善結果 此時,您將擁有一個較小的模型池,這些模型已知對問題有效。現在是時候改善結果了。 您可以在帖子“[如何改善機器學習結果](http://machinelearningmastery.com/how-to-improve-machine-learning-results/)”中深入了解清單的這一部分。 #### 4.1算法調整 本節旨在從表現良好的模型中獲得最大收益。 * 使用歷史上有效的模型參數。 * 搜索模型參數的空間。 * 優化表現良好的模型參數。 #### 4.2集合方法 本節旨在結合表現良好的模型的結果,并進一步提高準確性。 * 在表現良好的模型上使用Bagging。 * 在表現良好的模型上使用Boosting。 * 混合表現良好的模型的結果。 #### 4.3模型選擇 本節旨在確保充分考慮模型選擇過程。 * 選擇表現良好的模型或模型配置的不同子集(5-10)。 * 在保持驗證數據集上評估表現良好的模型。 * 選擇一個小型池(1-3)表現良好的模型。 ### 5.完成項目 我們現在有了結果,回顧問題定義并提醒自己如何充分利用它們。 您可以在“[如何使用機器學習結果](http://machinelearningmastery.com/how-to-use-machine-learning-results/)”的帖子中深入了解清單的這一部分。 #### 5.1目前的結果 本節旨在確保您捕獲您所做和所學的內容,以便其他人(以及您未來的自己)可以充分利用它 * 在簡短的報告中寫下項目(1-5頁)。 * 將記錄轉換為幻燈片以與其他人分享調查結果。 * 與感興趣的各方分享代碼和結果。 #### 5.2實施結果 本節旨在確保您實現預先制定的解決方案承諾。 * 使發現的過程從原始數據調整到結果到操作設置。 * 交付并利用預測。 * 提供并利用預測模型。 ## 下載您的機器學習清單 ![Machine Learning Checklist](https://img.kancloud.cn/fa/a0/faa00e7dfd61bcf153eb56d60dea7b5e_300x172.jpg)每次開始機器學習問題時都不要重新發明輪子。 使用經過實戰檢驗的機器學習清單,快速可靠地獲得準確的結果。 無論您是初學者還是專家,都可以充分利用機器學習。還可以獲得獨家電子郵件提示和技巧。 ## 從此清單中獲取最多的提示 我認為這個清單,如果遵循,是一個非常強大的工具。 在本節中,我將向您提供一些其他提示,您可以使用這些提示來充分利用您自己問題的清單。 1. **簡化流程**。第一次嘗試時不要做任何事情。選擇兩種算法進行抽樣檢查,一種數據轉換,一種改進結果的方法,等等。完成清單的一個周期,然后開始添加復雜性。 2. **使用版本控制**。您將創建許多模型和大量腳本(如果您使用的是R或Python)。確保使用版本控制(如 [GitHub](https://github.com/) )不會失去良好的結果。 3. **程序化**。沒有結果,沒有變換,沒有可視化是特殊的。一切都應該在程序上創建。如果你正在使用Weka,這可能是你寫下的一個過程,如果你使用的是R或Python,它可能是Makefile。你會發現你的東西中的錯誤,你可能希望能夠在一滴一滴的情況下重新生成你所有的結果。如果它從頭開始都是程序化的,那就像鍵入“ _make_ ”一樣簡單。 4. **記錄所有結果**。我認為每個算法都運行以保存文件中的預測是一種很好的做法。還要將每個數據轉換和樣本保存在單獨的文件中。如果數據作為項目的一部分位于目錄中的文件中,則始終可以對數據運行新的分析。如果結果需要數小時,數天或數周才能實現,那么這一點非常重要。這包括交叉驗證預測,這些預測可用于更復雜的混合策略。 5. **不要跳過步驟**。你可以縮短一步,但不要跳過任何步驟,即使你認為你知道這一切。清單的想法是保證結果。醫生非常聰明,非常合格,但仍需要提醒他們洗手。有時您可以簡單地忘記過程中的關鍵步驟,這絕對是關鍵(比如定義您的問題并意識到您甚至不需要機器學習)。 ## 我很懷疑,這真的有用嗎? 這只是一張清單,而不是銀彈。 你仍然需要投入工作。您仍然需要了解算法和數據操作方法以從中獲得最大收益。您仍然需要了解您的工具以及如何充分利用它們。 #### 親自試試吧。 向自己證明可以通過端到端的方式解決問題。一小時內完成。 1. [選擇一個數據集](http://machinelearningmastery.com/practice-machine-learning-with-small-in-memory-datasets-from-the-uci-machine-learning-repository/)。 2. 使用 [Weka](http://machinelearningmastery.com/how-to-run-your-first-classifier-in-weka/) (避免任何編程)。 3. 使用該過程。 一旦獲得第一個結果,您將看到它是多么容易以及為什么在問題定義,數據準備和在流程后端提供解決方案時花費大量時間這么重要。 #### 這種方法不會給你帶來最好的結果。 該清單可以在問題中可靠,一致地提供良好的結果。 你不會通過這個核對清單贏得 [Kaggle](https://www.kaggle.com/) 比賽,你會得到一個你可以提交的結果,并且可能超過排行榜的50%(通常要高得多)。 您可以使用它來獲得很好的結果,但這是您想要投入多少時間的問題。 #### 清單用于表格數據的分類問題。 我選擇演示這個清單,其中包含表格數據的分類問題。 這并不意味著它僅限于分類問題。您可以輕松地將其適應其他問題類型(如回歸)和其他數據類型(如圖像和文本)。 我過去曾使用過這個清單的變體。 #### 清單不包括技術“ _XYZ_ ”。 清單的美妙之處在于簡單的想法。 如果您不喜歡我已經布置的步驟,請用您自己的步驟替換它們。添加您想要使用的所有技術。建立自己的清單! 如果你這樣做,我很樂意看到一份副本。 #### 這種方法有很多冗余。 我認為通過機器學習問題來處理開發和探索之間的平衡。 您希望利用有關機器學習,數據和域名的所有知識。將這些元素添加到您的流程中以解決給定問題。 但不要排除探索。你需要嘗試你偏見所暗示的不是最好的東西。因為有時候,你的偏見往往不好。這是數據和機器學習的本質。 #### 為什么不只是對管道進行編碼? 為什么不!也許你應該如果你是一個系統人。 我有很多次使用許多不同的工具鏈和平臺。在編碼系統中很難找到合適的靈活性。似乎總有一種方法或工具不適合整齊。 我懷疑許多機器學習即服務(MLaaS)創建一個類似于上述清單的管道,以確保良好的結果。 #### 我不知道為什么會得到好結果。 這可能發生在你是初學者的時候。 您可以而且應該更深入地了解數據準備和建模算法的最終組合。您應該將所有程序都提供給您的結果,以便其他任何人都可以復制它(如果是工作項目,則公開或在您的組織內)。 如果交付方式具有可重復性且評估嚴格,那么良好的結果可以獨立存在。如果執行得好,上面的清單會提供這些功能。 ## 行動步驟 使用清單完成項目并建立一些信心。 1. [選擇一個問題](http://machinelearningmastery.com/practice-machine-learning-with-small-in-memory-datasets-from-the-uci-machine-learning-repository/),你可以在1到2小時內完成。 2. 使用清單并獲得結果。 3. 分享您的第一個項目(在評論中)。 您想要上述電子表格的PDF和電子表格版本嗎? [現在下載](https://machinelearningmastery.leadpages.co/leadbox/146701e73f72a2%3A164f8be4f346dc/5676830073815040/) 并獲得獨家電子郵件提示和技巧。
                  <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>

                              哎呀哎呀视频在线观看