使用 GridSearchCv 优化 SVR() 参数
Optimizing SVR() parameters using GridSearchCv
我想调整 "SVR()" 回归函数的参数。它开始处理并且不会停止,我无法找出问题所在。我正在使用 SVM 回归函数 SVR() 预测参数。使用 Python.so 中的默认值效果不好 我想尝试使用 "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)
它继续处理而不停止。
是的,你是对的。当我尝试 运行 GridsearchCV for SVR() 时,我遇到了同样的情况。可能的原因是,1) 你的处理器内存 (RAM) 必须更少,2) 训练数据样本量更大,由于你的处理器内存不足,因此有可能在 运行 Gridsearch 上花费更多时间,所以没有任何错误作业 运行宁时间会更多。
供您参考:我有 运行 Gridsearch,训练样本大小为 30K,使用 16GB RAM 内存 space,完成 运行 用了 210 分钟。所以,在这里耐心是必须的。
快乐分析!!
也许您应该在 GridSearch 中再添加两个选项(n_jobs
和 verbose
):
grid_search = GridSearchCV(estimator = svr_gs, param_grid = param,
cv = 3, n_jobs = -1, verbose = 2)
verbose
表示您会看到一些关于进程进度的输出。
n_jobs
是已用内核的数量(-1 表示所有 cores/threads 您可用)
我想调整 "SVR()" 回归函数的参数。它开始处理并且不会停止,我无法找出问题所在。我正在使用 SVM 回归函数 SVR() 预测参数。使用 Python.so 中的默认值效果不好 我想尝试使用 "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)
它继续处理而不停止。
是的,你是对的。当我尝试 运行 GridsearchCV for SVR() 时,我遇到了同样的情况。可能的原因是,1) 你的处理器内存 (RAM) 必须更少,2) 训练数据样本量更大,由于你的处理器内存不足,因此有可能在 运行 Gridsearch 上花费更多时间,所以没有任何错误作业 运行宁时间会更多。
供您参考:我有 运行 Gridsearch,训练样本大小为 30K,使用 16GB RAM 内存 space,完成 运行 用了 210 分钟。所以,在这里耐心是必须的。
快乐分析!!
也许您应该在 GridSearch 中再添加两个选项(n_jobs
和 verbose
):
grid_search = GridSearchCV(estimator = svr_gs, param_grid = param,
cv = 3, n_jobs = -1, verbose = 2)
verbose
表示您会看到一些关于进程进度的输出。
n_jobs
是已用内核的数量(-1 表示所有 cores/threads 您可用)