根据二进制分类中的数据找到最佳阈值

时间:2020-11-08 21:00:44

标签: python machine-learning math probability

我有一个分类器,输出的X介于0和1之间。我也有一个相关的基本事实,即真实比例。 我想预测当分类器的输出大于某个阈值时为1,否则为0。 通过数据可视化,我知道一个好的阈值约为0.5。

如何从数据中估计最佳阈值?

这是我的数据示例

predicted = [0.13675214 0.31400966 0.28037383 0.18337408 0.10043668 0.6
 0.74242424 0.30853994 0.30588235 0.24766355 0.19806763 0.20512821
 0.29752066 0.23504274 0.14133333 0.52733119 0.46039604 0.56306306
 0.29059829 0.02890173 0.2962963  0.47008547 0.54545455 0.58119658
 0.3        0.66242038 0.42066421] 

ground_truth = [0.11111111 0.647343   0.21028037 0.20293399 0.         0.93333333
 1.         0.07162534 0.61176471 0.21028037 0.647343   0.11111111
 0.07162534 0.5        0.08       0.88424437 0.58415842 0.74774775
 0.11111111 0.03468208 0.         0.5        0.         0.91168091
 1.         0.96178344 0.10701107]

desired_output = [0,1,0,0,0,1,1,0,1,0,1,0,0,0,0,1,1,1,0,0,0,1,0,1,1,1,0]

谢谢

1 个答案:

答案 0 :(得分:0)

您似乎具有90%的本地准确度

delt = predicted - ground_truth    # where all but 2 of 20 appear within .4 

预测的(模型)的其他/更多示例可能会说明范围吗?