Svm 为什么标签二值化会降低我的准确性?

Svm 为什么标签二值化会降低我的准确性?,svm,multiclass-classification,Svm,Multiclass Classification,我有三个类数据,我使用LinearSCV()进行分类。 问题是当我使用下面的代码并直接向y输入0,1,2作为我的三个类时;平均准确率为85% lbl = LabelEncoder() y = lbl.fit_transform(y) clf = LinearSVC(multi_class='ovr') score = cross_val_score(clf, X, y, cv = 10) print(np.mean(score)) 但是当我使用y=label_binarize(y,class=

我有三个类数据,我使用
LinearSCV()
进行分类。 问题是当我使用下面的代码并直接向y输入0,1,2作为我的三个类时;平均准确率为85%

lbl = LabelEncoder()
y = lbl.fit_transform(y)
clf = LinearSVC(multi_class='ovr')
score = cross_val_score(clf, X, y, cv = 10)
print(np.mean(score))
但是当我使用
y=label_binarize(y,class=[0,1,2])
并使用下面的代码时,我的准确率下降了75%左右

y = label_binarize(y, classes=[0, 1, 2])     
clf = OneVsRestClassifier(LinearSVC())
score = cross_val_score(clf, X, y, cv=10)
print(np.mean(score))
这两种方法似乎是相同的,因为它们都使用
OneVsRest
LinearSCV()
,但我不知道为什么它们会导致不同的精度。你认为二值化可能是原因吗? 我真的很感谢你的帮助