Gridsearch 的问题

来源:4-6 网格搜索与k近邻算法中更多超参数

慕田峪210210

2018-05-26

老师,你好,gridsearch中还没predict() 就能通过gridsearch.best_score_ 知道准确度,都没看到哪步传了新的样本,没传新样本怎么计算距离,怎么知道准确度呢? 

http://img.mukewang.com/szimg/5b09012500010a0511930634.jpg

写回答

3回答

liuyubobobo

2018-05-26

非常好的问题。


grid_search做的事情是,针对同一组训练数据,使用同一个算法,针对不同的超参数组合,看哪组超参数组合的效果更好。这里为了评判哪组超参数组合的效果更好,对于每一组超参数组合,针对训练数据集,就会得到一个分数。grid_search.best_score_ 就是指这个分数。


具体获得这个分数的方法,我们在这里还没有讲,叫做“交叉验证”,相应的英文是Cross Validation,也就是我们的grid_search对象所对应的类:GridSearchCV中,CV的意思。


在这个课程的第八章,我们将仔细学习什么是交叉验证。届时,回头看这个问题,你应该就能理解grid_search内部究竟运行了怎样的逻辑,这个grid_search.best_score_ 是怎样计算出来的了。在这里,我们先知道,grid_search通过一种算法(交叉验证),帮助我们找到了对于不同的超参数组合,最优的那个超参数组合,就好了:)

0
0

慕田峪210210

提问者

2018-05-26

额、原来是交叉验证内部的逻辑,我学完回头再看看,谢谢老师!

0
0

DoNGDonG4

2018-05-26

grid_search 是使用的训练数据来拟合,然后找出精确度最高的那个分类器,grid_search.fit(X_train,y_train)这里使用了训练样本,从这个样本出发,创建出60个分类器,从其中选出精确度最高的那个,然后在用最好的那个去预测测试数据。

0
2
liuyubobobo
回复
慕田峪210210
使用交叉验证,而非分割训练,测试数据集的方式获得的准确度,具体可以参考第八章:)加油!
2019-03-04
共2条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5839 学习 · 2437 问题

查看课程