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