更新時(shí)間:2021-10-29 來源:黑馬程序員 瀏覽量:
什么是交叉驗(yàn)證?
交叉驗(yàn)證就是將拿到的訓(xùn)練數(shù)據(jù),分為訓(xùn)練和驗(yàn)證集。以下圖為例:將數(shù)據(jù)分成4份,其中一份作為驗(yàn)證集。然后經(jīng)過4次(組)的測試,每次都更換不同的驗(yàn)證集。即得到4組模型的結(jié)果,取平均值作為最終結(jié)果。又稱4折交叉驗(yàn)證。
我們之前知道數(shù)據(jù)分為訓(xùn)練集和測試集,但是為了讓從訓(xùn)練得到模型結(jié)果更加準(zhǔn)確。做以下處理
1.訓(xùn)練集:訓(xùn)練集+驗(yàn)證集
2.測試集:測試集
什么是網(wǎng)格搜索(Grid Search)?
通常情況下,有很多參數(shù)是需要手動(dòng)指定的(如k-近鄰算法中的K值),這種叫超參數(shù)。但是手動(dòng)過程繁雜,所以需要對模型預(yù)設(shè)幾種超參數(shù)組合。每組超參數(shù)都采用交叉驗(yàn)證來進(jìn)行評估。最后選出最優(yōu)參數(shù)組合建立模型。
交叉驗(yàn)證,網(wǎng)格搜索(模型選擇與調(diào)優(yōu))API:
sklearn.model_selection.GridSearchCV(estimator, param_grid=None,cv=None)
1.對估計(jì)器的指定參數(shù)值進(jìn)行詳盡搜索
2.estimator:估計(jì)器對象
3.param_grid:估計(jì)器參數(shù)(dict){“n_neighbors”:[1,3,5]}
4.cv:指定幾折交叉驗(yàn)證
5.fit:輸入訓(xùn)練數(shù)據(jù)
6.score:準(zhǔn)確率
結(jié)果分析:
1.bestscore__:在交叉驗(yàn)證中驗(yàn)證的最好結(jié)果
2.bestestimator:最好的參數(shù)模型
3.cvresults:每次交叉驗(yàn)證后的驗(yàn)證集準(zhǔn)確率結(jié)果和訓(xùn)練集準(zhǔn)確率結(jié)