我們首先比較一下sklearn的機(jī)器學(xué)習(xí)大致使用流程和Keras的大致使用流程:
sklearn的機(jī)器學(xué)習(xí)使用流程:
fromsklearn.模型簇import模型名
fromsklearn.metricsimport評價指標(biāo)
'''數(shù)據(jù)預(yù)處理及訓(xùn)練測試集分離提取'''
myModel=模型名稱()#對象初始化
myModel.fit(訓(xùn)練集x,訓(xùn)練集y)#模型訓(xùn)練
y預(yù)測集=myModel.predict(開發(fā)集x)#模型預(yù)測
評價指標(biāo)=評價指標(biāo)(y預(yù)測集,y測試集)#模型效果評估
Keras的機(jī)器學(xué)習(xí)使用流程:
importkeras
...根據(jù)具體需求引入keras的包...
...keras模型搭建...
...keras模型編譯(可選擇模型指標(biāo))...
kerasModel.fit(訓(xùn)練集x,訓(xùn)練集y)#keras模型訓(xùn)練
y預(yù)測集=myModel.predict(開發(fā)集x)#keras模型預(yù)測
兩者的區(qū)別
由上面?zhèn)未a可知Keras和sklearn最大不同在于需要進(jìn)行模型搭建,可是既然有了這么多模型為什么還要模型搭建?
如果你了解過神經(jīng)網(wǎng)絡(luò)感知機(jī)就會比較理解這個過程,一個感知器相當(dāng)于一個神經(jīng)元,可根據(jù)輸入信息反饋出需要的電信號,根據(jù)我們的世界觀,一個細(xì)胞可以單獨(dú)執(zhí)行很多功能但是大量單純的任務(wù)會讓細(xì)胞只針對一個方向發(fā)展。用生物學(xué)的說話就是分化能力逐漸減弱,機(jī)器學(xué)習(xí)說法就是過擬合。因此,只有大量細(xì)胞通過不同的組合才能完成紛繁復(fù)雜的預(yù)測任務(wù),因而有證明說神經(jīng)網(wǎng)絡(luò)理論上可擬合出任何曲線。
那么話說回來,Keras需要自行搭建模型,搭建方法有兩種:序貫?zāi)P秃秃瘮?shù)式模型。而我本次的筆記就是學(xué)習(xí)序貫?zāi)P秃秃瘮?shù)式模型。
以上內(nèi)容為大家介紹了python中sklearn和Keras機(jī)器學(xué)習(xí)的流程的區(qū)別,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。