参考文献为[1] Tomar D , Agarwal S . Multi-class Twin Support Vector Machine for Pattern Classification. 2016.
1条回答 默认 最新
关注一对一法(one-versus-one,简称1-v-1 SVMs, OVO SVMs, pairwise)。其做法是在任意两类样本之间设计一个SVM,因此k个类别的样本就需要设计k(k-1)/2个SVM。当对一个未知样本进行分类时,最后得票最多的类别即为该未知样本的类别。Libsvm中的多类分类就是根据这个方法实现的。
望采纳,谢谢X_train, X_test, y_train, y_test = train_test_split(feature, label, test_size=.2,random_state=0) # 训练模型 model = OneVsRestClassifier(svm.SVC(kernel='linear',probability=True,random_state=random_state)) print("[INFO] Successfully initialize a new model !") print("[INFO] Training the model…… ") clt = model.fit(X_train,y_train) print("[INFO] Model training completed !") # 保存训练好的模型,下次使用时直接加载就可以了 joblib.dump(clt,"F:/python/model/conv_19_80%.pkl") print("[INFO] Model has been saved !") y_test_pred = clt.predict(X_test) ov_acc = metrics.accuracy_score(y_test_pred,y_test) print("overall accuracy: %f"%(ov_acc)) print("===========================================") acc_for_each_class = metrics.precision_score(y_test,y_test_pred,average=None) print("acc_for_each_class:\n",acc_for_each_class) print("===========================================") avg_acc = np.mean(acc_for_each_class) print("average accuracy:%f"%(avg_acc))```
解决 无用评论 打赏 举报