做ML項目,任務繁多瑣碎怎麼辦?這份自查清單幫你理清思路

2020-11-24 機器之心Pro

機器學習項目中含有眾多因素,包括數據處理、模型優化等。開發者經常會陷入混亂,或者遺漏一些重要的東西。這裡有一份備忘清單,請查收。

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

這時就需要對項目中經涉及到的任務做一份詳盡的清單。有時開發者絞盡腦汁也無法找到一個好的起始點,那麼任務清單則有助於他們在正確的信息源中提取有用的數據並建立聯繫,從而發掘出深刻見解。

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

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

我們所了解事物的數量和複雜度已經超出了自身從它們中正確、安全或可靠地獲益的能力。

在本文中,網頁和數據科學講師 Harshit Tyagi 以端到端機器學習項目為例,對經常涉及的任務做了一份清單。

本文作者 Harshit Tyagi。

接下來,我們就來看 Harshit Tyagi 是如何一步步創建屬於自己的機器學習項目任務清單的。

八步完成 ML 項目檢查清單

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

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

執行此步驟是為了弄清楚問題的業務邏輯。你應該了解到:

問題的本質(有監督的 / 無監督的,分類問題 / 回歸問題)。

你可以開發的方案類型。

應該用什麼指標來度量性能?

機器學習是解決這個問題的正確方法嗎?

解決該問題的手動方法。

該問題固有的假設。

步驟 2:確定數據源並獲取數據

在大多數情況下,如果你已經準備一些數據並想要定義關於這些數據的問題以更好地利用輸入的數據,那麼你可以先於步驟 1 執行這個步驟。

基於問題的定義,你需要確定數據源中哪些可以作為資料庫或傳感器等。對於生產中某個應用的部署,這一步應該通過開發數據 pipeline 來實現自動化,以保證輸入的數據能夠進入系統。

具體步驟如下:

列出你需要的數據源及數據量;

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

檢查你是否有權限應用這些數據來達到你的目的;

獲取數據並將其轉換為可利用的格式;

檢查數據類型,通常包括文本、分類、數值、時序、圖像數據;

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

步驟 3:初步探索數據

在這一步中,你需要對所有影響項目結果 / 預測 / 目標的特徵進行研究。如果數據量很大,請對數據進行採樣使得分析更易管理。具體步驟如下:

使用 jupyter notebook,因為它為研究數據提供了簡單直觀的界面;

確定目標變量;

確定特徵的類型(分類、數值、文本等);

分析特徵之間的關係;

添加一些可視化數據,使每個特徵對目標變量的影響更易於解釋;

記錄你的發現。

步驟 4:探索性數據分析準備數據

在這一步中,通過定義數據轉換、數據清理、特徵選擇 / 工程和擴展的函數來處理之前步驟中的發現。具體如下:

編寫數據轉換函數,並自動處理將輸入的下一批數據;

編寫數據清理函數(估算缺失值並處理異常值);

編寫函數以選擇和工程化特徵,包括刪除冗餘特徵、特徵格式化以及其他數學變換;

特徵擴展——標準化特徵。

步驟 5:開發一個基線模型,然後探索其他模型以選出最佳模型

創建一個能夠為所有其他複雜機器學習模型提供基線的基礎模型。具體步驟如下:

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

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

對每個模型採用 N 倍交叉驗證並在 N 倍的基礎上計算性能指標的均值和標準差;

研究對目標影響最大的特徵;

分析模型在預測過程中存在的錯誤類型;

用不同的方式工程化特徵;

重複上述步驟幾次,以確保使用正確的特徵,且其形式也無誤;

選出基於性能指標的最佳模型。

步驟 6:優化你選出的模型並檢查相關方法

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

用交叉驗證優化超參數;

用隨機搜索或網格搜索等自動調整方法來找出最佳模型的最佳配置;

測試相關方法,比如集成學習等;

用儘可能多的數據測試模型;

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

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

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

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

創建儀錶板,如 voila 或帶有接近自我解釋可視化的有效 presentation;

撰寫一篇描述你如何進行特徵分析、測試數據轉換等的文章 / 報告。記錄你的學習過程,包括失敗的經驗和有效的技術方法;

總結主要結果並規劃未來設想(如果有的話)。

步驟 8:將模型投入生產並監測模型

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

在 h5 或 pickle 文件中保存你最終的訓練模型;

提供網頁版模型應用,你可以使用 Flask 來開發這些網頁服務;

關聯輸入數據源並設置 ETL 路徑;

基於擴展需求,用 pipenv、docker/Kubernetes 管理依賴關係;

你可以使用亞馬遜、Azure 或者谷歌雲平臺來部署你的服務;

在實時數據上監測性能或讓人們在你的模型上方便地使用他們的數據。

