微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

精确分数警告导致分数 =0 sklearn

如何解决精确分数警告导致分数 =0 sklearn

我在 sklearn 中使用 precision_score 来评估异常值检测算法的结果。 我只训练了一个班级,并预测了看不见的数据。所以一类的标签一直都是0。

我发现了以下内容

enter image description here

有两列,真实和预测。 (我用标签编码器对数字进行美化,在Local Outlier Factor中,它输出1为内点,-1为离群点,我使用标签编码器将它们编码为0和1,真相相同)

enter image description here

但是算法返回我的accuracy是1,precision为0,可以很明显的看到预测的和真实的完全吻合。我希望这两个参数都得到 1s 的分数。它带有以下警告:

enter image description here

我应该怎么做或我应该阅读任何链接来缓解这个问题。

解决方法

文档解释说,只有两个类,它把它当作一个二元问题。精度是关于真阳性(当答案为 1 时猜测为 1)。你没有任何 - 只有真正的否定(当答案为 0 时猜测为 0)。

如果你真的对这个结果不满意,你可以使用 zero_division 参数:

precision_score(truth,predicted,zero_division=1)

那样,你就会得到你想要的 1。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。