這份列表可以知道你部署自己的機器學習專案。總共有八個步驟:
首先你要有乙個要解決的問題
獲取解決問題需要的資料
探索資料,對資料有乙個清楚的理解
預處理資料以便更好地輸入給機器學習演算法
探索不同的模型並且找到最好的那個
調整你的模型引數,並將這些引數組合成乙個更好的解決方案
展示你的結果
對你的系統進行上線、監控和維護
用商業術語來定義你的目標
您的解決方案將如何使用?
如果有的話,目前的解決方案/方法是什麼?
模型的效果如何測量?
模型測量的指標是否與業務目標(原文為business objective)保持一致?
達到業務目標所需的最低模型效能是多少?
類似的問題有哪些? 你可以重複使用他們的經驗或工具嗎?
是不是人類專長的問題?
你如何人工手動解決這個問題?
列出目前為止,你或其他人所做出的假設
如果可能的話,驗證假設
列出你需要的資料和你需要的資料量
查詢並記錄可以獲取該資料的位置
檢查這些資料需要多少空間
檢查法律義務,並在必要時獲得授權
獲取訪問許可權
建立乙個有足夠的儲存空間的工作區(可以簡單理解為計算機上的資料夾)
獲取資料
將資料轉換為您可以輕鬆操作的格式(不要更改資料本身)
確保刪除或保護敏感資訊(例如:使用匿名)
檢查資料的大小和型別(時間序列,樣本,地理資訊等)
抽樣出乙個測試集,放在一邊,不要管它
注意:盡可能自動化獲取資料,這樣您可以輕鬆獲取最新的資料
為探索資料建立乙份資料副本(如果需要,可將其抽樣為可管理的大小)
在jupyter notebook上以記錄您的資料探索過程
研究每個屬性及其特徵
對於有監督學習任務,確定標籤值
視覺化資料
研究樣本屬性之間的關係
思考如何手動解決這個問題
確定您可能想要應用的資料轉換
確認可能有用的額外資料
將你學到的東西記錄下來
注意:嘗試從領域專家那裡獲取這些步驟的見解
資料清理
特徵選擇
適當的特徵工程
特徵縮放:對特徵進行歸一化或標準化處理
注意:使用標準引數訓練不同類別的快速模型(例如,線性,樸素貝葉斯,svm,隨機森林,神經網路等)
測量並比較他們的效能
分析每種演算法的重要變數
分析模型產生的錯誤型別
快速進行特徵選擇和特徵工程
對前面五個步驟進行一兩次更快的迭代
簡短列出前三到五個最有希望的模型,特別是不同型別的錯誤的模型
注意:使用交叉驗證對超引數進行微調
嘗試整合方法。 結合你最好的幾個模型往往會比單獨更好
一旦你對你的最終模型充滿信心,在測試集上執行以檢測泛化誤差
注意:在此步驟,您需要使用盡可能多的資料,特別是在您微調結束的時候
一如既往地自動化你所能做的事
記錄下你所做的事情
建立乙個不錯的演示
解釋您的解決方案為何能夠達到業務目標
不要忘記提出你一路注意到的有趣觀點
確保您關鍵的研究結果通過美觀的視覺化或易於記憶的陳述進行傳達(例如,「收入中位數是房價的頭號**指標」)
準備好生產環境下的解決方案(插入資料輸入,編寫單元測試等)
編寫監控**,定期檢查系統的實時效能,並在效能下降時時觸發警報
定期在新的資料上模型重新訓練(盡可能自動化)
機器學習專案清單
開頭註明 內容大部分來自機器學習實戰 基於scikit learn和tensorflow 一 架構問題,關注藍圖 1.定義當前目標 2.思考解決方案 3.是否可以重用他人的經驗與工具 4.盡可能獲取幫助 二 獲取資料 1.列出資料及其體量 2.查詢並記錄獲取資料的途徑 3.檢查需要的空間 4.檢查法...
機器學習專案清單 機器學習實戰
摘自 機器學習實戰 基於sklearn keras和tensorflow 第2版 附錄b中的機器學習專案清單,用於自查 4.對於有監督學習任務,請確定目標屬性。5.視覺化資料。6.研究屬性之間的相關性。7.研究如何手動解決問題。8.確定你可能希望使用的轉變。9.確定有用的額外資料。10.記錄所學的知...
機器學習專案流程
在微博上看到七月演算法寒老師總結的完整機器的學習專案的工作流程,結合天池比賽的經歷寫的。現在機器學習應用非常流行,了解機器學習專案的流程,能幫助我們更好的使用機器學習工具來處理實際問題。1.理解實際問題,抽象為機器學習能處理的數學問題 理解實際業務場景問題是機器學習的第一步,機器學習中特徵工程和模型...