【问题标题】:Changing the positive label in sklearn.metrics.precision_score()更改 sklearn.metrics.precision_score() 中的正标签
【发布时间】:2020-03-31 07:47:30
【问题描述】:

我有两个二进制图像(黑色(0)和白色(255)一个是地面实况图像,而另一个是来自神经网络的预测图像。我使用 sklearn.metrics.precision_score() 来获得精度两个图像之间。但默认情况下,它将黑色像素作为“正”标签。如何将白色像素更改为“正”标签?

前(255 为 1):

精度 = true_positive/(true_positive+false_positive)

ground_truth = [0,0,1,1,0,1,1,1,1,0]
predicted    = [1,1,1,0,0,0,1,0,1,0]

如果取1为正值,

 true_positive = 3
 fale_positive = 2
 fale_negative = 3
 true_negative = 2

 precision =3/(3+2)=0.6

如果取0为正值,

 true_positive = 2
 fale_positive = 3
 fale_negative = 2
 true_negative = 3

 precision =2/(2+3)=0.4

https://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_score.html#sklearn.metrics.precision_score

【问题讨论】:

  • 1 - ground_truth 假设您使用的是 numpy 数组?
  • 是的,我正在使用 numpy 数组

标签: python machine-learning scikit-learn deep-learning computer-vision


【解决方案1】:

首先反转 predict 的元素,然后使用 ground_truth 和 predict_inverted 找到精度。希望这可能会有所帮助。

map_dict = {0:1,1:0}
predicted_inverted = list(map(lambda x: map_dict[x],predicted))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多