python-3.x 使用SVM(SVC)时网格搜索(随机搜索CV)速度极慢

ui7jx7zq  于 2022-12-15  发布在  Python
关注(0)|答案(2)|浏览(497)

我正在测试SVM的超参数,但是,当我求助于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方面犯了错误吗?

carvr3hs

carvr3hs1#

一些SVM核可以很长时间地适应大量的特征。2我想你可以试着去掉一些核或者减少特征的数量

mpbci0fu

mpbci0fu2#

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

相关问题