03_泰坦尼克号幸存者分析(下)

在这里插入图片描述


博文配套视频课程:24小时实现从零到AI人工智能


箱盒图公式推导

根据从简到繁的思想首先要了解箱盒图的5个指标,然后推导数据列数为奇数的情况,最后推导列数为偶数的情况

箱盒图5个指标

中位数数不是平均数,Q3也称为75%位数,Q1称为25%位数
在这里插入图片描述

数据列为奇数推导

# 数据集为奇数的情况
x = [-7.26, 3, 3.2, 7, 8, 12, 19]
# 1: 先求中位数:(奇数比偶数好求), 此处就是7
# 2: 第3分位数Q3: 包括中位数和后数列 [7, 8, 12, 19],求Q3得: (8 + 12) / 2 = 10
# 3: 第1分位数Q1: 包括中位数和前数列 [1, 3, 3.2, 7],求Q1得: (3 + 3.2) / 2 = 3.1
sns.boxplot(data=x)
plt.show()
# 4:IQR 四分位距: Q3 - Q1: 10 - 3.1 = 6.9
# 5:最小值 = Q1 - 1.5 * IQR ==> 3.1 - 1.5 * 6.9 = -7.25
# 6:最大值 = Q3 + 1.5 * IQR ==> 10 + 1.5 * 6.9 = 20.35
# 7:边缘测试: > 20.35  或者 < -7.25 数据统统为异常数据

在这里插入图片描述

偶数列推导

import seaborn as sns
import matplotlib.pyplot as plt

# 数据集为偶数的情况
x = [1, 3,19, 3.2, 7, 8, 8.1, 12]
# 1: 先求中位数: (7 + 8) / 2 = 7.5
# 2: 第3分位数Q3:75%
#   2.1: 先求Q3中位数的位置: 3 (n + 1) / 4 = 3(8 + 1)/4 = 6.75 (求位置)
#   2.2: 求Q3:8.1 * 0.75 + 12 * 0.25 = 6.075 + 3 = 9.075
# 3: 第1分位数Q1:25%
#   3.1: 先求Q1中位数的位置 (n + 1) / 4 = (8 + 1)/4 = 2.25
#   3.2: 求Q1: 3 * 0,25 + 3.2 * 0.75 = 0.75 + 2.4 = 3.15
sns.boxplot(data=x)
plt.show()
# 4:IQR 四分位距: 9.075 -  3.15 = 5.925
# 5:最小值 = Q1 - 1.5 * IQR : 3.15 - 5.925 * 1.5 = -5.7375
# 6:最大值 = Q3 + 1.5 * IQR : 9.075 + 5.925 * 1.5 = 17.9625
# 7:边缘测试: 

在这里插入图片描述


箱盒图与琴形图数据分析

箱盒图分析性别与年龄相关相关

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

titanic = pd.read_csv("../data/titanic2.csv")
# sns.countplot(x='sex',hue='age',data=titanic)
# 有些时候散点图、柱状图表达的信息有限,此时就可以采用箱盒图,琴形图
sns.boxplot(x='sex',y='age',data=titanic)
plt.show()

结论: 男女的性别分布很相似,但是年龄女性跨度会更大,而男性老年乘客会更多

在这里插入图片描述

琴形图分析

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

titanic = pd.read_csv("../data/titanic2.csv")
# 琴形图: 箱盒图 + 核密度图
sns.violinplot(x='class',y='age',data=titanic)
plt.show()

结论: 通过琴形图可以得知: 头等舱年龄跨度比较大,三等舱中年人分布比较多

在这里插入图片描述

在这里插入图片描述

扫描二维码关注公众号,回复: 9501694 查看本文章
发布了128 篇原创文章 · 获赞 17 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/lsqzedu/article/details/104246757