我需要计算表示为多个热向量的标签和预测的混淆矩阵。sklearn似乎不支持这种情况。
这是我所拥有的一个例子。假设有三个类,'a',b',
和'c'
;目标/标签为:
l1 = [1, 0 ,1, 0, 0]; of class a
l2 = [1, 0 ,1, 0, 1]; of class b
l3 = [1, 0 ,0, 0, 0]; of class a
l4 = [0, 0 ,0, 0, 0]; of class c
因此,我们有标签矩阵:
L = np.array([ [1, 0 ,1, 0, 0],
[1, 0 ,1, 0, 1],
[1, 0 ,0, 0, 0],
[0, 0 ,0, 0, 0]] )
预测是:
p1 = [1, 0 ,1, 0, 0]; of class a
p2 = [1, 0 ,1, 0, 0]; of class b
p3 = [1, 1 ,0, 0, 0]; of class a
p4 = [0, 1 ,0, 0, 0]; of class c
预测矩阵为:
P = np.array([ [1, 0 ,1, 0, 0],
[1, 0 ,1, 0, 0],
[1, 1 ,0, 0, 0],
[0, 1 ,0, 0, 0]] )
我希望输出是一个3x3
混淆矩阵,大致如下所示:
A B C
A 2 0 0
B 0 0 1
C 0 1 0
我使用skLearning
accuracy_score
来估计分类精度。然而,尽管accuracy_score
正在为此类标签的准确性而工作,但skLearning
混淆矩阵不支持上述场景。是否有任何替代skLearning
?
另一个问题似乎给出了三个混淆矩阵,这不是我要寻找的情况。
我认为准确性不是在这种情况下使用的正确指标。您可以使用roc_auc_score
从sklearn.metrics.ranking
。
我正在对实际数据和来自分类器的预测数据进行多标签分类。实际数据包括三类(c1、c2和c3),同样,预测数据也包括三类(c1、c2和c3)。数据如下 在多标签分类中,文档可能属于多个类别。在上述数据中,1表示文档属于特定类,0表示文档不属于特定类。 第一行Actual\u数据表示文档属于c1类和c2类,不属于c3类。类似地,第一行predicted\u数据表示文档属于类别c1、c2和c3。 最初我使
我试图弄清楚如何使用神经网络为多标签分类任务生成混淆矩阵。我之前设法使用函数“交集”计算准确性,因为对此我不关心任何排序。 然而,为了计算混淆矩阵,我确实关心预测/标签的索引顺序。由于标签的值始终相同(
我正在使用分类器的多类多标签输出。类的总数为14,实例可以关联多个类。例如: 我现在制作混淆矩阵的方式: 输出如下: 现在,我不确定sklearn的混淆矩阵是否能够处理多标签多类数据。谁能帮我一下吗?
我正在y_test并y_pred混淆矩阵。我的数据用于多标签分类,因此行值是一种热编码。 我的数据有30个标签,但在输入混淆矩阵后,输出只有11行和列,这让我很困惑。我想我应该有一辆30X30的。 它们的格式是numpy数组。(y\u test和y\u pred是我使用dataframe.values将其转换为numpy数组的数据帧) y\U测试。形状 y_test y\u预测。形状 y\u预测
我得到了混淆矩阵,但是因为我的实际数据集有很多分类类别,所以很难理解。 范例- 但是如何打印标签/列名以便更好地理解呢? 我甚至试过这个- 需要帮忙吗?
校验者: @溪流-十四号 @大魔王飞仙 翻译者: @v Warning All classifiers in scikit-learn do multiclass classification out-of-the-box. You don’t need to use the sklearn.multiclass module unless you want to experiment with