Java-ML(LibSVM) 如何获取类别概率?

我们使用 Java-ML(LibSVM) 来对多类别问题执行 SVM 算法

        Classifier clas = new LibSVM();        clas.buildClassifier(data);        Dataset dataForClassification= FileHandler.loadDataset(new File(.), 0, ",");        /* 正确和错误预测的计数器 */        int correct = 0, wrong = 0;        /* 对所有实例进行分类并与正确类别值进行检查 */        for (Instance inst : dataForClassification) {            Object predictedClassValue = clas.classify(inst);            Map<Object,Double> map = clas.classDistribution(inst);            Object realClassValue = inst.classValue();            if (predictedClassValue.equals(realClassValue))                correct++;            else                wrong++;        }

classDistribution() 返回一个标准向量(意味着所有值都是0,只有一个值等于1)

java-ml – http://java-ml.sourceforge.net/


回答:

尽管有其他回答,但 SVM 和 LibSVM 确实可以输出概率估计。然而,我相当确定你无法从 Java-ML 中使用这一功能。文件 LibSVM.java 始终只引用函数 svm_predict_values,而从不引用 svm_predict_probabilities。如果你确实需要这个功能,将其添加到 Java-ML 中应该不会太难。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注