KNN演算法網格搜尋最優引數

2022-05-09 03:33:09 字數 1044 閱讀 4201

主要用到 sklearn.model_selection包下的gridsearchcv類。

總共分為幾步:

a.建立訓練集和測試集

b.建立最優引數字典

c.構建gridsearchcv物件

d.進行資料訓練

e.得出最優超引數

a.建立訓練集和測試集

import numpy as np

from sklearn.neighbors import kneighborsclassifier

from sklearn import datasets

from sklearn.model_selection import train_test_split

from sklearn.model_selection import gridsearchcv

digits = datasets.load_digits()

x = digits.data

y = digits.target

x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.2,random_state=666)

b.建立最優引數字典

param_digits =[

,]

c.構建gridsearchcv物件

knn_grid = kneighborsclassifier()

grid_search = gridsearchcv(knn_grid,param_digits,n_jobs=-1,verbose=2)#n_job指的是所用的核數,也就是多執行緒執行,當等於-1時,也就是等於你的計算機的核數,verbose越大,列印的資訊越詳細

d.進行資料訓練

grid_search.fit(x_train,y_train)

e.得出最優超引數 

param = grid_search.best_params_

print(param)

引數網格搜尋

gridsearchcv,它存在的意義就是自動調參,只要把引數輸進去,就能給出最優化的結果和引數。但是這個方法適合於小資料集,一旦資料的量級上去了,很難得出結果。這個時候就是需要動腦筋了。資料量比較大的時候可以使用乙個快速調優的方法 座標下降。它其實是一種貪心演算法 拿當前對模型影響最大的引數調優,...

網格搜尋GridSearchCV引數詳細解析

一網格搜尋 尋求引數最優的一種方法 使用 from sklearn.model selection import gridsearchcv classsklearn.model selection.gridsearchcv estimator param grid scoring none fit ...

轉 網格搜尋GridSearchCV引數詳細解析

一網格搜尋 尋求引數最優的一種方法 首先為想要調參的引數設定一組候選值,然後網格搜尋會窮舉各種引數組合,根據設定的評分機制找到最好的那一組設定。使用 from sklearn.model selection import gridsearchcv class sklearn.model select...