Machine Learning Project Checklist

禁止一切形式轉(zhuǎn)載
作者按:本來打算給英文版琐馆,但是考慮到易于使用就直接給中文版了呛踊,其次有些術(shù)語不知道用中文該如何準(zhǔn)確表達(dá)亭姥,所以直接用了英文苛骨。

作為一個具有良好習(xí)慣的數(shù)據(jù)科學(xué)家篱瞎,在拿到一個問題時,要做的第一件事就是制作出您的機器學(xué)習(xí)項目清單痒芝。 這個筆記給出了一個可供參考的機器學(xué)習(xí)項目清單俐筋,它應(yīng)該適用于大多數(shù)機器學(xué)習(xí)項目,但要確保適應(yīng)您的需求严衬。

此清單可以指導(dǎo)您完成大多數(shù)機器學(xué)習(xí)項目澄者。 有八個主要步驟:
1.問題框架化,視野宏觀化
2.獲取數(shù)據(jù)
3.探索數(shù)據(jù)以獲得 深層次見解
4.準(zhǔn)備數(shù)據(jù)以更好地將基礎(chǔ)數(shù)據(jù)模式提供給機器學(xué)習(xí)算法
5.探索不同的模型并列出最優(yōu)模型
6.微調(diào)模型并將它們組合成一個很好的解決方案
7.展示您的解決方案
8.運行请琳,監(jiān)控和維護(hù)您的系統(tǒng)
實際操作中您可以隨意調(diào)整此清單以滿足您的具體需求

1. 問題框架化粱挡,視野宏觀化-Frame the Problem and Look at the Big Picture

1.用術(shù)語定義項目目標(biāo)
2.您的解決方案將如何使用?
3.目前的解決方案/解決方法是什么(如果有的話)俄精?
4.你應(yīng)該如何構(gòu)建這個問題(監(jiān)督/無人監(jiān)督询筏,在線/離線等等)?
5.如何衡量表現(xiàn)竖慧?
6.表現(xiàn)衡量標(biāo)準(zhǔn)是否與項目目標(biāo)一致嫌套?

2. 獲取數(shù)據(jù)-Get the Data

注意:盡可能自動化局冰,以便您輕松獲取新數(shù)據(jù)。
1.列出您需要的數(shù)據(jù)以及您需要的數(shù)據(jù)數(shù)量
2.查找并記錄您可以從哪里獲取該數(shù)據(jù)
3.檢查需要多少內(nèi)存空間
4.檢查法律義務(wù)灌危,并在必要時獲得授權(quán)
5.獲取訪問權(quán)限
6.創(chuàng)建工作區(qū)(具有足夠的存儲空間)
7.獲取數(shù)據(jù)
8.將數(shù)據(jù)轉(zhuǎn)換為您可以輕松操作的格式(不更改數(shù)據(jù)本身)
9.確保刪除或保護(hù)敏感信息(例如康二,匿名)
10.檢查數(shù)據(jù)的大小和類型(時間序列,樣本勇蝙,地理位置等)
11.對測試集進(jìn)行采樣沫勿,將其放在一邊,不要看它(沒有數(shù)據(jù)窺探N痘臁)

3. 探索數(shù)據(jù)-Explore the Data

注意:嘗試從相關(guān)領(lǐng)域?qū)<夷抢铽@取有關(guān)這些步驟的見解产雹。
1.創(chuàng)建用于探索的數(shù)據(jù)副本(將其抽樣為可管理的大小如有必要)
2.創(chuàng)建一個Jupyter筆記本以記錄您的數(shù)據(jù)探索
3.研究每個屬性及其特征:

  • 名稱
  • 類型(分類,整數(shù)/浮點數(shù)翁锡,有界/無界蔓挖,文本,結(jié)構(gòu)化等)
  • 缺失值的百分比
  • 噪音和噪音類型(隨機馆衔,異常值,舍入誤差等)
  • 可能對任務(wù)有用嗎角溃?
  • 分布類型(高斯拷获,均勻,對數(shù)等)

4.對于監(jiān)督學(xué)習(xí)任務(wù)减细,確定目標(biāo)屬性
5.可視化數(shù)據(jù)
6.研究屬性之間的相關(guān)性
7.研究如何手動解決問題
8.確定您可能想要應(yīng)用的有希望的轉(zhuǎn)換
9.確定有用的額外數(shù)據(jù)(請返回上一步“獲取數(shù)據(jù)”)
10.記錄你學(xué)到的東西

4. 準(zhǔn)備數(shù)據(jù)-Prepare the Data

注意:

  • 處理數(shù)據(jù)副本(保持原始數(shù)據(jù)集完整)
  • 為您應(yīng)用的所有數(shù)據(jù)轉(zhuǎn)換編寫函數(shù)匆瓜,原因有五:
    — 您可以在下次獲得新數(shù)據(jù)集時輕松準(zhǔn)備數(shù)據(jù)
    — 您可以在將來的項目中應(yīng)用這些轉(zhuǎn)換
    — 清潔和準(zhǔn)備測試集
    — 在解決方案生效后清理和準(zhǔn)備新的數(shù)據(jù)實例
    — 使您可以輕松地將您的準(zhǔn)備選擇視為超參數(shù)

1.數(shù)據(jù)清理:

  • 修復(fù)或刪除異常值(可選)
  • 填寫缺失值(例如,零未蝌,均值驮吱,中位數(shù)......)或刪除它們的行(或列)

2.特征選擇(可選):

  • 刪除不為任務(wù)提供有用信息的屬性

3.特征工程,適當(dāng)時:

  • 使連續(xù)特征具體化
  • 分解特征(例如萧吠,分類左冬,日期/時間等)。
  • 添加有用的特征轉(zhuǎn)換(例如怎憋,log(x)又碌,sqrt(x),x ^ 2等)
  • 將特征聚合為有用的新特征
  • 有兩種編碼方式:labelEncoding和OneHotEncoding绊袋。對于回歸問題,更多使用labelEncoding铸鹰。對于分類問題癌别,更多使用OneHotEncoding。

4.特征縮放:將特征 standardize or normalize

5. 探索不同的模型并列出最優(yōu)模型-Short-List Promising Models

注意:

  • 如果數(shù)據(jù)量很大蹋笼,您可能需要對較小的訓(xùn)練集進(jìn)行采樣展姐,以便進(jìn)行訓(xùn)練
    在合理的時間內(nèi)有許多不同的模型(請注意躁垛,這會對諸如大型神經(jīng)網(wǎng)絡(luò)或隨機森林等復(fù)雜模型進(jìn)行處罰)
  • 再次嘗試盡可能自動化這些步驟

1.訓(xùn)練quick and dirty models from different categories(例如,線性圾笨,樸素貝葉斯教馆,SVM,隨機森林擂达,神經(jīng)網(wǎng)絡(luò)等)使用標(biāo)準(zhǔn)參數(shù)(默認(rèn)參數(shù))
2.衡量并比較他們的表現(xiàn)

  • 對于每個模型土铺,使用N-fold 交叉驗證并計算平均值和 N folds 上的性能測量的標(biāo)準(zhǔn)偏差

3.分析每種算法的最重要變量

4.分析模型所犯的錯誤類型

  • 人類用什么數(shù)據(jù)來避免這些錯誤?

5.進(jìn)行快速的特征選擇和特征工程
6.對前面五個步驟進(jìn)行一次或兩次快速迭代
7.列出前三到五個最有希望的模型板鬓,更傾向于那些出現(xiàn)不同類型錯誤的模型

6. 微調(diào)模型并將它們組合成一個很好的解決方案-Fine-Tune the System

注意:

  • 您將希望在此步驟中使用盡可能多的數(shù)據(jù)悲敷,尤其是在進(jìn)行到微調(diào)快結(jié)束時
  • 始終如一地盡可能實現(xiàn)自動化

1.使用交叉驗證微調(diào)超參數(shù)

  • 將數(shù)據(jù)轉(zhuǎn)換選擇視為超參數(shù),尤其是在你不確定它們時(例如俭令,我應(yīng)該用零或中值更換缺失值后德? 或者直接刪除這一行?)
  • 除非要探索的超參數(shù)值非常少抄腔,否則更傾向于使用隨機搜索網(wǎng)格搜索瓢湃。 如果訓(xùn)練時間很長,您可能更喜歡貝葉斯訓(xùn)練優(yōu)化方法(例如赫蛇,使用高斯過程先驗箱季,as described by Jasper Snoek,Hugo Larochelle和Ryan Adams

2.嘗試Ensemble方法棍掐。 結(jié)合最佳模型通常會表現(xiàn)得更好,而不是單獨運行它們
3.一旦你對自己的最終模型充滿信心藏雏,就可以在測試集上來估計泛化誤差進(jìn)而衡量它的表現(xiàn)

在測量泛化誤差后不要調(diào)整模型:您只需要開始過擬合測試集(此處頗為不解)

7. 展示您的解決方案-Present Your Solution

1.記錄你所做的事情
2.創(chuàng)建一個漂亮的演示文稿

  • 確保首先突出顯示大圖

3.解釋為什么您的解決方案可以實現(xiàn)項目目標(biāo)
4.不要忘記提供沿途注意到的有趣點

  • 描述哪些有效巡语,哪些無效
  • 列出您的假設(shè)和系統(tǒng)的限制

5.確保通過精美的可視化或易于理解的表達(dá)來闡述您的關(guān)鍵點
(例如枯芬,“收入中位數(shù)是房價的第一預(yù)測因素“)

8. 運行,監(jiān)控和維護(hù)您的系統(tǒng)-Launch!

1.準(zhǔn)備好生產(chǎn)解決方案(插入生產(chǎn)數(shù)據(jù)輸入车摄,寫入單元測試等)
2.編寫監(jiān)控代碼粟誓,以定期檢查系統(tǒng)的實時性能奏寨,并在它下降時觸發(fā)警報。

  • 謹(jǐn)防緩慢退化:隨著數(shù)據(jù)的發(fā)展鹰服,模型往往會“腐爛”病瞳。
  • 測量性能可能需要人工管道(例如,通過眾包服務(wù))悲酷。
  • 同時需要監(jiān)控輸入的質(zhì)量(例如套菜,發(fā)送隨機值的故障傳感器,或其他團(tuán)隊的輸出變得陳舊)這對在線學(xué)習(xí)系統(tǒng)尤為重要

3.定期根據(jù)新數(shù)據(jù)重新訓(xùn)練模型(盡可能自動化)

參考

Hands-On Machine Learning with Scikit-Learn and Tensorflow

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末设易,一起剝皮案震驚了整個濱河市逗柴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌顿肺,老刑警劉巖戏溺,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件渣蜗,死亡現(xiàn)場離奇詭異,居然都是意外死亡旷祸,警方通過查閱死者的電腦和手機耕拷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來托享,“玉大人骚烧,你說我怎么就攤上這事∠臃停” “怎么了止潘?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長辫诅。 經(jīng)常有香客問我凭戴,道長,這世上最難降的妖魔是什么炕矮? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任么夫,我火速辦了婚禮,結(jié)果婚禮上肤视,老公的妹妹穿的比我還像新娘档痪。我一直安慰自己,他們只是感情好邢滑,可當(dāng)我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布腐螟。 她就那樣靜靜地躺著,像睡著了一般困后。 火紅的嫁衣襯著肌膚如雪乐纸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天摇予,我揣著相機與錄音汽绢,去河邊找鬼。 笑死侧戴,一個胖子當(dāng)著我的面吹牛宁昭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播酗宋,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼积仗,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了本缠?” 一聲冷哼從身側(cè)響起斥扛,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎丹锹,沒想到半個月后稀颁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡楣黍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年匾灶,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片租漂。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡阶女,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出哩治,到底是詐尸還是另有隱情秃踩,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布业筏,位于F島的核電站憔杨,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蒜胖。R本人自食惡果不足惜消别,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望台谢。 院中可真熱鬧寻狂,春花似錦、人聲如沸朋沮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽樊拓。三九已至纠亚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間骑脱,已是汗流浹背菜枷。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留叁丧,地道東北人啤誊。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像拥娄,于是被迫代替她去往敵國和親蚊锹。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容