请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于网格搜索和超参数, 运行以后, 有2个问题?

请教bobo老师, 为什么使用sklearn里面的gridSearch, 设置参数如下图:

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

跑出来的结果是:
estimator=KNeighborsClassifier(algorithm=‘auto’, leaf_size=30, metric=‘minkowski’,
metric_params=None, n_jobs=None, n_neighbors=5, p=2,
weights=‘uniform’),

但是, grid_search.best_params_ 跑出来的结果确是:
{‘n_neighbors’: 3, ‘p’: 3, ‘weights’: ‘distance’}
图片描述

问题1. 为啥结果不一致?
问题2. 为什么verbose 怎么设置, 运行中打印的log还是什么少. 如下:

Fitting 3 folds for each of 60 candidates, totalling 180 fits
[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.
[Parallel(n_jobs=-1)]: Done  17 tasks      | elapsed:    8.0s
[Parallel(n_jobs=-1)]: Done  90 tasks      | elapsed:  1.3min
CPU times: user 1.43 s, sys: 1.29 s, total: 2.72 s
Wall time: 3min 43s
[Parallel(n_jobs=-1)]: Done 180 out of 180 | elapsed:  3.7min finished

正在回答

1回答

问题 1:

参考这里:http://coding.imooc.com/learn/questiondetail/156266.html

fit 后展示的参数不是训练结果的参数。在你的截图中,要看训练出的 best_estimator_ 的参数。请看下面截图我标蓝的地方。

https://img1.sycdn.imooc.com//szimg/5fa49b26094debf011710733.jpg


问题2

我测试了一下,最新版本的 sklearn 的 GridSearchCV 的 verbose 打印出来的信息就是这么少了。


继续加油!:)

1 回复 有任何疑惑可以回复我~
  • 提问者 Ivan8612668 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-11-14 15:35:31
  • 提问者 Ivan8612668 #2
    bobo老师, 我再想问一下。 我上面红色框出来的内容,里面的参数的数值表示的是什么内容?最大值吗?还是范围, 还是默认值?
    回复 有任何疑惑可以回复我~ 2020-11-14 15:37:58
  • liuyubobobo 回复 提问者 Ivan8612668 #3
    是默认值。
    回复 有任何疑惑可以回复我~ 2020-12-01 14:56:03
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信