我尝试使用
decision_function_shape= ovr
制作onvsrest分类模型,但是当我将其更改为decision_function_shape= ovo
时,它给了我与ovr相同的结果。结果我读到 svc() 正在使用 ovo 作为基础,无论它是作为 ovr 还是 ovo 启动的。那么我怎样才能改变我的代码,以便它给我一个 ovr 结果?
model3 = SVC(kernel = 'rbf', decision_function_shape='ovr')
model3.fit(X_train, Y_train)
model3_predictions = model3.predict(X_test)
我尝试过使用 OneVsRestClassifier() 但不知道如何给出所有这些命令的输出,它总是出错并说 OneVsRestClassifier 没有这些命令。有没有办法用 OneVsRestClassifier 获取 cm、sm、sv、beta 和截距?
cm3 = confusion_matrix(Y_test, model3_predictions, labels=[-1,0,1])
sm3 = classification_report(Y_test, model3_predictions)
support_vector3 = model3.support_
n_sv_model3 = model3.n_support_
alpha_model3 = pd.DataFrame(model3.dual_coef_)
b_model3 = pd.DataFrame(model3.intercept_)
希望有人能帮助我,先谢谢了
OneVsRestClassifier
有一个 .estimators_
属性,它列出了所有单独的估计器(每个类一个)。您可以一一访问每个估计器,并获取其.n_support_
等