热力图矩阵数字及注释参数大小调整

1.热力图矩阵块颜色参数:

vmax,vmin:分别是热力图的颜色取值最大和最小范围,默认是根据data数据表里的取值确定
cmap:从数字到色彩空间的映射,取值是matplotlib包里的colormap名称或颜色对象,或者表示颜色的列表;改参数默认值:根据center参数设定
center:数据表取值有差异时,设置热力图的色彩中心对齐值;通过设置center值,可以调整生成的图像颜色的整体深浅;设置center数据时,如果有数据溢出,则手动设置的vmax、vmin会自动改变
robust:默认取值False;如果是False,且没设定vmin和vmax的值,热力图的颜色映射范围根据具有鲁棒性的分位数设定,而不是用极值设定

#cmap(颜色)
import matplotlib.pyplot as plt
% matplotlib inline
f, (ax1,ax2) = plt.subplots(figsize = (6,4),nrows=2)
# cmap用cubehelix map颜色

cmap = sns.cubehelix_palette(start = 1.5, rot = 3, gamma=0.8, as_cmap = True)

sns.heatmap(pt, linewidths = 0.05, ax = ax1, vmax=900, vmin=0, cmap=cmap)

ax1.set_title('cubehelix map')

ax1.set_xlabel('')
ax1.set_xticklabels([]) #设置x轴图例为空值
ax1.set_ylabel('kind')
# cmap用matplotlib colormap

sns.heatmap(pt, linewidths = 0.05, ax = ax2, vmax=900, vmin=0, cmap='rainbow')

# rainbow为 matplotlib 的colormap名称

ax2.set_title('matplotlib colormap')

ax2.set_xlabel('region')

ax2.set_ylabel('kind')

2.热力图矩阵块注释参数:

annot(annotate的缩写):默认取值False;如果是True,在热力图每个方格写入数据;如果是矩阵,在热力图每个方格写入该矩阵对应位置数据
fmt:字符串格式代码,矩阵上标识数字的数据格式,比如保留小数点后几位数字
annot_kws:默认取值False;如果是True,设置热力图矩阵上数字的大小颜色字体,matplotlib包text类下的字体设置;官方文档:

import numpy as np

np.random.seed(20180316)
x = np.random.randn(4, 4)
f, (ax1, ax2) = plt.subplots(figsize=(6,6),nrows=2)
sns.heatmap(x, annot=True, ax=ax1)
sns.heatmap(x, annot=True, ax=ax2, annot_kws={'size':9,'weight':'bold', 'color':'blue'}

3.热力图颜色刻度条参数:

cbar:是否在热力图侧边绘制颜色刻度条,默认值是True
cbar_kws:热力图侧边绘制颜色刻度条时,相关字体设置,默认值是None
cbar_ax:热力图侧边绘制颜色刻度条时,刻度条位置设置,默认值是None

f, ax = plt.subplots(figsize=(8, 8))
cmap = sns.cm.rocket_r  #colorbar颜色反转
ax = sns.heatmap(pd_data, annot=True, ax=ax, fmt='.1f', cmap=cmap) #画heatmap,具体参数可以查文档
 
plt.xlabel('x_label',fontsize=20, color='k') #x轴label的文本和字体大小
plt.ylabel('y_label',fontsize=20, color='k') #y轴label的文本和字体大小
plt.xticks(fontsize=20) #x轴刻度的字体大小(文本包含在pd_data中了)
plt.yticks(fontsize=20) #y轴刻度的字体大小(文本包含在pd_data中了)
plt.title('title',fontsize=20) #图片标题文本和字体大小
#设置colorbar的刻度字体大小
cax = plt.gcf().axes[-1]
cax.tick_params(labelsize=20)
#设置colorbar的label文本和字体大小
cbar = ax.collections[0].colorbar
cbar.set_label(r'$NMI$',fontdict=font)
 
plt.show()

混淆矩阵是一种评估分类模型性能的常用方法,可以用来计算模型的准确率、召回率、精确率等指标。下面是一个混淆矩阵Python代码实现,并带有注释说明每一步的作用: ```python import numpy as np import matplotlib.pyplot as plt from sklearn.metrics import confusion_matrix # 随机生成一个样本数据 y_true = np.random.randint(0, 2, size=100) # 真实标签 y_pred = np.random.randint(0, 2, size=100) # 预测标签 # 计算混淆矩阵 cm = confusion_matrix(y_true, y_pred) # 计算混淆矩阵 # 可视化混淆矩阵 plt.imshow(cm, cmap=plt.cm.Blues) # 用热力图可视化混淆矩阵 plt.colorbar() # 添加颜色条 plt.title('Confusion Matrix') # 添加标题 plt.xlabel('Predicted Label') # 添加X轴标签 plt.ylabel('True Label') # 添加Y轴标签 plt.xticks([0, 1], ['Negative', 'Positive']) # 设置X轴刻度文本及标签 plt.yticks([0, 1], ['Negative', 'Positive']) # 设置Y轴刻度文本及标签 for i in range(2): for j in range(2): plt.text(j, i, cm[i, j], ha='center', va='center', color='white') # 在每个矩阵格子中添加文本 plt.show() # 计算模型的准确率、召回率、精确率等指标 tp = cm[1, 1] # 真正例 tn = cm[0, 0] # 真负例 fp = cm[0, 1] # 假正例 fn = cm[1, 0] # 假负例 acc = (tp + tn) / (tp + tn + fp + fn) # 准确率 precision = tp / (tp + fp) # 精确率 recall = tp / (tp + fn) # 召回率 f1_score = 2 * precision * recall / (precision + recall) # F1得分 print('Accuracy:', acc) print('Precision:', precision) print('Recall:', recall) print('F1 Score:', f1_score) ``` 代码中首先使用`numpy`库生成随机样本数据,然后使用`sklearn`库中的`confusion_matrix`函数计算混淆矩阵。计算混淆矩阵后,我们可以使用`matplotlib`库可视化混淆矩阵,同时计算模型的准确率、召回率、精确率等指标。最后通过`print`函数输出计算结果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值