混淆矩阵,如果预测类标签是列表列表,真值是列表

时间:2018-05-17 07:33:31

标签: python

我想为我预测的班级标签制作混淆矩阵。对于每一行,我预测了前五个类标签,并将其分配给列表列表。在我每行的实际数据集中,有一个关联的类标签。它有多类标签。我使用了决策树分类。你能建议如何制作混淆矩阵并得到TP,TN,FP,FN。 这里X是整个数据集的输入行。 y是数据集的目标类标签。 clas是包含不同类标签的列表。

from sklearn.metrics import confusion_matrix

indices=[]
DTC= DecisionTreeClassifier()
DTC.fit(X,y)


y_pre=DTC.predict_proba(X)
for sublist in y_pre:
    index1=sorted(range(len(sublist)), key=lambda i: sublist[i], reverse=True)[:5]
    indices.append(index1)  

m=[]    
for j in indices:
    for k in j:
       m.append(clas[k])

ans=list(zip(*[iter(m)]*5))
mat=confusion_matrix(y, ans)
print(mat)

0 个答案:

没有答案