【发布时间】:2021-12-26 04:48:29
【问题描述】:
我想创建一个混淆矩阵,而不依赖于任何包。我有两个列表(预测值和实际值),我想将它们与正类的指标一起输入到函数中。
例如,当1是正类时:
predicted_lst = [1, 0, 1, 0, 0]
actual_lst = [1, 0, 0, 1, 1]
我的函数目前看起来是这样的,但是效率很低:
def confusion_matrix(predicted, actual, pos_class):
TP = 0
TN = 0
FP = 0
FN = 0
for i in range(len(actual)):
if actual[i] == pos_class and predicted[i] == pos_class:
TP +=1
elif actual[i] == pos_class and predicted[i] != pos_class:
FN +=1
elif actual[i] != pos_class and predicted[i] == pos_class:
FP +=1
else:
TN +=1
return TP, FP, TN, FN
我的问题是,有没有更有效的方法来编写这段代码?我看到了these posts,但他们没有像我希望的那样将正类作为函数输入。我也不想使用任何包(包括 numpy)
【问题讨论】:
标签: python machine-learning confusion-matrix