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