采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
请问一下,我在分割原始数据的时候采用不同的随机数种子random_state 最后网格搜索得到的最优参数weights、n_neighbors、p也不一样,那针对我的这组原始数据,到底使用哪一个网格搜索的结果生产的模型来预测?
首先,标准的做法应该使用交叉验证。实际上,我们调用 sklearn 的网格搜索方式 GridSearchCV,就已经使用了交叉验证的方式。GridSearchCV 中的 CV,就是 Cross Valdate,即交叉验证的意思。交叉验证将让搜索结果更稳定,关于交叉验证的原理,在这个课程后续会介绍。
另一方面,如果网格搜索的结果极度不稳定,真正的解决方案是增大数据量(当然也要保证质量)。搜索结果不稳定,说明当前的数据不足以让算法找到一个稳定可靠的模型来解释问题。遇到这种情况,解决问题的关键不在算法本身,而在数据上。毕竟,机器学习的基础,是数据。
这个课程的内容,是在假定数据已经有了的基础上,介绍机器学习算法的原理。但是在实际运用机器学习的过程中,很多时候,瓶颈是数据,而非算法。可以再回忆一下免费的午餐定理。这也是为什么,数据是值钱的。数据的作用,比大多数人想象的,要重要得多。
继续加油!:)
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
2.5k 19
3.5k 17
2.9k 15
1.6k 15
1.4k 14