One-Class SVM:精确率、召回率和 F1
One-Class SVM: Precision, recall, and 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 score (Macro)并不位于precision和recall之间
我知道 f1 = (2 * precision * recall) / (precision + recall)
为什么...?
感谢您的解释!
classification_report
给出的宏观平均值 f1-score
是数据集中两个 类 的 f1 分数的未加权平均值,即
(0.12 + 0.67) / 2 ≈ 0.40
它不是您所想的那样,是用精确率和召回率的宏观平均值计算的 f1 分数。
换句话说:
它是所有f1-scores
的平均值
和
它是不是(精度和召回率)平均值f1-score
我有一个问题
我使用 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 score (Macro)并不位于precision和recall之间
我知道 f1 = (2 * precision * recall) / (precision + recall)
为什么...?
感谢您的解释!
classification_report
给出的宏观平均值 f1-score
是数据集中两个 类 的 f1 分数的未加权平均值,即
(0.12 + 0.67) / 2 ≈ 0.40
它不是您所想的那样,是用精确率和召回率的宏观平均值计算的 f1 分数。
换句话说:
它是所有f1-scores
和
它是不是(精度和召回率)平均值f1-score