TOOLS_Seaborn相关性可视化分析示例

TOOLS_Seaborn相关性可视化分析示例

相关性应用场景

如要回答 推测 网站留存、观看时长、收藏次数、转发次数、关注数之间是否存在相关性,以及相关性有多大的问题;

对于更有关注的留存,可以尝试分析一个与其相关性比较大的因素,如收藏,那么在交互上就可以进一步引导用户去收藏;

类似的问题,也可以用多元线性回归方程,在标准化权重之后,对比得出各个变量的影响;

相关性分析示例

指对两个或多个具备相关性的变量元素进行分析,衡量变量间的相关密切程度;

相关性大小用相关系数r来描述:(-1~+1)

  • 0.95以上 是显著性相关
  • 0.8及以上 是高度相关
  • 0.5~0.8 中度相关
  • 0.3~0.5 低度相关
  • 0.3以下 不相关

r=0 不代表没有关系,只是没有线性关系

import warnings
warnings.filterwarnings("ignore")
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
# 定义主题风格
sns.set(style="darkgrid")

# 加载tips
# tips = sns.load_dataset("tips")
tips = pd.read_excel("./tips.xlsx")

tips.head()
total_billtipsexsmokerdaytimesize
016.991.01FemaleNoSunDinner2
110.341.66MaleNoSunDinner3
221.013.50MaleNoSunDinner3
323.683.31MaleNoSunDinner2
424.593.61FemaleNoSunDinner4
  • total_bill: 总账单数
  • tip: 小费数目
  • sex: 性别 Female Male
  • smoker: 是否是吸烟的群众
  • day: 天气
  • time: 晚餐 dinner, 午餐lunch
  • size: 顾客数
# 最简单的相关性计算(会对全部数值型列间尽心相关系数矩阵的计算)
tips.corr()
total_billtipsize
total_bill1.0000000.7910020.166315
tip0.7910021.0000000.475753
size0.1663150.4757531.000000
# 两列间相关性可视化(散点图)
sns.relplot(x="total_bill", y="tip", data=tips)
plt.show()

在这里插入图片描述

# 全部数值型列间相关性的可视化
sns.pairplot(tips)
<seaborn.axisgrid.PairGrid at 0x7f87d75e8dd8>

在这里插入图片描述

# 按照性别进行人群划分,查看total_bill和tip之间的关系
# 从而推断出 男性和女性在这个相关上所表现出的不同
sns.relplot(x="total_bill", y="tip", hue="sex", data=tips)
plt.show()

在这里插入图片描述

# 全部数值型列间相关性的可视化,也可以按照sex进行划分
sns.pairplot(tips, hue="sex")
plt.show()

在这里插入图片描述

# 使用热力图展示 相关系数矩阵
import matplotlib.pyplot as plt
import seaborn as sns

tips = pd.read_excel("./tips.xlsx")
# 去掉不参与计算相关性的列
tips = tips.drop(columns=['sex','smoker','day','time']) 

plt.figure(figsize=(16,10), dpi= 80)

# 相关性大小计算(热力图)
sns.heatmap(tips.corr(), xticklabels=tips.corr().columns, yticklabels=tips.corr().columns, cmap='RdYlGn', center=0, annot=True)

# 可视化
plt.title('Correlogram of tips', fontsize=22)
plt.xticks(fontsize=12)
plt.yticks(fontsize=12)
plt.show()

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值