5.Seaborn数据分析

  • 代码地址:appke/Los-House-Prices: 洛杉矶房价预测

Seaborn数据分析

披萨店顾客数据,图形化分析

import seaborn as sns
# 内置数据集
tips=sns.load_dataset('tips')
tips.tail()
total_bill tip sex smoker day time size
239 29.03 5.92 Male No Sat Dinner 3
240 27.18 2.00 Female Yes Sat Dinner 2
241 22.67 2.00 Male Yes Sat Dinner 2
242 17.82 1.75 Male No Sat Dinner 2
243 18.78 3.00 Female No Thur Dinner 2

带状图

离散数据 和 连续数据 之间的关系

sns.stripplot(x='day', y='total_bill', data=tips, jitter=False)

5.Seaborn数据分析_第1张图片

#jitter 抖动
sns.stripplot(x='day', y='total_bill', data=tips)

5.Seaborn数据分析_第2张图片

蜂群图

离散数据 和 连续数据 之间的关系——密度排列

带状图的补充

不允许在一起

sns.swarmplot(x='day', y='total_bill', data=tips)

5.Seaborn数据分析_第3张图片

tips.head()
total_bill tip sex smoker day time size
0 16.99 1.01 Female No Sun Dinner 2
1 10.34 1.66 Male No Sun Dinner 3
2 21.01 3.50 Male No Sun Dinner 3
3 23.68 3.31 Male No Sun Dinner 2
4 24.59 3.61 Female No Sun Dinner 4

3.Hue-分组参数

分析每天中,午餐和晚餐的账单分布

周六 都是晚上吃饭?晚上去放松

sns.swarmplot(x='day', y='total_bill', data=tips, hue='time')

5.Seaborn数据分析_第4张图片

每天的付账人群中的性别分布

sns.swarmplot(x='day', y='total_bill', data=tips, hue='sex')

5.Seaborn数据分析_第5张图片

sns.swarmplot(x='day', y='total_bill', data=tips, hue='size')

5.Seaborn数据分析_第6张图片

sns.swarmplot(data=tips, x='size', y='total_bill')

5.Seaborn数据分析_第7张图片

pizza的不同size的基础价格

tips['size'].corr(tips['total_bill'])
0.59831513090490129

箱线图

中位数、1/4位点、3/4位点、min、max、离散点分布

高斯分布,基本包括96%

之外的是离群点,小概率,分布不规律

表示total_bill的概率分布

sns.boxplot('day', 'total_bill',data=tips)

5.Seaborn数据分析_第8张图片

sns.swarmplot('day', 'total_bill', data=tips)

5.Seaborn数据分析_第9张图片

sns.boxplot('day', 'total_bill', data=tips, hue='time')

5.Seaborn数据分析_第10张图片

提琴图

对称, 概率密度

把正态分布画出来

# 忽略警告信息
import warnings
warnings.filterwarnings("ignore")
sns.violinplot('day', 'total_bill', data=tips, hue='time')

5.Seaborn数据分析_第11张图片

# 只需看1半
sns.violinplot('day', 'total_bill', data=tips, hue='time', split=True)

5.Seaborn数据分析_第12张图片

多图展示

花朵里的种子

sns.violinplot('day', 'total_bill', data=tips)
sns.swarmplot('day', 'total_bill', data=tips, color='white')

5.Seaborn数据分析_第13张图片

单一变量估计

多与少,频度、每天交易数量

离散型数据的频次统计

sns.countplot('day', data=tips)

5.Seaborn数据分析_第14张图片

sns.countplot('time', data=tips)

5.Seaborn数据分析_第15张图片

sns.countplot('day', data=tips, hue='time')

5.Seaborn数据分析_第16张图片

sns.countplot('size', data=tips)

5.Seaborn数据分析_第17张图片

连续型数据的核密度估计

tips.head()
total_bill tip sex smoker day time size
0 16.99 1.01 Female No Sun Dinner 2
1 10.34 1.66 Male No Sun Dinner 3
2 21.01 3.50 Male No Sun Dinner 3
3 23.68 3.31 Male No Sun Dinner 2
4 24.59 3.61 Female No Sun Dinner 4
sns.distplot(tips['total_bill'])

5.Seaborn数据分析_第18张图片

抵消偏度

拉成比较偏正态的函数?

小技巧,不要太多使用!可以尝试

降阶取log,只描述宏观场景,微观细节给抵消了

import numpy as np
sns.distplot(np.log(tips['total_bill']))

5.Seaborn数据分析_第19张图片

抽取前 99.5%的数据(去掉离散值的方法)

2 σ \sigma σ

np.percentile(tips['total_bill'], 99.5)
48.317099999999996
# 离群点,可将其去掉
tips[tips['total_bill']>48.31]
total_bill tip sex smoker day time size
170 50.81 10.0 Male Yes Sat Dinner 3
212 48.33 9.0 Male No Sat Dinner 4

带回归的散点图

看相关性

sns.lmplot('size', 'total_bill', data=tips)

5.Seaborn数据分析_第20张图片

sns.lmplot('tip', 'total_bill', data=tips)

5.Seaborn数据分析_第21张图片

联合分布(既有散点的特性,又有线性回归,同时还有概率估计)

基本呈正态分布

自然存在的东西,基本都属于正态分布

每天花销,购物量,记记账

sns.jointplot('total_bill', 'tip', data=tips, kind='reg')

5.Seaborn数据分析_第22张图片

你可能感兴趣的:(洛杉矶房价预测)