首页 > 解决方案 > 使用索引从验证集中获取错误分类的样本并形成数据框

问题描述

嗨,我有一个confusion matrix,我需要从中获取并与列misclassified samples形成一个。dataframe[samples,actual,predicted]

我做了以下工作:

misclassified = np.where(y_test_class!= y_pred_class)

y_test_class实际类和预测的类在哪里。现在y_pred_class要找到相应的样本和类,我用

mis_np = np.concatenate(X_test[misclassified],y_test_class[misclassified],y_pred[misclassified])
mis_df = pd.DataFrame(mis_np)

但我得到了错误

TypeError:只有整数标量数组可以转换为标量索引

标签: pythonnumpyconfusion-matrix

解决方案


尝试:

mis_np = np.concatenate(
    (X_test[misclassified],y_test_class[misclassified],y_pred[misclassified]), 
    axis=1
)

mis_df = pd.DataFrame(data=mis_np, columns=['X', 'y_true', 'y_pred'])

请注意,第一个参数np.concatenate应该是一个数组序列。

因此,您只需将数组包装在一个元组中。还设置axis=1为创建二维数组(矩阵)。


推荐阅读