使用索引从验证集中获取错误分类的样本并形成数据框

Get misclassified samples from validation set using index and form a dataframe

您好,我有一个 confusion matrix,我需要从中获取 misclassified samples 并形成一个包含 [samples,actual,predicted].

列的 dataframe

我已经完成了以下操作:

misclassified = np.where(y_test_class!= y_pred_class)

其中 y_test_class 是实际的 类 和 y_pred_class 是 predicted.Now 找到相应的样本和 类, 我用

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

但是我得到了错误

TypeError: only integer scalar arrays can be converted to a scalar index

尝试:

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 以创建二维数组(矩阵)。