sklearn 之網格搜索


通過網格搜索得到 使模型效果最好的一組參數。

kNN網格搜索

param_grid =[
    #knn通過距離權重計算
    {'weights':['uniform'],
    #k的取值 取1到11
     'n_neighbors':[i for i in range(1,11)]
    },{
    	#通過樣本點個數
        'weights':['distance'],
        #k的取值 取1到11
        'n_neighbors':[i for i in range(1,11)],
		#明可夫斯基距離調參
        'p':[i for i in range(1,6)]
    }
]
knn_clf =KNeighborsClassifier()

定義一個knn分類器

from sklearn.model_selection import GridSearchCV
#初始化網格搜索器 傳入knn分類器 網格搜索參數
grid_search = GridSearchCV(knn_clf,param_grid)
#訓練網格搜索器
grid_search.fit(X_data,y_data)

在這里插入圖片描述

#返回一個 效果最好的分類器
knn_clf = grid_search.best_params_
#正確率最高的成績
grid_search.best_score_
#最好的參數
grid_search.best_params_

在這里插入圖片描述

grid_search = GridSearchCV(knn_clf,param_grid,n_jobs=1,verbose=2)

n_jobs cpu個數 verbos 訓練時顯示的參數信息


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM