У меня запутанная матрица 18х18. Для лучшей визуализации ошибок я хочу составить карту цветов в соответствии со значением, которое мы имеем в нашей стандартизированной матрице.
Я хочу сделать цветовую градацию, чтобы визуализировать данные более адекватно. Например, области, где попадания составляют более 80%, будут иметь цветовую шкалу, отличную от областей, где попадания составляют от 20% до 80%. Наконец, области, где попадания меньше 20%, будут иметь различную градацию цвета.
У меня есть следующий код (где мы создаем кадр данных и вместе с ним нашу матрицу путаницы).
import os
import numpy as np
import pandas as pd
import seaborn as sn
working_path = os.getcwd()
df = pd.read_csv("salida.txt",delimiter="\t")
df.rename(columns={'Number of Syllables': 'NSyllables'}, inplace = True)
conf_matC = pd.crosstab(df['TargetC'], df['RespC'], rownames=['Target'], colnames=['Response'], margins = True);
ncmC = conf_matC.drop(["All", "**"], axis = 0);
confusion_matrixC = ncmC.drop(["All", "**","gr", "zr"], axis = 1);
ncmC1 = confusion_matrixC/confusion_matrixC.max().astype(np.float64); #Normalize matrix normarlize_confusion_matrixC = ncmC1.round(2);
printed_matrixC = sn.heatmap(normarlize_confusion_matrixC, cmap='Oranges', annot=False);
С помощью этого кода мы получаем следующую матрицу:
Response b ch d f g k ... rr s t x y z
Target ...
b 1.00 0.0 0.10 0.0 0.08 0.00 ... 0.00 0.00 0.00 0.0 0.0 0.00
ch 0.00 1.0 0.00 0.0 0.00 0.00 ... 0.00 0.00 0.00 0.0 0.0 0.00
d 0.00 0.0 1.00 0.0 0.08 0.00 ... 0.08 0.00 0.02 0.0 0.0 0.00
f 0.00 0.0 0.00 1.0 0.00 0.00 ... 0.00 0.00 0.00 0.0 0.0 0.36
g 0.03 0.0 0.00 0.0 1.00 0.00 ... 0.00 0.00 0.00 0.0 0.0 0.00
k 0.00 0.0 0.00 0.0 0.00 1.00 ... 0.00 0.00 0.00 0.0 0.0 0.00
l 0.00 0.0 0.03 0.0 0.00 0.00 ... 0.00 0.00 0.00 0.0 0.0 0.00
m 0.03 0.0 0.00 0.0 0.08 0.00 ... 0.08 0.00 0.00 0.0 0.0 0.00
n 0.00 0.0 0.10 0.0 0.00 0.00 ... 0.08 0.00 0.00 0.0 0.0 0.00
ny 0.00 0.0 0.00 0.0 0.00 0.00 ... 0.00 0.00 0.00 0.0 0.0 0.00
p 0.00 0.0 0.00 0.0 0.00 0.00 ... 0.00 0.00 0.04 0.0 0.0 0.00
r 0.00 0.0 0.00 0.0 0.00 0.00 ... 0.08 0.00 0.02 0.0 0.0 0.00
rr 0.00 0.0 0.00 0.0 0.00 0.00 ... 1.00 0.00 0.00 0.0 0.0 0.00
s 0.00 0.0 0.00 0.0 0.00 0.00 ... 0.00 1.00 0.00 0.0 0.0 0.00
t 0.00 0.0 0.00 0.0 0.00 0.09 ... 0.00 0.00 1.00 0.0 0.0 0.12
x 0.00 0.0 0.00 0.0 0.00 0.00 ... 0.00 0.00 0.00 1.0 0.0 0.04
y 0.00 0.0 0.00 0.0 0.00 0.00 ... 0.00 0.00 0.00 0.0 1.0 0.00
z 0.00 0.0 0.00 0.0 0.00 0.00 ... 0.00 0.12 0.00 0.0 0.0 1.00
Видится как изображение в кадре данных: Матрица смешения данных в кадре
Сначала я сделал карту тепла моей матрицы путаницы, но она дает мне несколько ошибок отображения, как показано на изображении ниже.
матрица путаницы тепловой карты
Как я мог решить эту проблему и распечатать матрицу по цвету без срезанных чисел? Могу ли я сделать различные цветовые градации в зависимости от степени успеха, как описано выше?
Спасибо