定制对对角线距离与数值规模敏感的混淆矩阵热图需求
自定义混淆矩阵热图需求
类别定义
我有Q0_10、Q10_20、Q20_30、Q30_40、Q40_50五个类别,其中Q10_20代表账户百分位排名处于10%-20%区间。
预测混淆矩阵
用分类模型对一批账户做类别预测后,得到如下混淆矩阵:
Predicted Q0_10 Q10_20 Q20_30 Q30_40 Q40_50 Actual Q0_10 5 6 0 4 5 Q10_20 1 7 4 1 0 Q20_30 5 3 2 0 1 Q30_40 4 2 5 2 0 Q40_50 0 1 2 1 7
当前热图代码
目前使用的热图绘制代码如下:
array = [[5,6,0,4,5], [1,7,4,1,0], [5,3,2,0,1], [4,2,5,2,0], [0,1,2,1,7]] df_cm = pd.DataFrame(array, index = [i for i in "ABCDE"], columns = [i for i in "ABCDE"]) sn.heatmap(df_cm, annot=True)
热图优化准则
现有热图不符合需求,需要满足以下两个准则:
- 距离主对角线越近的样本,颜色表现越优:比如实际类别为
Q10_20时,预测为Q0_10的样本颜色要比预测为Q30_40的样本更“好”,因为后者离对角线更远; - 样本数量越多,颜色越突出:比如实际类别为
Q10_20时,预测为Q0_10的样本有1个,预测为Q20_30的有4个,二者到对角线的距离相同,但数量更多的Q20_30样本颜色要更显眼。
内容的提问来源于stack exchange,提问作者Nevi
相关产品推荐
相关产品推荐

