前言
A change of perspective is worth 80 IQ points Alan Kay
著名计算机科学家、艾伦·凯说过,换一个角度看问题值80点智商。
本期是最后一次介绍关联图了。有时候我们有一堆数据却无从下手,那就来个“jojo” 方法:全部画出来。
例9
i# Load Dataset
import seaborn as sns
import matplotlib.pyplot as plt
# Load Dataset
df = sns.load_dataset('iris')
# Plot
plt.figure(figsize=(10,8), dpi= 80)
sns.pairplot(df, kind="scatter", hue="species", plot_kws=dict(s=80, edgecolor="white", linewidth=2.5))
plt.show()
解析
看下数据表的样子
此表记录了3中鸢(yuan)尾花的花瓣长宽,萼片长款,和品种。
sepal_length | sepal_width | petal_length | petal_width | species | |
---|---|---|---|---|---|
0 | 5.1 | 3.5 | 1.4 | 0.2 | setosa |
1 | 4.9 | 3.0 | 1.4 | 0.2 | setosa |
2 | 4.7 | 3.2 | 1.3 | 0.2 | setosa |
3 | 4.6 | 3.1 | 1.5 | 0.2 | setosa |
4 | 5.0 | 3.6 | 1.4 | 0.2 | setosa |
代码流程
- 载入数据
- 画出不同品种的,花瓣、萼片长宽,观察规律
方法参数解释
sns.pairplot()
成对相关,会把表格中的特征两两组合画出并且对角线上表示列不变,其他变量的分布情况。
- kind 可选择 scatter 散点或者reg 带回归线的。
- polt_kws s 点大小 本例中选择kind=reg 时s无效。
- hue 不同标签映射到不同颜色
图像
应用
这是十分有用统计分类方法。许多物体的尺寸,或者尺寸之比会在一定范围内。比如人体四肢比例接近0.6。对于上图重叠区间低于置信度区间的第四列,花瓣宽度就能作为很重要的分类依据。应该让他拥有较高的权重。所以很多难题解决不了只是我们没有发现那些关键的信息。
下期预告
误差图 —— 让程度看的见
例程来自:https://www.machinelearningplus.com/plots/matplotlib-histogram-python-examples//
感谢b站UP "菜菜TsaiTsai" 分享这个博客.
例8
抱歉,之前还有一个例8,因为没找到合适的例子,所以跳过了,这里为大家补上。上面画出4x4的图像但是多数时候我们会有十几个变量,这样就画一个20X20的图像显然不太合适。那怎么办?
# Import Dataset
df = sns.load_dataset('iris')
# Plot
plt.figure(figsize=(12,10), dpi= 80)
sns.heatmap(df.corr(), xticklabels=df.corr().columns, yticklabels=df.corr().columns, cmap='RdYlGn', center=0, annot=True)
# Decorations
plt.title('Correlogram of mtcars', fontsize=22)
plt.xticks(fontsize=12)
plt.yticks(fontsize=12)
plt.show()
解析
方法参数解释
sns.heatmap()
绘制热力图,用颜色表示程度大小
- df.corr() 计算两两之间的相关系数 相关系数概念
图像
应用
如果需要计算某一个变量与其他变量的关系,那么选取一列。
df.corr(df["列名"])
我们实际生活中一个产品的参数会有几十个,全部按鸢尾花那样画出来图形就太小了,不容易看。这时热图和相关系数就可以帮我快速找出关心的几个特征。上面图看到深绿色的花瓣长、宽密切相关,这也与例九的图像吻合。仔细观察下这2幅图吧。