我想调整“ SVR()”回归函数的参数。它开始处理但没有停止,我无法解决问题。我正在使用SVM回归函数SVR()预测参数。使用Python中的默认值,结果效果不好。因此,我想尝试使用“ GridSearchCv”对其进行调整。最后一部分“ grids.fit(Xtrain,ytrain)”开始运行,没有给出任何错误,并且不会停止。 SVR() tunning using GridSearch 代码:
从sklearn.model_selection导入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)
它将继续处理而不会停止。
答案 0 :(得分:3)
是的,您是正确的。当我尝试为SVR()运行GridsearchCV时,我遇到了相同的情况。可能的原因是:1)处理器的内存(RAM)必须更少; 2)训练数据的样本量更大,由于处理器的内存较低,因此有相同的机会消耗更多的时间来运行Gridsearch,因此作业运行没有任何错误时间会更多。
为您提供的信息:我已经使用16GB RAM内存空间运行Gridsearch,火车样本大小为30K,它运行了210分钟才能完成运行。因此,在这里必须有耐心。
分析愉快!
答案 1 :(得分:1)
也许您应该在GridSearch中再添加两个选项(n_jobs
和verbose
):
grid_search = GridSearchCV(estimator = svr_gs, param_grid = param,
cv = 3, n_jobs = -1, verbose = 2)
verbose
意味着您会看到有关过程进度的一些输出。
n_jobs
是已使用内核的数字(-1表示您拥有的所有内核/线程)