Python 3.x 使用GridSearchCv优化SVR()参数

Python 3.x 使用GridSearchCv优化SVR()参数,python-3.x,svm,Python 3.x,Svm,我想调整“SVR()”回归函数的参数。它开始处理,并没有停止,我无法找出问题。我正在使用SVM回归函数SVR()预测一个参数。使用Python中的默认值,结果不太好,因此我想尝试使用“GridSearchCv”对其进行调整。最后一部分“grids.fit(Xtrain,ytrain)”开始运行,没有给出任何错误,也没有停止。 代码: 从sklearn.model_选择导入GridSearchCV param = {'kernel' : ('linear', 'poly', 'rbf', 'sig

我想调整“SVR()”回归函数的参数。它开始处理,并没有停止,我无法找出问题。我正在使用SVM回归函数SVR()预测一个参数。使用Python中的默认值,结果不太好,因此我想尝试使用“GridSearchCv”对其进行调整。最后一部分“grids.fit(Xtrain,ytrain)”开始运行,没有给出任何错误,也没有停止。 代码:

从sklearn.model_选择导入GridSearchCV

param = {'kernel' : ('linear', 'poly', 'rbf', 'sigmoid'),'C' : [1,5,10],'degree' : [3,8],'coef0' : [0.01,10,0.5],'gamma' : ('auto','scale')},

modelsvr = SVR(),

grids = GridSearchCV(modelsvr,param,cv=5)

grids.fit(Xtrain,ytrain)

它不停地继续处理。

是的,你说得对。我在尝试为SVR()运行GridsearchCV时遇到了相同的情况。可能的原因是,1)处理器内存(RAM)必须较少,2)列车数据样本量较大,由于处理器内存较低,因此运行Gridsearch花费更多时间的可能性相等,因此在没有任何错误的情况下,作业运行时间将更长

仅供参考:我已经使用16GB内存空间运行了Gridsearch,列车样本大小为30K,完成运行需要210分钟。所以,耐心是必须的


快乐分析

也许您应该在GridSearch中再添加两个选项(
n_jobs
verbose
):

verbose
表示您可以看到有关流程进度的一些输出

n_作业
是已用内核的数量(-1表示所有可用的内核/线程)

grid_search = GridSearchCV(estimator = svr_gs, param_grid = param, 
                      cv = 3, n_jobs = -1, verbose = 2)