一类支持向量机:精确率、召回率和F1

我有一个问题

我使用sklearn编写了下面的代码

self.model = SVM.OneClassSVM(gamma='scale', kernel='rbf').fit(training_set)classification_report(self.ground_truth_label, self.predicted_results, target_names=target_names)

然而,下面的图片显示F1分数(宏观)并不位于精确率和召回率之间

我知道f1 = (2 * 精确率 * 召回率) / (精确率 + 召回率)

为什么…?

感谢您的解释!

enter image description here


回答:

classification_report给出的宏观平均f1-score是您数据集中两个类别的f1分数的非加权平均,即

(0.12 + 0.67) / 2 ≈ 0.40

它并不是您可能认为的,使用精确率和召回率的宏观平均计算出的f1分数。


换句话说:

它是所有f1-scores的平均值

不是(精确率和召回率)平均值的f1-score

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中创建了一个多类分类项目。该项目可以对…

发表回复

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