超参数和模型参数
简单来说就是在算法运行前需要决定的参数,比如KNN的k,也就是sklearn中封装好的KNN分类器(KNeighborsClassifier)中的n_neighbors。
顺便一提,与之相不同的模型参数指的是算法运行过程中学习的参数,还拿KNN举例,KNN没有模型参数。
KNN中第二个超参数是weights,默认是uniform,设置为distance就打开了距离权重,还有好多超参数,比如明可夫斯基距离的超参数p默认为2,见本文档 K近邻算法 (更多超参数可以看scikit-learn官方文档或者百度别人的博客)
如何寻找最好的超参数
- 在不同领域面对不同问题,最好的超参数是不一样的,可以利用该领域的知识推测得到超参数
- 经验数值,基于对很多组数据训练后得出的统计经验上比较好的值,比如sklearn算法中默认的数值
- 实验搜索,比如网格调参
自己实现寻找超参数案例
## 简单来说就是写一个循环去一个一个试,
## 具体的实现在下面的sklearn寻找超参数案例有写
sklearn寻找超参数案例
网格搜索