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