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()

結論: 通過琴形圖可以得知: 頭等艙年齡跨度比較大,三等艙中年人分佈比較多

在這裏插入圖片描述

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章