最後,創建任務清單時需要注意的一點是:你可以根據項目的難易程度來對清單進行實時調整。

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

相關焦點

  • PapersWithCode發布代碼完整性自查清單:想獲更多星,注意這五項
    近日,PapersWithCode 發布了機器學習代碼完整性自查清單。目前,該清單已成為 NeurIPS 2020 代碼提交流程的一部分。可復現性是科學領域長期關注的話題,近期人工智慧和機器學習社區也對此投入了更多關注。
  • 二維矩陣,簡單的結構化思維工具,帶你走出混亂,理清思路
    之前給大家介紹過結構化思維,遇到問題時這個思維方式可以引導你理清思路,減少混亂,從而快速解決問題。有小夥伴反映說這個步驟還是太多,不太好操作,那咱們今天就來介紹一個更簡單的,叫做二維矩陣。簡單來說它可以將你大腦中所有想到的,按兩個維度,四種情況來進行區分整理,從而讓你的思維更加條理清晰。
  • MECE分析法,幫我們快速理清思路,只需4步就能掌握
    這種方法,具有條理化和完整化的特點,可以幫助我們儘量理清出自己的思路,能夠在完整的思考邏輯下進行有效的分析,避免因任何原因而致使我們陷入困惑之中。MECE分析法如何展開呢?02尋找符合MECE分析法則的切入點尋找切入點的方法就是分析問題和目的,你想得到哪方面的結論,就從哪裡作為切入點。MECE的切入點並不是只有一個,而是可以很多,甚至在分析一個問題的時候,可以從多個切入點進行分析。
  • 英語啟蒙:你的「每日任務清單」,預示著你的未來
    在近11年的家庭英語啟蒙實踐中,苗爸發現,抓好英語啟蒙的關鍵,是制定並執行「每日任務清單」。人們常常是因為聽了某位專家的介紹,或是讀l某篇分享文章,亦或是看到了鄰家孩子的優秀表現,內心受到觸動,決定抓自家孩子的英語啟蒙。然而,十天半月之後,又回到了從前。主要原因,就是缺乏一個具體的操作清單和超強的執行力。
  • 富蘭克林的待辦清單
    從人類開始寫字時,便有了記錄待辦清單的習慣。翻開歷史,你會發現許多名人偉人都將「待辦清單」的精神發揮到極致。比如美國著名的科學家和政治家班傑明·富蘭克林,他當年高效工作的待辦清單,如果放到印象筆記中,就是醬紫的。  時空穿梭幾百年,高效的清單依然如此為你我服務。
  • 三門蛇蟠解鎖任務清單,助推幹事創業
    三門蛇蟠解鎖任務清單,助推幹事創業 2020-12-02 16:46 來源:澎湃新聞·澎湃號·政務
  • 變「卡脖子」清單為任務清單,「B計劃」是科研創新必答題
    圖片來自國新辦網站「我們把『卡脖子』的清單變成我們科研任務清單進行布局。」9月16日,中國科學院院長白春禮在國新辦發布會上介紹了中科院「率先行動」第一階段實施進展情況,並表示「率先行動」第二階段要把美國「卡脖子」的清單變成科研任務清單進行布局,包括航空輪胎、軸承鋼、光刻機等,集中全院力量聚焦國家最關注的重大領域攻關。消息一出,引發廣泛關注。
  • 英語啟蒙:每日任務清單
    家庭英語啟蒙:每日任務清單不同孩子的年齡不同,英語水平各異,學英語的目的也千差萬別,不能千篇一律,照搬模仿,而應該根據自己孩子的實際情況,先實踐,再調整。需要說明的是,父母必須先和孩子進行溝通,說明這樣做的好處,然後設計好獎勵機制。比如說小紅花、玩具、積分、動畫片、周末外出等。
  • 幫你理一份2019年流行色清單,買衣服不掉坑!
    這一共16個流行色中有12個關鍵色和4個中性色,黨老師每年照例要幫你分析一下啦。我把2019和2018年流行色做了一個對比,哈哈哈 大家是不是看著有點眼熟呢?你會發現其實大色相上變化沒有那麼大,大概面貌就是大面積的紅、橘,用大地色系平衡,再加點綠色、藍色做點綴好啦接下來我們分色系來給大家梳理一下紅粉色系包括小丑紅、嘉年華紅、孔雀粉、甜丁香粉1、小丑紅
  • 將卡脖子清單變成科研任務清單,中科院集中力量聚焦國家重大領域攻關
    與非網 9 月 18 日訊,「我們把『卡脖子』的清單變成我們科研任務清單進行布局。」近日,中國科學院院長白春禮在國新辦發布會上介紹了中科院「率先行動」第一階段實施進展情況,並表示「率先行動」第二階段要把美國「卡脖子」的清單變成科研任務清單進行布局,包括航空輪胎、軸承鋼、光刻機等,集中全院力量聚焦國家最關注的重大領域攻關。消息一出,引發廣泛關注。
  • 高考精華版,高中數學知識結構框圖,理清你的數學學科思路導圖
    很多同學都是談數學色變,但高中數學其實沒有你想像的那麼可怕和難學,你只是在為自己的懶惰找藉口。連基本公式都能背錯,還要一味給數學抹黑給。上課就睡覺,下課就胡鬧。這就是學習差生最真實的寫照。這都是你思想態度不端正的問題,數學雖然有點難,但不是你自暴自棄的理由。我們要意識到自己已經跟不上數學的步伐了,就要抓緊自己的腳步,努力追趕上他,多花心思在數學上。
  • 中科院:將把美國「卡脖子」的清單變成科研任務清單集中攻關
    南都訊 9月16日,中國科學院院長白春禮在國新辦發布會上介紹稱,「率先行動」計劃第二階段要把美國「卡脖子」的清單變成科研任務清單進行布局,集中全院力量聚焦國家最關注的重大領域攻關。中國科學院院長白春禮。
  • 一張圖幫你理清思路!
    這幾個基本概念,你是否都清楚? 1. 發熱: 按照國際標準,口腔溫度超過 38.3 ℃ 以上診斷為發熱。但口腔多有不便, 更多時候用的是腋窩、耳溫等等,換算公式約為:肛溫 - 0.5 ℃ = 口溫 = 腋窩溫度 + 0.5 ℃ = 耳溫 + 0.4 ℃。
  • 微軟新出的 To-Do 應用,能替代奇妙清單嗎?| 領客專欄 · 電腦玩物
    因為現在 Microsoft To-Do 已經全面開放使用,就讓我針對其目前功能來做一個簡評。1. 免費,中文版目前看起來 Microsoft To-Do 會是一個雲端跨平臺同步,並且免費的待辦清單工具,而且已經內置完整的中文版本。你可以到 Microsoft To-Do 網站登入其網頁版,或是下載其 app 與軟體。
  • 具體每天安排怎麼辦?
    具體每天安排怎麼辦?不知道你什麼時候考研,如果是21考研的話,現在補起來還不晚。我大學只是個二本文科,剛上大學身邊就有很多同學說一定要考研,要去好學校感受下學習氛圍。但20多個要考研的同學,最後也就只堅持下來十個左右。
  • 怎麼在滴答清單上實現四象限工作法?
    通常,你需要馬上執行「急事」,確保它們不會延期,比如: 本周五前必須凍結項目到可發布狀態明天女友生日,所以今天要去買禮物但長遠來看,最好將重心放在「要事」上。想想看,需要馬上執行的「急事」是否曾經也是「要事」?早點把「要事」消化掉就不會壓力滿滿了。不過在實際情況中,惱人的「煩事」會比預期多。
  • 中科院:將「卡脖子」問題和國外出口管制清單轉化為任務清單
    中國科學院院長白春禮在16日的發布會上介紹說,將在「率先行動」的第二個階段目標當中,進一步加強部署,將「卡脖子」的問題和國外出口管制的清單轉化為自己的任務清單。16日,國新辦就中國科學院「率先行動」計劃第一階段實施進展有關情況舉行發布會。中國科學院院長白春禮介紹中國科學院「率先行動」計劃第一階段實施進展有關情況,並答記者問。
  • 中科院院長白春禮:把美國卡脖子清單變成科研任務清單
    第一階段科技產出目標任務圓滿完成,產出了一大批重大成果。目前正在緊鑼密鼓地謀劃「率先行動」計劃第二階段的目標,從2021年到2030年。中國科學院院長白春禮表示,當前,國家科技的發展正在轉型,經濟高質量發展也需要科技高質量發展。同時還面臨著美國對中國高科技產業的打壓,希望在這方面能夠做一些工作。
  • 去火星前,請收下這份清單
    當我國首次火星探測任務測控系統的總設計師李海濤來到《我的藝術清單》現場時,藝術清單的第一作品就是《天問》,這是「理工男」對自己事業最浪漫的表達。說起首次火星探測任務測控系統總設計師李海濤的工作內容,需要一長串科學嚴謹的解釋,而李總設計師為了藝術清單的「科普課堂」通俗易懂,用「放風箏的人」來比喻自己的工作性質,把衛星比喻成風箏
  • 孩子作業家長不會輔導怎麼辦 優學派學生平板來幫你
    課後作業裡有的題目家長完全不會做,有的題目會做也給孩子講不明白,這時面對孩子求知的眼神,家長通常都很尷尬。到底有沒有辦法可以幫家長解決課後輔導這難題呢?當然有!為孩子添置一臺優學派學生平板,課後輔導將變得簡單而輕鬆,孩子學習效率也能快速提高。