我有一个假设的场景,其中我有100个分类器,如果给出一个人的名字作为输入,它将返回一个类给这个人。
例如:Input1 -**Donald Trump**
30/100个分类器返回politician作为类
20/100个分类器返回business man作为类
10/100个分类器返回leader作为类
10/100个分类器返回american作为类
10/100个分类器返回republican作为类
10/100个分类器返回sportsman作为类
3/100个分类器返回priest作为类
3/100个分类器返回doctor作为类
2/100个分类器返回engineer作为类
1/100个分类器返回indian作为类
1/100个分类器返回sportsman作为类
在上述情况下,我以10票作为门槛,我可以在一定程度上正确定义唐纳德·特朗普( Donald Trump ),尽管sportsman的定义可能是错误的。然而,10似乎是一个不错的门槛。
Input2 -**Christiano Ronaldo**
20/100个分类器返回sportsman作为类
20/100个分类器返回foot ball player作为类
13/100个分类器返回real madrid作为类
13/100个分类器返回manchesterunited作为类
12/100个分类器返回juventus作为类
12/100个分类器返回european作为类
2/100个分类器返回portugese作为类
2/100个分类器返回cricketer作为类
2/100个分类器返回american作为类
2/100个分类器返回chinese作为类
2/100个分类器返回korean作为类
在上面的例子中,如果我以12票作为门槛,它正确地定义了克里斯蒂亚诺·罗纳尔多,尽管我们可能没有portugese标签,因为它的票数只有2。不过,我想我们做得很好。
我的问题是,如果我有一个api以这种方式返回选票和名人类,那么动态地找到最佳阈值的最好的数学方法是什么,我可以说定义是正确的,如果这些类是正确的,您需要查看它。
发布于 2020-08-08 00:03:56
动态地找到最佳可能的阈值的最好的数学方法是什么,我可以说定义是正确的,如果类是正确的,您需要查看它。
首先,通常很明显,没有办法确定答案是正确的或不正确的:例如,如果由于某种原因,所有的分类器都返回相同的错误答案,那么阈值条件就满足了,但答案是错误的。
现在,确定一个答案是否可以接受的最优阈值的唯一方法是使用一组标注的示例来评估分类器的答案。为什么?因为答案的正确性不能由任何数学公式来决定。
因此,游戏的目标是评估这组分类器在多大程度上可以被信任来给出正确的答案,这取决于阈值。因此,阈值是预测系统的一个参数,该参数可以根据一些验证数据进行估计(调优)。基本方法是尝试参数的所有可能值,在每种情况下评估性能,并选择性能最高的值。请注意,对于这种情况,有许多可能的评估措施:应该根据系统的目标仔细选择度量(例如,有一个错误的肯定答案还是一个错误的否定更好?)
发布于 2022-01-22 07:20:06
如果你发现这些阶级之间有一定的关联(例如,政治人士和商人极有可能成为领袖),那么你可以利用这些统计规则绕过或修改选票。
否则,我认为你能做的最好的就是设定一个静态的阈值,给你最好的精确性和回忆性的组合。
https://datascience.stackexchange.com/questions/79944
复制相似问题