Grid_search (RandomizedSearchCV)在SVM (SVC)下非常慢



我正在测试支持向量机的超参数,然而,当我诉诸Gridsearch或RandomizedSearchCV时,我无法得到解决,因为处理时间超过了几个小时。

我的数据集相对较小:4303行和67个属性,有四个类(分类问题)

下面是测试的参数:

params =[{'C': [0.1,1, 10, 100], 
'kernel': ['poly','sigmoid','linear','rbf'],
'gamma': [1,0.1,0.01,0.001]}
]
sv = SVC()
clf = RandomizedSearchCV(estimator=sv,
cv = 3, 
param_distributions=params,
scoring='accuracy', 
n_jobs = -1,
verbose=1)
clf.fit(X, y)
print("Best parameters:", clf.best_params_)
print("better accuracy: ", (clf.best_score_)**(1/2.0))

我已经减少了参数的数量和cvs的数量,但是我仍然不能得到一个不需要几个小时处理的结果。

是否有可能优化这一过程?我是否在网格搜索或支持向量机方面犯了错误?

一些SVM核可以长时间适合大量的特征。我想你可以尝试删除一些内核或减少特征的数量

您可以使用其他超调优方法,如gridsearchCV或减少您设置的参数数量

最新更新