有标签问题
关于有标签问题,往往要分析各个数据的组成,其中可能包含连续或离散数据。
离散图
对于离散数据,绘制同一数值数据在标签数据下的数量的对比图,如下图所示,可以初步观察出有用的信息。
代码实现如下:
sns.countplot(data, x, y, hue, ax)
data:数据集
x:在x轴显示,指明data哪一列
hue:目标值
ax:轴对象
连续图
对于连续数据,原理同上,只不过绘制的是连续分布图,如下图所示。
代码实现如下:
sns.displot(data, x, hue, kind='kde')
kind:此处为‘kde’,代表图片以连续形状显示
几种有用的图
- 相关系数
代码实现如下(具体细节见seaborn官网):
# df_corr为连续型数据集的相关系数矩阵
df_corr = df[con_attributes].corr()
mask = np.triu(np.ones_like(df_corr))
sns.heatmap(data=df_corr, mask=mask, annot=True, cmap='YlGnBu')
- 相关系数(更多信息)
需要将方阵数据转化为(x,y,z)的形式,代码实现如下(具体细节见seaborn官网):
corr_mat = df.corr().stack().reset_index(name="correlation")
g = sns.relplot(
data=corr_mat,
x="level_0", y="level_1", hue="correlation",
size="correlation",
palette="YlGnBu", hue_norm=(-1, 1),
height=8, sizes=(30, 300), size_norm=(-.2, .8),
)