I am currently using pandas.crosstab to generate the confusion matrix of my classifiers after testing. Unfortunately, sometimes my classifier fails, and classifies every signal as a single label (instead of multiple labels). pandas.crosstab generates a single vector (or a non-square matrix) in that case instead of a square matrix.
As example, my ground truth would be
true_data = pandas.Series([1, 1, 2, 2, 3, 3, 4, 4, 5, 5])
我的预测数据是
pred_data = pandas.Series([3, 3, 2, 3, 2, 1, 1, 3, 4, 1])
应用pandas.crosstab(true_data, pred_data, dropna=False)
个给定值
col_0 1 2 3 4
row_0
1 0 0 2 0
2 0 1 1 0
3 1 1 0 0
4 1 0 1 0
5 1 0 0 1
有没有办法
col_0 1 2 3 4 5
row_0
1 0 0 2 0 0
2 0 1 1 0 0
3 1 1 0 0 0
4 1 0 1 0 0
5 1 0 0 1 0
取而代之的是,留下矩阵方块,用0
填充缺失的标签?