不同随机种子得到不同网格搜索结果的问题

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

NTeam6

2020-01-04

请问一下,我在分割原始数据的时候采用不同的随机数种子random_state
最后网格搜索得到的最优参数weights、n_neighbors、p也不一样,那针对我的这组原始数据,到底使用哪一个网格搜索的结果生产的模型来预测?

写回答

1回答

liuyubobobo

2020-01-05

首先,标准的做法应该使用交叉验证。实际上,我们调用 sklearn 的网格搜索方式 GridSearchCV,就已经使用了交叉验证的方式。GridSearchCV 中的 CV,就是 Cross Valdate,即交叉验证的意思。交叉验证将让搜索结果更稳定,关于交叉验证的原理,在这个课程后续会介绍。


另一方面,如果网格搜索的结果极度不稳定,真正的解决方案是增大数据量(当然也要保证质量)。搜索结果不稳定,说明当前的数据不足以让算法找到一个稳定可靠的模型来解释问题。遇到这种情况,解决问题的关键不在算法本身,而在数据上。毕竟,机器学习的基础,是数据。


这个课程的内容,是在假定数据已经有了的基础上,介绍机器学习算法的原理。但是在实际运用机器学习的过程中,很多时候,瓶颈是数据,而非算法。可以再回忆一下免费的午餐定理。这也是为什么,数据是值钱的。数据的作用,比大多数人想象的,要重要得多。


继续加油!:)

1
0

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

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

5839 学习 · 2437 问题

查看课程