对模型超参数进行调优
1.参数与超参数
参数:最小二乘法或者梯度下降法等最优化算法优化出来的数。
超参数:无法用最小二乘法或者梯度下降法等最优化算法优化出来的数。
简单来说,模型参数就是模型内部的配置变量,可以用数据估计它的值。
模型参数一般具有以下特征:
-
进行预测时需要参数。
-
它参数定义了可使用的模型。
-
参数是从数据估计或获悉的。
-
参数通常不由编程者手动设置。
-
参数通常被保存为学习模型的一部分。
-
参数是机器学习算法的关键,它们通常由过去的训练数据中总结得出 。
模型超参数是模型外部的配置,其值无法从数据中估计。
模型超参数特征:
-
超参数通常用于帮助估计模型参数。
-
超参数通常由人工指定。
-
超参数通常可以使用启发式设置。
-
超参数经常被调整为给定的预测建模问题。
2.调参
调参
简单来说就是取不同的超参数的值对于模型的性能有不同的影响。
先对未调参的SVR进行评价:
from sklearn.svm import SVR # 引入SVR类
from sklearn.pipeline import make_pipeline # 引入管道简化学习流程
from sklearn.preprocessing import StandardScaler # 由于SVR基于距离计算,引入对数据进行标准化的类
from sklearn.model_selection import GridSearchCV # 引入网格搜索调优
from sklearn.model_selection import cross_val_score # 引入K折交叉验证
from sklearn import datasets
boston = datasets.load_boston() # 返回一个类似于字典的类
X = boston.data
y = boston.target
features = boston.feature_names
pipe_SVR = make_pipeline(StandardScaler(),
SVR(