我想在matlab中创建一个混淆矩阵。要做到这一点,我需要计算,例如,真阳性和真阴性。
为了做到这一点,我需要遍历每个向量元素,将一个向量中的真值与另一个向量中的真值进行比较。如果它们都等于同一指数的真值,那么我可以增加真正的正数。我可以对负值进行相同的计算以确定真阴性。
然而,我能想到的唯一方法是使用for循环。它可以正常工作,但是由于matlab是矢量化的,因此必须有一种更好的方法来实现这一点,而不涉及使用for循环。
计算这个的最佳方法是什么?
答案 0 :(得分:1)
我不能完全确定我对现实世界问题的回答的准确性,但是这里有。如果您的实际值和预测值的两个向量是A
和P
,那么您可以计算真阳性和阴性的数量:
truePositiveCount = sum( A & P );
trueNegativeCount = sum( ~A & ~P );