【发布时间】:2018-10-05 21:50:41
【问题描述】:
我需要定义一个生成混淆矩阵的函数。所以我有两个向量,y_label 和 y_predict,它们的元素值为 0、1、2。该函数的目标是创建标签计数:
| 0 | 1 | 2 |
--------------
0 | | | |
--------------
1 | | | |
--------------
2 | | | |
--------------
例如,cm[0,1] 应包含每个 i 的 y_label[i] = 0 和 y_predict[i] = 1 的元素计数。
到目前为止,这就是我所做的:
def get_confusion_matrix(y_label, y_fit):
cm = np.ndarray([3,3])
for i in range(3):
for j in range(3):
cm[i, j] = ....
return cm
当然,我可以轻松地进行多级 for 循环来计数,但如果 Python / numpy 中有捷径,我想避免这种情况。
我也在考虑将y_label 和y_predict 合并成一个元组数组,然后使用dict-zip 技术,类似于这里:
How to count the occurrence of certain item in an ndarray in Python?
但解决方案在我的脑海中仍然有点模糊。请确认这是否也可以。
【问题讨论】: