预测模型项目模板
機器學(xué)習時針對數(shù)據(jù)進行自動挖掘,找出數(shù)據(jù)的內(nèi)在規(guī)律,并應(yīng)用這個規(guī)律來預(yù)測新的數(shù)據(jù)。
分類或回歸模型的機器學(xué)習項目可以分為以下六個步驟:
(1)定義問題
(2)理解數(shù)據(jù)
(3)數(shù)據(jù)準備
(4)評估算法
(5)優(yōu)化模型
(6)結(jié)果部署
機器學(xué)習項目的Python模板
#Python機器學(xué)習項目的模板#1.定義問題 #a)導(dǎo)入類庫 #b)導(dǎo)入數(shù)據(jù)集#2.理解數(shù)據(jù) #a)描述性統(tǒng)計 #b)數(shù)據(jù)可視化#3.數(shù)據(jù)準備 #a)數(shù)據(jù)清洗 #b)特征選擇 #c)數(shù)據(jù)轉(zhuǎn)換#4.評估算法 #a)分離數(shù)據(jù)集 #b)定義模型評估標準 #c)算法審查 #d)算法比較#5.優(yōu)化模型 #a)算法調(diào)參 #b)集成算法#6.結(jié)果部署 #a)預(yù)測評估數(shù)據(jù)集 #b)利用整個數(shù)據(jù)集生成模型 #c)序列化模型當有新的機器學(xué)習項目時,新建一個Python文件,并將這個模板粘貼進去,再按照前面章節(jié)介紹的方法將其填充到每一個步驟中。
各步驟的詳細說明
步驟1:定義問題
主要是導(dǎo)入在機器學(xué)習項目中所需要的類庫和數(shù)據(jù)集等,以便完成機器學(xué)習的項目,包括導(dǎo)入Python的類庫,類和方法,以及導(dǎo)入數(shù)據(jù)。同時這也是所有的配置參數(shù)的配置模塊。當數(shù)據(jù)集過大時,可以在這里對數(shù)據(jù)集進行瘦身處理,理想狀態(tài)時可以在1分鐘內(nèi),甚至時30秒內(nèi)完成模型的建立或可視化數(shù)據(jù)集。
步驟2:理解數(shù)據(jù)
這是加強對數(shù)據(jù)理解的步驟,包括通過描述性統(tǒng)計來分析數(shù)據(jù)和通過可視化來觀察數(shù)據(jù)。在這一步需要花費時間多問幾個問題,設(shè)定假設(shè)條件并調(diào)查分析一下,這對模型的建立會有很大的幫助。
步驟3:數(shù)據(jù)準備
數(shù)據(jù)準備主要是預(yù)處理數(shù)據(jù),以便讓數(shù)據(jù)可以更好地展示問題,以及熟悉輸入與輸出結(jié)果的關(guān)系。包括:
a.通過刪除重復(fù)數(shù)據(jù),標記錯誤數(shù)值,甚至標記錯誤的輸入數(shù)據(jù)來清洗數(shù)據(jù)
b.特征選擇,包括移除多余的特征屬性和增加新的特征屬性
c.數(shù)據(jù)轉(zhuǎn)化,對數(shù)據(jù)尺度進行調(diào)整,或者調(diào)整數(shù)據(jù)的分布,以便更好地展示問題
要不斷地重復(fù)這個步驟和下一個步驟,知道找到足夠準確的算法生成模型。
步驟4.評估算法
評估算法主要時為了尋找最佳的算法子集,包括:
a.分離出評估數(shù)據(jù)集,以便于驗證模型
b.定義模型評估標準,用來評估算法模型
c.抽樣審查線性算法和非線性算法
d.比較算法的準確度
在面對一個機器學(xué)習的問題時,需要花費大量的時間在評估算法和準備數(shù)據(jù)上,直到找到3~5種準確度足夠的算法為止。
步驟5:優(yōu)化模型
當?shù)玫揭粋€準確度足夠的算法列表后,要從中找到最合適的算法,通常由兩種方法可以提高算法的準確度:
a.對每一種算法進行調(diào)參,得到最佳結(jié)果
b.使用集成算法來提高算法模型的準確度
步驟6:結(jié)果部署
一旦認為模型的準確度足夠高,就可以將這個模型序列化,以便有新數(shù)據(jù)時使用該模型來預(yù)測數(shù)據(jù)。
a.通過驗證數(shù)據(jù)集來驗證被優(yōu)化過的模型
b.通過整個數(shù)據(jù)集來生成模型
c.將模型序列化,以便于預(yù)測新數(shù)據(jù)
使用模板的小技巧
快速執(zhí)行一遍:首先要快速地在項目中將模板中的每一個步驟執(zhí)行一遍,這樣會加強對項目每一部分的理解并給如何改進帶來靈感。
循環(huán):整個流程不是線性的,而是循環(huán)進行的,要花費大量的時間來重復(fù)各個步驟,尤其是步驟3~5,直到找到一個準確度足夠的模型,或者達到預(yù)定的周期
嘗試每一個步驟:跳過某個步驟很簡單,尤其是不熟悉不擅長的步驟。堅持在這個模板的每一個步驟中做些工作,即使這些工作不能提高算法的準確度,但也許在后面的操作就可以改進并提高算法的準確度。即使覺得這個步驟不適用,也不要跳過這個步驟,而是減少該步驟所做的貢獻。
定向準確度:機器學(xué)習項目的目標是得到一個準確度足夠高的模型。每一個步驟都要為實現(xiàn)這個目標做出貢獻。要確保每次改變都會給結(jié)果帶來正向的影響,或者對他們的步驟帶來正向的影響。在整個項目的每個步驟中,準確度只能向變好的方向移動。
按需使用:可以按照項目的需要來修改步驟,尤其是對模板中的每個步驟都非常熟悉之后。需要把握的原則是,每一次改進都以提高算法模型的準確度為前提。
總結(jié)
- 上一篇: python杀死了excel_Pytho
- 下一篇: 上传本地项目到gitee_用git上传本