我尝试使用 OnClassSVM 进行异常检测,并使用 GridSearchCV() 调整其参数,如下所示:
我已经搜索了许多网站,包括https://stackoverflow.com/但找不到适合我的场景的任何正确解决方案。代码在这里:
nus = [0.001, 0.01, 0.1, 1]
gammas = [0.001, 0.01, 0.1, 1]
scorers = {
'precision_score': make_scorer(precision_score),
'recall_score': make_scorer(recall_score),
'accuracy_score': make_scorer(accuracy_score)
}
tuned_parameters = {'C': [1, 10, 100, 1000], 'kernel' : ['rbf','linear'],
'gamma' : gammas, 'nu': nus}
tuned_ocsvm = svm.OneClassSVM()
ocsvm = GridSearchCV(estimator=svm.OneClassSVM(),
param_grid=tuned_parameters, scoring=scorers,refit='false')
Run Code Online (Sandbox Code Playgroud)
但它给我的错误如下
对于多指标评分,参数 refit 必须设置为记分器键或可调用项,以使用整个数据上的最佳参数设置重新拟合估计器,并使 best_* 属性可用于该指标。如果不需要,则 refit 应显式设置为 False。“假”已通过