2.9 線性迴歸演算法學習——kNN模型解決迴歸問題及網格搜尋最優引數
阿新 • • 發佈:2019-01-01
模型引入
from sklearn.neighbors import KNeighborsRegressor
例項化物件
knn_reg=KNeighborsRegressor()
訓練資料集
knn_reg.fit(X_train,y_train)
檢視評估的成績
knn_reg.score(X_test,y_test)
執行結果
網格搜尋引數:
from sklearn.model_selection import GridSearchCV param_grid=[ { 'weights':['uniform'], 'n_neighbors':[i for i in range(1,11)] }, { 'weights':['distance'], 'n_neighbors':[i for i in range(1,11)], 'p':[i for i in range(1,6)] } ] knn_reg2=KNeighborsRegressor() grid_search=GridSearchCV(knn_reg2,param_grid,n_jobs=-1,verbose=1) grid_search.fit(X_train,y_train)
執行結果
注意:網格搜尋中採用的交叉驗證法與留出法的評估方法不同,第二個成績才是採用留出法的結果,但是他們的score計算方法又不同,所以不能武斷的說這種比另一種演算法好,因為不在一個維度上。