博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python机器学习-sklearn挖掘乳腺癌细胞(四)
阅读量:5085 次
发布时间:2019-06-13

本文共 1305 字,大约阅读时间需要 4 分钟。

网易云观看地址

 

模型调参

调参是一门黑箱技术,需要经验丰富的机器学习工程师才能做到。幸运的是sklearn有调参的包,入门级学者也可尝试调参。

如果参数不多,可以手动写函数调参,如果参数太多可以用GridSearchCV调参,如果参数多的占用时间太长,可以用randomSizeCV调参,节约调参时间

 

GridSearchCV

如果参数太多可以用GridSearchCV调参

(1)单参数调参

 

(2)多参数调参

因为有n_neighbors和weights两个参数,因此诞生了60个结果

因为有两个参数,所以得到最佳模型:weight=distance,n_neighbor=12

 

 RandomSizeSearchCV

randomSizeCV调参类似于GridSearchCV的抽样

如果参数多的占用时间太长,可以用randomSizeCV调参,节约调参时间。

randomSizeCV调参准确率会略低于GridSearchCV,但可以节约大量时间。

randomSizeCV调参代码

# -*- coding: utf-8 -*-"""Created on Sat Jun 16 19:54:25 2018 @author: 231469242@qq.com"""from sklearn.grid_search import RandomizedSearchCVimport matplotlib.pyplot as plt#交叉验证from sklearn.cross_validation import cross_val_scorefrom sklearn.datasets import load_breast_cancerfrom sklearn.neighbors import KNeighborsClassifier #导入数据cancer=load_breast_cancer()x=cancer.datay=cancer.target #调参knn的邻近指数nk_range=list(range(1,31))weight_options=['uniform','distance']param_dist=dict(n_neighbors=k_range,weights=weight_options) knn=KNeighborsClassifier()#n_iter为随机生成个数rand=RandomizedSearchCV(knn,param_dist,cv=10,scoring='accuracy',                        n_iter=10,random_state=5) rand.fit(x,y)rand.grid_scores_print('best score:',rand.best_score_)print('best params:',rand.best_params_)

  

 

扫二维码,关注博主主页,学习更多Python知识

转载于:https://www.cnblogs.com/webRobot/p/9743553.html

你可能感兴趣的文章
[转载]INFORMIX锁机制及如何剖析其锁申辩(第二部门)
查看>>
Andriod-项目stymqjlb-学习笔记2-原型
查看>>
Web AppDomain
查看>>
JQuery创建规范插件
查看>>
AD 域服务简介(三)- Java 对 AD 域用户的增删改查操作
查看>>
Unity中Text渐变色,和Text间距
查看>>
Concurrency Kit 0.2.13 发布,并发工具包
查看>>
SQL Relay 0.50 发布,数据库负载均衡器
查看>>
Infinispan 5.3.0.Alpha1 发布
查看>>
设计模式学习笔记——原型模式(Prototype)
查看>>
算法普林斯顿
查看>>
Struts2之类范围拦截器和方法拦截器
查看>>
模型层(练习)
查看>>
XML解析技术研究(一)
查看>>
Qt 学习之路 :使用 QJson 处理 JSON
查看>>
NPOI操作Excel导入导出
查看>>
angularJS 移动端焦点图
查看>>
jvm 这我就能会了 擦
查看>>
实战技能:小小微信支付业务,何必虚惊一场
查看>>
17-1 djanjo进阶-路由,视图,模板
查看>>