SVM-Light 显示损坏的 precision/recall 结果
SVM-Light displays corrupted precision/recall results
我 运行 SVM-Light 分类器,但它输出的 recall/precision 行似乎已损坏:
Reading model...OK. (20 support vectors read)
Classifying test examples..100..200..done
Runtime (without IO) in cpu-seconds: 0.00
Accuracy on test set: 95.50% (191 correct, 9 incorrect, 200 total)
Precision/recall on test set: 0.00%/0.00%
我应该配置什么以获得有效的准确率和召回率?
例如,如果您的 classifier 总是预测“-1”——否定 class;但是,您的测试数据集包含 191 个“-1”和 9 个“+1”作为金色标签,您将正确地得到其中的 191 个 class 和其中的 9 个不正确。
True positives : 0 (TP)
True negatives : 191 (TN)
False negatives: 9 (FN)
False positives: 0 (FP)
Thus:
TP 0
Precision = ----------- = --------- = undefined
TP + FP 0 + 0
TP 0
Recall = ----------- = --------- = 0
TP + FN 0 + 9
从上面的公式可以知道,只要你的TP为零,你的precision/recall要么是0,要么是undefined。
要调试,您应该输出(对于每个测试示例)黄金标签和预测标签,以便您知道问题出在哪里。
谢谢绿意。你的回答对我也有帮助。
为避免此问题,请确保测试和训练数据集 chosen/grouped 具有正值和负值的公平组合。
我 运行 SVM-Light 分类器,但它输出的 recall/precision 行似乎已损坏:
Reading model...OK. (20 support vectors read)
Classifying test examples..100..200..done
Runtime (without IO) in cpu-seconds: 0.00
Accuracy on test set: 95.50% (191 correct, 9 incorrect, 200 total)
Precision/recall on test set: 0.00%/0.00%
我应该配置什么以获得有效的准确率和召回率?
例如,如果您的 classifier 总是预测“-1”——否定 class;但是,您的测试数据集包含 191 个“-1”和 9 个“+1”作为金色标签,您将正确地得到其中的 191 个 class 和其中的 9 个不正确。
True positives : 0 (TP)
True negatives : 191 (TN)
False negatives: 9 (FN)
False positives: 0 (FP)
Thus:
TP 0
Precision = ----------- = --------- = undefined
TP + FP 0 + 0
TP 0
Recall = ----------- = --------- = 0
TP + FN 0 + 9
从上面的公式可以知道,只要你的TP为零,你的precision/recall要么是0,要么是undefined。
要调试,您应该输出(对于每个测试示例)黄金标签和预测标签,以便您知道问题出在哪里。
谢谢绿意。你的回答对我也有帮助。 为避免此问题,请确保测试和训练数据集 chosen/grouped 具有正值和负值的公平组合。