赞
踩
热力图(Heatmap)是一种数据可视化技术,根据需要用热力图显示的矩阵,可以用来显示区域内数据的相对密集程度或分布情况。它通常通过使用色彩映射来表示数据的密度或值大小。
在热力图中,每个数据点或区域都被赋予一个颜色值,该颜色值反映了该位置上的数据密集程度或数值大小。一般而言,较高的数值或密集程度会使用较暖的颜色表示(如红色),而较低的数值或密集程度会使用较冷的颜色表示(如蓝色)。其他颜色,如黄色和绿色,则表示中间程度的数值或密集程度。
一、显示混淆矩阵(Confusion Matrix)
混淆矩阵的每一列代表了预测类别,每一列的总数表示预测为该类别的数据的数目;每一行代表了数据的真实归属类别,每一行的数据总数表示该类别的数据实例的数目。每一列中的数值表示真实数据被预测为该类的数目:第一行第一列中的43表示有43个实际归属第一类的实例被预测为第一类,同理,第一行第二列的2表示有2个实际归属为第一类的实例被错误预测为第二类。
代码实现:
- import numpy as np
- import seaborn as sns
- aa = np.array([[43,2,0],[5,45,1],[2,3,49]])
- ax = sns.heatmap(aa, annot=True, cmap='Blues')
此时矩阵为混淆矩阵,由于横轴为预测样本,对角线深度越大数据越多,预测结果也就越精确。
二、相关系数矩阵(Correlation Matrix)
公式中,ρ 为皮尔逊相关系数,Cov表示协方差,E表示数学期望/均值
值得注意的是,该相关系数只能度量出变量之间的线性相关关系;也就是说,相关系数越高,则变量间的线性相关程度越高。对于相关系数小的两个变量,只能说明变量间的线性相关程度弱,但不能说明变量之间不存在其它的相关关系,如曲线关系等。
代码实现:
- from sklearn.datasets import load_iris
- data = load_iris()
- iris_target = data.target
- iris_features = pd.DataFrame(data=data.data, columns=data.feature_names)
- iris_all = iris_features.copy() ##进行浅拷贝,防止对于原始数据的修改
- iris_all['target'] = iris_target
- corr = iris_all.corr()
- ax = plt.subplots(figsize=(10, 8))#调整画布大小
- ax = sns.heatmap(corr, annot=True, cmap='Blues')#画热力图 annot=True 表示显示系数
- # 设置刻度字体大小
- plt.xticks(fontsize=10)
- plt.yticks(fontsize=10)
corr具体内容如下:
用热力图显示:
由图可知,target与pw,pl正相关性较强。
案例:
参考 :
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。