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