<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          機器學(xué)習(xí)項目的備忘清單!

          共 2518字,需瀏覽 6分鐘

           ·

          2021-03-10 00:37

          作者:Harshit Tyagi,編譯:機器之心

          機器學(xué)習(xí)項目中含有眾多因素,包括數(shù)據(jù)處理、模型優(yōu)化等。開發(fā)者經(jīng)常會陷入混亂,或者遺漏一些重要的東西。這里有一份備忘清單,請查收。


          任何科研項目都是系統(tǒng)性的,機器學(xué)習(xí)項目也不例外,它包含一系列大大小小、或繁或簡的要素和組件,如討論、準備工作、提出問題、模型構(gòu)建和優(yōu)化調(diào)整等。在這種情況下,開發(fā)者很容易漏掉一些重要的東西。

          這時就需要對項目中經(jīng)涉及到的任務(wù)做一份詳盡的清單。有時開發(fā)者絞盡腦汁也無法找到一個好的起始點,那么任務(wù)清單則有助于他們在正確的信息源中提取有用的數(shù)據(jù)并建立聯(lián)系,從而發(fā)掘出深刻見解。

          此外,還需要對項目中的每項任務(wù)進行規(guī)劃的檢查,確保任務(wù)的完成度。

          正如 Atul Gawande 在其著作《清單宣言:如何把事情做對》(Checklist Manifesto)中說到的:

          我們所了解事物的數(shù)量和復(fù)雜度已經(jīng)超出了自身從它們中正確、安全或可靠地獲益的能力。


          在本文中,網(wǎng)頁和數(shù)據(jù)科學(xué)講師 Harshit Tyagi 以端到端機器學(xué)習(xí)項目為例,對經(jīng)常涉及的任務(wù)做了一份清單。

          本文作者 Harshit Tyagi。

          接下來,我們就來看 Harshit Tyagi 是如何一步步創(chuàng)建屬于自己的機器學(xué)習(xí)項目任務(wù)清單的。

          八步完成 ML 項目自查清單

          幾乎每個機器學(xué)習(xí)項目中都至少要執(zhí)行 8-10 個步驟,其中一些步驟的執(zhí)行順序也可以互換。

          步驟 1:從一個高水平的視角定義問題

          執(zhí)行此步驟是為了弄清楚問題的業(yè)務(wù)邏輯。你應(yīng)該了解到:

          • 問題的本質(zhì)(有監(jiān)督的 / 無監(jiān)督的,分類問題 / 回歸問題)。

          • 你可以開發(fā)的方案類型。

          • 應(yīng)該用什么指標(biāo)來度量性能?

          • 機器學(xué)習(xí)是解決這個問題的正確方法嗎?

          • 解決該問題的手動方法。

          • 該問題固有的假設(shè)。


          步驟 2:確定數(shù)據(jù)源并獲取數(shù)據(jù)

          在大多數(shù)情況下,如果你已經(jīng)準備一些數(shù)據(jù)并想要定義關(guān)于這些數(shù)據(jù)的問題以更好地利用輸入的數(shù)據(jù),那么你可以先于步驟 1 執(zhí)行這個步驟。

          基于問題的定義,你需要確定數(shù)據(jù)源中哪些可以作為數(shù)據(jù)庫或傳感器等。對于生產(chǎn)中某個應(yīng)用的部署,這一步應(yīng)該通過開發(fā)數(shù)據(jù) pipeline 來實現(xiàn)自動化,以保證輸入的數(shù)據(jù)能夠進入系統(tǒng)。

          具體步驟如下:

          • 列出你需要的數(shù)據(jù)源及數(shù)據(jù)量;

          • 檢查存儲空間是否會成為問題;

          • 檢查你是否有權(quán)限應(yīng)用這些數(shù)據(jù)來達到你的目的;

          • 獲取數(shù)據(jù)并將其轉(zhuǎn)換為可利用的格式;

          • 檢查數(shù)據(jù)類型,通常包括文本、分類、數(shù)值、時序、圖像數(shù)據(jù);

          • 保留樣本以進行最終的測試。


          步驟 3:初步探索數(shù)據(jù)

          在這一步中,你需要對所有影響項目結(jié)果 / 預(yù)測 / 目標(biāo)的特征進行研究。如果數(shù)據(jù)量很大,請對數(shù)據(jù)進行采樣使得分析更易管理。具體步驟如下:

          • 使用 jupyter notebook,因為它為研究數(shù)據(jù)提供了簡單直觀的界面;

          • 確定目標(biāo)變量;

          • 確定特征的類型(分類、數(shù)值、文本等);

          • 分析特征之間的關(guān)系;

          • 添加一些可視化數(shù)據(jù),使每個特征對目標(biāo)變量的影響更易于解釋;

          • 記錄你的發(fā)現(xiàn)。


          步驟 4:探索性數(shù)據(jù)分析以準備數(shù)據(jù)

          在這一步中,通過定義數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)清理、特征選擇 / 工程和擴展的函數(shù)來處理之前步驟中的發(fā)現(xiàn)。具體如下:

          • 編寫數(shù)據(jù)轉(zhuǎn)換函數(shù),并自動處理將輸入的下一批數(shù)據(jù);

          • 編寫數(shù)據(jù)清理函數(shù)(估算缺失值并處理異常值);

          • 編寫函數(shù)以選擇和工程化特征,包括刪除冗余特征、特征格式化以及其他數(shù)學(xué)變換;

          • 特征擴展——標(biāo)準化特征。


          步驟 5:開發(fā)一個基線模型,然后探索其他模型以選出最佳模型

          創(chuàng)建一個能夠為所有其他復(fù)雜機器學(xué)習(xí)模型提供基線的基礎(chǔ)模型。具體步驟如下:

          • 使用默認參數(shù)訓(xùn)練一些常用的機器學(xué)習(xí)模型,如樸素貝葉斯、線性回歸、支持向量機(SVM)等;

          • 度量并比較每種模型的性能;

          • 對每個模型采用 N 倍交叉驗證并在 N 倍的基礎(chǔ)上計算性能指標(biāo)的均值和標(biāo)準差;

          • 研究對目標(biāo)影響最大的特征;

          • 分析模型在預(yù)測過程中存在的錯誤類型;

          • 用不同的方式工程化特征;

          • 重復(fù)上述步驟幾次,以確保使用正確的特征,且其形式也無誤;

          • 選出基于性能指標(biāo)的最佳模型。


          步驟 6:優(yōu)化你選出的模型并檢查相關(guān)方法

          這是你更加接近最終解決方案的關(guān)鍵步驟之一,具體步驟如下:

          • 用交叉驗證優(yōu)化超參數(shù);

          • 用隨機搜索或網(wǎng)格搜索等自動調(diào)整方法來找出最佳模型的最佳配置;

          • 測試相關(guān)方法,比如集成學(xué)習(xí)等;

          • 用盡可能多的數(shù)據(jù)測試模型;

          • 最終確定后,使用在開始保留的未見過測試樣例來檢查模型是否存在過擬合或欠擬合。


          步驟 7:保存代碼并交流你的方案

          交流的過程也是性能加倍的過程。你需要記得所有已有或潛在的利益相關(guān)者。主要步驟包括如下:

          • 保存代碼并記錄整個項目的過程及用到的方法;

          • 創(chuàng)建儀表板,如 voila 或帶有接近自我解釋可視化的有效 presentation;

          • 撰寫一篇描述你如何進行特征分析、測試數(shù)據(jù)轉(zhuǎn)換等的文章 / 報告。記錄你的學(xué)習(xí)過程,包括失敗的經(jīng)驗和有效的技術(shù)方法;

          • 總結(jié)主要結(jié)果并規(guī)劃未來設(shè)想(如果有的話)。


          步驟 8:將模型投入生產(chǎn)并監(jiān)測模型

          如果你的項目需要在實時數(shù)據(jù)上進行測試,你應(yīng)該創(chuàng)建一個可以在所有平臺(web、android、iOS)上使用的網(wǎng)頁版應(yīng)用或 REST API。主要步驟包括:

          • 在 h5 或 pickle 文件中保存你最終的訓(xùn)練模型;

          • 提供網(wǎng)頁版模型應(yīng)用,你可以使用 Flask 來開發(fā)這些網(wǎng)頁服務(wù);

          • 關(guān)聯(lián)輸入數(shù)據(jù)源并設(shè)置 ETL 路徑;

          • 基于擴展需求,用 pipenv、docker/Kubernetes 管理依賴關(guān)系;

          • 你可以使用亞馬遜、Azure 或者谷歌云平臺來部署你的服務(wù);

          • 在實時數(shù)據(jù)上監(jiān)測性能或讓人們在你的模型上方便地使用他們的數(shù)據(jù)。


          最后,創(chuàng)建任務(wù)清單時需要注意的一點是:你可以根據(jù)項目的難易程度來對清單進行實時調(diào)整。

          原文鏈接:https://towardsdatascience.com/task-cheatsheet-for-almost-every-machine-learning-project-d0946861c6d0

          “整理不易,三連
          瀏覽 47
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲最大视频网站 | 亚洲日韩欧美一区二区 | 国产老熟女高潮毛片A片仙踪林 | 国产极品艳情生活视频在线观看免费 | 91探花精品偷拍在线播放 |