胜景 2022-08-17 10:12 采纳率: 0%
浏览 40
已结题

求多分类孪生支持向量机的python代码,要求多分类方式为one vs one

参考文献为[1] Tomar D , Agarwal S . Multi-class Twin Support Vector Machine for Pattern Classification. 2016.

  • 写回答

1条回答 默认 最新

  • 王大师王文峰 企业官方账号 2022-08-19 10:54
    关注

    一对一法(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))
    
    

    ```

    评论

报告相同问题?

问题事件

  • 系统已结题 8月25日
  • 修改了问题 8月17日
  • 创建了问题 8月17日

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境