我正在测试支持向量机的超参数,但是,当我求助于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的数量,但是我仍然无法得到一个不需要几个小时处理的结果。
是否有可能优化这一过程?我对网格搜索或支持向量机是否犯了错误?
发布于 2022-12-09 04:25:39
看起来,当前的方法需要很长时间,因为您试图搜索大量的超参数。提高超参数搜索效率的一种方法是为每个超参数使用较少的值,因为这将减少需要尝试的组合的总数。
有几种方法可以优化支持向量机的超参数调整过程,包括:
总之,为了提高支持向量机的性能,减少处理时间,对支持向量机的超参数进行选择和优化是非常重要的。
另外,check - SVC分类器训练时间过长
https://datascience.stackexchange.com/questions/116888
复制相似问题