<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 如何布局和管理您的機器學習項目 > 原文: [https://machinelearningmastery.com/how-to-layout-and-manage-your-machine-learning-project/](https://machinelearningmastery.com/how-to-layout-and-manage-your-machine-learning-project/) 項目布局對于機器學習項目至關重要,就像軟件開發項目一樣。我認為它像語言。項目布局組織思想并為您提供想法的背景,就像知道事物的名稱為您提供思考的基礎一樣。 在這篇文章中,我想強調一下在機器學習項目的布局和管理中的一些注意事項。這與[項目和科學再現性](http://machinelearningmastery.com/reproducible-machine-learning-results-by-default/ "Reproducible Machine Learning Results By Default")的目標密切相關。沒有“最佳”方式,您將需要選擇并采用最能滿足您的偏好和項目要求的實踐。 ## 工作流程激勵問題 Jeromy Anglim在2010年墨爾本R用戶小組的演講中介紹了R的項目布局狀況。視頻有點搖搖欲墜,但對該主題進行了很好的討論。 &lt;iframe allowfullscreen="" frameborder="0" height="375" src="https://www.youtube.com/embed/bbaPSJechgY?feature=oembed" width="500"&gt;&lt;/iframe&gt; 我非常喜歡Jeromy演講中的動機問題: * 將項目劃分為文件和文件夾? * 將R分析納入報告? * 將默認R輸出轉換為發布質量表,數字和文本? * 建立最終產品? * 對分析進行排序? * 將代碼劃分為函數? 您可以在Jeromy的博客, [PDF演示幻燈片](https://github.com/jeromyanglim/RMeetup_Workflow/raw/master/backup/Rmeetup_Workflow_handout.pdf)和演示文稿的 [YouTube視頻上查看演示文稿的](https://www.youtube.com/watch?v=bbaPSJechgY)[摘要。](http://jeromyanglim.blogspot.com.au/2010/12/r-workflow-slides-from-talk-at.html) ## 項目工作流程的目標 David Smith在標題為 [R](http://blog.revolutionanalytics.com/2010/10/a-workflow-for-r.html) 的工作流程的帖子中提供了他認為的良好項目工作流程目標的摘要。我認為這些非常好,在設計自己的項目布局時應該牢記這一點。 * **透明度**:項目的邏輯和清晰布局,使讀者更直觀。 * **可維護性**:使用文件和目錄的標準名稱輕松修改項目。 * **模塊化**:離散任務分為單獨的腳本,只有一個責任。 * **可移植性**:輕松將項目移動到另一個系統(相對路徑和已知依賴項) * **再現性**:在未來或其他人中輕松運行并創建相同的人工制品。 * **效率**:很少考慮元項目細節,比如工具,更多關于你正在解決的問題。 ## ProjectTemplate John Myles White有一個名為 [ProjectTemplate](http://projecttemplate.net/) 的R項目,旨在為統計分析項目自動創建一個定義良好的布局。它提供了自動加載和重疊數據的約定和實用程序。 ProjectTemplate的徽標,用于布置R統計分析項目的項目。 項目布局比我想要的要大,但可以深入了解組織項目的高度結構化方式。 * **cache** :每次執行分析時不需要重新生成的預處理數據集。 * **config** :項目的配置設置 * **數據**:原始數據文件。 * **munge** :預處理數據munging代碼,其輸出放在緩存中。 * **src** :統計分析腳本。 * **diagnostics** :用于診斷數據集是否存在損壞或異常值的腳本。 * **doc** :關于分析的文檔。 * **圖**:從分析中創建的圖表。 * **lib** :Helper庫函數但不是核心統計分析。 * **logs** :腳本輸出和任何自動記錄。 * **分析**:用于對代碼時序進行基準測試的腳本。 * **報告**:輸出報告和可能會進入報告(如表格)的內容。 * **測試**:代碼的單元測試和回歸套件。 * **README** :指出任何新人參與項目的注釋。 * **TODO** :您計劃進行的未來改進和錯誤修復列表。 您可以在 [ProjectTemplate主頁](http://projecttemplate.net/),John的網站上的[博客文章](http://www.johnmyleswhite.com/notebook/2010/08/26/projecttemplate/) [GitHub頁面](https://github.com/johnmyleswhite/ProjectTemplate)進行開發以及 [CRAN頁面](http://cran.r-project.org/web/packages/ProjectTemplate/)進行分發了解更多信息。 ## 數據管理 Software Carpentry提供了一個標題為“數據管理”的簡短演示文稿。數據管理方法的靈感來自William Stafford Noble題為[組織計算生物學項目快速指南](http://www.ploscompbiol.org/article/info%3Adoi%2F10.1371%2Fjournal.pcbi.1000424)的文章。 &lt;iframe allowfullscreen="" frameborder="0" height="375" src="https://www.youtube.com/embed/3MEJ38BO6Mo?feature=oembed" width="500"&gt;&lt;/iframe&gt; 該演示文稿描述了在磁盤或版本控制中維護多個版本數據的問題。它評論了數據存檔的主要要求,并提出了一種日期目錄名稱和數據文件元數據文件的方法,這些文件本身是在版本控制中管理的。這是一個有趣的方法。 您可以在此處查看[視頻和幻燈片以進行演示](http://software-carpentry.org/v4/data/mgmt.html)。 ## 最佳實踐 關于問答網站上的數據分析項目的項目布局和代碼組織的最佳實踐有很多討論。例如,一些流行的例子包括: * [你如何管理你的文件&amp;您的項目目錄?](https://www.biostars.org/p/821/#825) * [統計分析和報告編寫的工作流程](http://stackoverflow.com/questions/1429907/workflow-for-statistical-analysis-and-report-writing) * [項目組織與R](http://stackoverflow.com/questions/13036472/project-organization-with-r) * [組織R代碼和輸出的有效方法是什么?](http://stats.stackexchange.com/questions/10987/what-are-efficient-ways-to-organize-r-code-and-output) 一個很好的例子是問題[如何有效地管理統計分析項目?](http://stats.stackexchange.com/questions/2910/how-to-efficiently-manage-a-statistical-analysis-project) 變成了一個描述最佳實踐的社區維基。總之,這些做法分為以下幾個部分: * **數據管理**:使用目錄結構,永遠不要直接修改原始數據,檢查數據一致性,使用GNU make。 * **編碼**:將代碼組織成功能單元,將所有內容,自定義函數記錄在專用文件中。 * **分析**:記錄隨機種子,將參數分成配置文件,使用多變量圖 * **版本控制**:使用版本控制,備份所有內容,使用問題跟蹤器。 * **編輯/報告**:組合代碼和報告并使用正式的報告生成器。 ## 更多實踐 每個項目我都試圖改進我的項目布局。這很難,因為項目因數據和目標而異,語言和工具也是如此。我已經嘗試了所有已編譯的代碼和所有腳本語言版本。我發現的一些好建議包括: * 堅持 [POSIX文件系統布局](http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard)(var,etc,bin,lib等)。 * 將所有命令放在腳本中。 * 從GNU make目標調用所有腳本。 * 制作創建環境和下載公共數據集的目標。 * 創建秘籍并讓基礎結構檢查并創建每次運行的任何缺少的輸出產品。 最后一點是游戲改變者。它允許您管理工作流程并定義秘籍,并放棄數據分析,預處理,模型配置,功能選擇等任務。框架知道如何執行秘籍并創建結果供您查看。 [我在](http://machinelearningmastery.com/the-seductive-trap-of-black-box-machine-learning/ "The Seductive Trap of Black-Box Machine Learning")之前談過這種方法。 您如何布局和組織機器學習項目?發表評論。
                  <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>

                              哎呀哎呀视频在线观看