我正在做多标签分类,我试图预测问题的正确标签:
(X = 问题,y = X 中每个问题的标签列表)。
我想知道,哪个decision_function_shapeforsklearn.svm.SVC应该与OneVsRestClassifier?
从文档中我们可以看到decision_function_shape可以有两个值'ovo'和'ovr':
decision_function_shape: '卵内', 'OVR'或无,默认=无
是否像所有其他分类器一样返回形状为 (n_samples, n_classes) 的一对一 ('ovr') 决策函数,或具有形状 (n_samples) 的 libsvm 的原始一对一 ('ovo') 决策函数, n_classes * (n_classes - 1) / 2)。None 的默认值当前将表现为向后兼容的“ovo”并引发弃用警告,但将在 0.19 中更改“ovr”。
但我仍然不明白这两者之间的区别是什么:
# First decision_function_shape set to 'ovo'
estim = OneVsRestClassifier(SVC(kernel='linear', decision_function_shape ='ovo'))
# Second decision_function_shape set to 'ovr'
estim = OneVsRestClassifier(SVC(kernel='linear', decision_function_shape ='ovr'))
Run Code Online (Sandbox Code Playgroud)
哪个decision_function_shape应该用于多标签分类问题?
编辑: 问题询问类似的事情而没有答案。
python svm scikit-learn text-classification multilabel-classification
我想知道LinearSVC默认情况下是否支持多类分类还是我们必须OneVsRestClassifier像这样包装它 :
OneVsRestClassifier(LinearSVC())
Run Code Online (Sandbox Code Playgroud)