为了找到最佳参数组合,这里使用sklearn中的`GridSearchCV`进行网格搜索和交叉验证:
网格搜索,搜索的是参数,即在指定的参数范围内,按步长依次调整参数,利用调整的参数训练学习器,从所有的参数中找到在验证集上精度最高的参数,这其实是一个训练和比较的过程。k折交叉验证将所有数据集分成k份,不重复地每次取其中一份做测试集,用其余k1份做训练集训练模型,之后计算该模型在测试集上的得分,将k次的得分取平均得到最后的得分。 GridSearchCV可以保证在指定的参数范围内找到精度最高的参数,但是这也是网格搜索的缺陷所在,他要求遍历所有可能参数的组合,在面对大数据集和多参数的情况下,非常耗时。
GridSearchCV,它存在的意义就是自动调参,只要把参数输进去,就能给出最优化结果和参数。它确保了我们可以全面地探索所有可能性,找到最优化的模型配置,进而提高模型的预测性能。