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 训练时显示的参数信息

posted @ 2019-12-15 14:24  caomaoboy  阅读(2456)  评论(0)    收藏  举报