Tim*_*imY 1 python regression machine-learning scikit-learn
我sklearn.svr在RBF内核上使用了一个包含20多个变量的80k大小的数据集.我想知道如何选择终止参数tol.我问,因为对于C和γ的某些组合(我放弃前2天),回归似乎并不收敛.有趣的是,对于某些组合,它在不到10分钟后收敛,平均运行时间约为一小时.
设置此参数是否有某种经验法则?也许与预测的标准差或预期值有关系?
迈克的答案是正确的:网格搜索参数的子采样可能是训练SVR中等数据集大小的最佳策略.SVR不可扩展,因此不要浪费时间在完整数据集上进行网格搜索.尝试1000个随机子样本,然后是2000个然后是4000个.每次找到C和gamma的最佳值,并尝试猜测它们在数据集大小加倍时如何进化.
您还可以使用Nystroem内核逼近和线性回归模型(如SGDRegressor,LinearRegression,LassoCV或ElasticNetCV)来逼近真正的SVR解决方案.RidgeCV很可能不会改进该n_samples >> n_features政权中的LinearRegression .
最后,不要忘记通过在模型中放置一个MinMaxScaler或一个模型来扩展输入数据.StandardScalerSVRPipeline
我也会尝试GradientBoostingRegressor模型(尽管与SVR完全无关).
| 归档时间: |
|
| 查看次数: |
3756 次 |
| 最近记录: |