?
本次修煉方法請往下查看

🌈 歡迎蒞臨我的個人主頁 👈這里是我工作、學習、實踐 IT領域、真誠分享 踩坑集合,智慧小天地!
🎇 免費獲取相關內容文檔關注:微信公眾號,發送 pandas 即可獲取
🎇 相關內容視頻講解 B站
🎓 博主簡介:AI算法馴化師,混跡多個大廠搜索、推薦、廣告、數據分析、數據挖掘崗位 個人申請專利40+,熟練掌握機器、深度學習等各類應用算法原理和項目實戰經驗。
🔧 技術專長: 在機器學習、搜索、廣告、推薦、CV、NLP、多模態、數據分析等算法相關領域有豐富的項目實戰經驗。已累計為求職、科研、學習等需求提供近千次有償|無償定制化服務,助力多位小伙伴在學習、求職、工作上少走彎路、提高效率,近一年好評率100% 。
📝 博客風采: 積極分享關于機器學習、深度學習、數據分析、NLP、PyTorch、Python、Linux、工作、項目總結相關的實用內容。
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
🌵文章目錄🌵
- 🎯 1. 基本介紹
- 💡 2. 原理介紹
- 🔍 3. 畫圖實踐
- 3.1 數據準備
- 3.2 單維畫圖
- 3.3 分組畫圖
- 4 高階用法
- 🔍 5. 注意事項
- 🔍 6. 總結
下滑查看解決方法
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
🎯 1. 基本介紹
??箱線圖(Boxplot)是一種用于展示數據分布的統計圖表,它能夠提供數據的最小值、第一四分位數(Q1)、中位數(Q2)、第三四分位數(Q3)和最大值的摘要信息,并且可以直觀地識別出數據中的異常值。
💡 2. 原理介紹
??箱線圖的關鍵數值定義如下:
- 最小值(Minimum):數據集中的最小非異常值。
第一四分位數(Q1):數據集中25%位置的值,表示有25%的數據點小于或等于這個值。
中位數(Q2,Median):數據集中50%位置的值,將數據集分為兩個相等的部分。
第三四分位數(Q3):數據集中75%位置的值,表示有75%的數據點小于或等于這個值。
最大值(Maximum):數據集中的最大非異常值。
四分位距(Interquartile Range, IQR):Q3與Q1之間的差值,表示數據集中間50%的數值范圍。
🔍 3. 畫圖實踐
3.1 數據準備
?? 我們通過seaborn自帶的數據對其進行相關的畫圖,具體的導入數據代碼如下所示:
import seaborn as sns
import matplotlib.pyplot as plt# 使用Seaborn內置的tips數據集
tips = sns.load_dataset("tips")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
... ... ... ... ... ... ... ...
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
3.2 單維畫圖
?? 在畫箱線圖時,我們取單個維度指定方向即可,具體的代碼如下所示:
ax = sns.boxplot(y=tips["total_bill"])
?? 具體的圖片如下所示:
ax = sns.boxplot(x=tips["total_bill"])
3.3 分組畫圖
?? 有時候我們需要對多個維度的分布進行對比分析,這個時候需要分組畫圖,具體的代碼如下所示:
# 分組繪制箱線圖,分組因子是day,在x軸不同位置繪制
ax = sns.boxplot(x="day", y="total_bill", data=tips)
??有時候我們不僅要分組,同時對每個分組內某個特征維度進行對比分析,具體的代碼如下所示:
# 分組箱線圖,分子因子是smoker,不同的因子用不同顏色區分
ax = sns.boxplot(x="day", y="total_bill", hue="smoker",data=tips, palette="Set3")
4 高階用法
?? 有時候我們不僅需要畫出數據的分布圖,但是還想知道具體的數據點的分布,這個時候我們可以結合分布散點圖來一起使用,具體的代碼如下所示:
# 箱線圖+有分布趨勢的散點圖
# 圖形組合也就是兩條繪圖語句一起運行就可以了,相當于圖形覆蓋了
ax = sns.boxplot(x="day", y="total_bill", data=tips)
ax = sns.swarmplot(x="day", y="total_bill", data=tips, color=".25")
🔍 5. 注意事項
- 箱線圖非常適合于比較不同組數據的分布情況。
- 箱線圖中的異常值通常用點表示,位于箱形圖外的點表示這些值。
- 箱線圖的四分位距(IQR)可以提供數據分布的穩定性和離散程度的信息。
- 在繪制箱線圖時,考慮數據的規模和分布特性,選擇合適的軸尺度(如對數尺度)。
🔍 6. 總結
??Seaborn的箱線圖是一種強大的工具,用于快速理解數據的分布情況和識別異常值。通過本博客的代碼示例,我們學習了如何使用Seaborn繪制箱線圖,并展示了如何通過箱線圖探索不同類別數據的分布特征。希望這篇博客能夠幫助你更好地利用箱線圖進行數據探索和分析。