12.6 使用针对特定算法的方法加速模型选择
问题描述
要加快模型选择的过程。
解决方案
如果你使用的是特定的学习算法,可以通过scikit-learn的模型特有的交叉验证超参数调优功能来加速模型选择。例如,使用LogisticRegressionCV:
讨论
有时,利用学习算法的特性能够比暴力搜索或随机模型搜索更快地找到最佳超参数。在scikit-learn中,许多学习算法(如岭回归、套索回归和弹性网络回归)都有特定的交叉验证方法来利用其自身的优势寻找最佳超参数。例如,LogisticRegression用于执行标准逻辑回归分类器,而LogisticRegressionCV则实现了一个高效的交叉验证逻辑回归分类器,能够识别超参数C的最佳值。
scikit-learn的LogisticRegressionCV方法包含一个Cs参数。如果Cs为一个列表,就可以从Cs中选择候选超参数。如果Cs为一个整数,就会生成一个含有对应数量候选值的列表。这些候选值按照对数值间隔相等的方式,在0.0001到10,000之间(C的合理取值范围)抽取。
但是,LogisticRegressionCV有一个缺点,它只能搜索C的取值区间。在12.1节中,超参数空间包括C和另一个超参数(正则化惩罚)。对于scikit-learn中许多模型特有的交叉验证方法而言,这种限制是很常见的。
延伸阅读
● scikit-learn文档:LogisticRegressionCV(http://bit.ly/2GPJvjY)
● scikit-learn文档:模型特有的交叉验证(http://bit.ly/2F0TQsL)
本书评论