Master_data_visualization_handout_20251013.pdf

orozcohsu 0 views 48 slides Oct 15, 2025
Slide 1
Slide 1 of 48
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48

About This Presentation

Using python package (pandas, seaborn) to visiualize data with different points of perspection. It's good for beginning user to start how to analize data and store telling skills.


Slide Content

國立臺北護理健康大學 NTUNHS
資料視覺化
Orozco Hsu
2025-10-13
1

About me
2
•Education
•NCU (MIS)、NCCU (CS)
•Experiences
•Telecom big data Innovation
•Retail Media Network (RMN)
•Customer Data Platform (CDP)
•Know-your-customer (KYC)
•Digital Transformation
•LLM Architecture & Development
•Research
•Data Ops (ML Ops)
•Generative AI research
•Business Data Analysis, AI

Tutorial Content
3
Exploration Discovery Analysis (EDA)
資料視覺化
作業
建立 Python 開發環境

建立 Python 開發環境
•Minicondaon Windows
•Download Success | Anaconda
•Python 3.13/64-Bit
4
記得打勾

建立 Python 開發環境
•進入命令提示字元,建立程式開發環境
5

建立 Python 開發環境
•切換執行環境 (由預設的 base環境切換到剛剛新建立的環境 )
6

建立 Python 開發環境
•安裝套件
•pip install seaborn
•pip install numpy
•pip install pandas
•pip install openpyxl
•pip install jupyterlab
7

建立 Python 開發環境
•開啟 jupyterlab(編寫程式的工具 )
8

9
參考: https://commons.wikimedia.org/wiki/File:Data_visualization_process_v1.png
EDA 用在探索資料,目的是 BI (80%) 或 建模 (20%)

Data Sanity Check
•EDA 就是第一步
•EDA 有助於我們了解資料樣貌
•總資料筆數、遺缺值比例、遺缺值處理方式、欄位值分布、欄位值合理
性(business domain knowledge)
•EDA 有助於事後模型預測
•進行處理 (Normalization與Standardization)
10
EDA is an approach to analyzing datasets to summarize their main characteristics,
often with visual methods (wikipedia)

Python 能幫我們什麼 ?
•進行 EDA (敘述型統計 )
•檢視資料集
•檢查資料筆數與欄位型態
•檢查是否有不合理的空值
•檢查是否有不合理的重複值
•針對單變量或多變量數值型欄位繪圖 (Histogram 直方圖)
•針對類別型欄位繪圖 (Bar-Chart 長條圖)
•若存在時間關係,針對日、月、年維度與頻次繪圖 (Line-Chart 折線圖)
11
透過 pandas 套件進
行資料整理、操作 ,
更方便進行 EDA

檢視資料集 (使用 pandas 套件的 DataFrame)
12
資料集欄位型態
•主要區分為文字、數字
•不同型態會有占用不同的記憶體空間
資料集樣貌
•包含 (索引、欄位名稱 )

DataFrame資料型態
13
參考: https://pbpython.com/pandas_dtypes.html

練習1
14
•請執行下列程式碼
•一定要懂如何將資料引入
•一定要懂 index 的概念 (進階: 善用 index 加快資料處理 )
•一定要懂 pandas 資料型態、資料處理的基本操作
•比較難的地方在 apply 函數的操作
pandas_dtype.ipynb
pandas_index.ipynb

最常見的視覺化工具
•入門程式開發 :
•Python seaborn 套件
•進階程式開發 :
•Python Dash、Plotly 套件
•商業應用:
•Tableau、PowerBI 商業版工具
15

視覺化分析工具 – relplot(1/9)
•分析變數之間的關係
•統計分析是一種了解資料集中各變數之間關係,以及這些關係如何依賴
於其他變數的過程。
在這個過程中,資料視覺化可以是核心組成部分,因為當資料被正確地
視覺化時,人類的視覺系統能夠察覺出顯示變數間關聯的趨勢與模式。
16
參考: https://www.cntofu.com/book/172/docs/10.md

視覺化分析工具 – relplot(2/9)
17
Outliner
探討 0 以上、以下的資料屬性
探討 Outliner 的數量與內容
趨勢

視覺化分析工具 – relplot(3/9)
18
Profit 0為界線,
探討>0 與<0
Order Priority 的
關係

視覺化分析工具 – relplot(4/9)
19
Profit平均線為界線,
探討Order Priority
的關係

視覺化分析工具 – relplot(5/9)
20
探討 Profit >0 或
<0 與 Discount 的
關係

視覺化分析工具 – relplot(6/9)
21
95% 信賴區間 Confidence interval (CI)
CI 越大: 表示數據波動越大(不同樣本之間差異大)
CI 越小:表示估計越穩定(樣本一致性高)

視覺化分析工具 – relplot(7/9)
22
疫情發生
隨著時間而變化的
趨勢發展,比較前
後銷售關係

視覺化分析工具 – relplot(8/9)
23
探討三種變數的關係

視覺化分析工具 – relplot (9/9)
24
col_wrap=4
產品A
產品B
產品C
運送方式

視覺化分析工具 – catplot(1/11)
•如何運用不同的視覺化方式來呈現資料集中多個變數之間的關係。
我們主要聚焦於兩個數值變數之間關係的情境。
•若其中一個主要變數是類別型變數(即分為離散群組),則可能
需要採用更具針對性的視覺化方法來呈現資料。
25參考: https://www.cntofu.com/book/172/docs/13.md

視覺化分析工具 – catplot(2/11)
26
1.數據集中 (Q2) 與離散程度 (IRQ 大小決定 ),IRQ 表示 (Q3 –Q1) 50% 資料離散程度 (IRQ 越大表示離散程度越大 )
2.資料的偏態
3.極端值 (研究長尾分布,代表少數但影響巨大的事件 (例如: 爆紅產品、重大異常 ),風險管理、行銷、財務分析中,
長尾部分往往決定總體結果
4.資料範圍,顯示最大與最小值 (不包含極端值 )

補充: boxplot 計算方式
•假設有一組排列好的數字如下
•Q1 = 13, Q3 = 17, IRQ = 4 (17-13)
•下界=7 (13 –1.5 x 4)
•上界 = 23 (17 + 1.5 x 4)
•請畫出 boxplot
27
10 12 13 14 15 16 17 18 90

視覺化分析工具 – catplot(3/11)
28
從這裡看出來,
Regular Air 有極端
值,但是下一步呢 ?

視覺化分析工具 – catplot(4/11)
29
左偏
右偏
比較不同組別、時間或條件下的數據
1.比較各組的中位數 (誰的表現高低 )
2.比較盒子 (IRQ) 的高度 (誰的數據比較穩定或波動大 )
3.比較極端值 (誰的數據更異常或分布更廣 )
原來在 Furniture
分類中,離群值很
明顯

補充:偏度(skewness)與眾數(mode)、中位數 (median)、平均數 (mean)之關係
30
1. 平均數很容易受到極端值的影響,因此,平均數會偏向 極端值多的一方。
2. 眾數與中位數不易受到離群值的影響,因此,當離群值很多時,平均數可能不適合來代表整個數據的值。
右偏:平均數 >中位數 > 眾數左偏:平均數<中位數<眾數

視覺化分析工具 – catplot(5/11)
31

視覺化分析工具 – catplot(6/11)
在 Violin plot 當中遷入 box 更優
32參考: Python 箱型圖/小提琴圖( Box/Violin Plot) -Wayne's Talk (waynestalk.com)
顯示出機率密度
(資料出現的機率,例如 : 資料集中
在哪裡? 是否為單峰 /雙峰分布 ? )

補充: 單峰或雙峰分布
33
單峰分布 : 集中趨勢明確,適合用平均、中位數、標準差代表資料,可用傳統檢定統計檢定
雙峰/多峰分布 : 資料異質,需要考慮分群或混合模型

視覺化分析工具 – catplot(7/11)
34
中間黑色的部分為 IRQ,白色的點為中位數
Office Supplies:
1.分布特徵 : 寬而扁,資料多集中在低運費區 (0 ~ 10)
2.上端少數延伸到 100 以上的右長尾 (偶爾有高運費的案例 )
Technology Product Category:
1.分布特徵 : 相對較窄,集中在 (0 ~ 25)
2.中位數集中在底部,表示大部分運費都低,極端值較少
Furniture:
1.分布特徵 : 範圍廣、明顯變異大
2.中位數比其他類別高,可能有多個峰 (大型家具 vs 小型家具 )
3.高離散、右長尾顯著、多峰分布

視覺化分析工具 – catplot(8/11)
35
從這裡看出來,
Technology 與
Furniture 有較高的
Sales,下一步呢 ?

視覺化分析工具 – catplot(9/11)
36
以 Sales 與
Technology為基礎,
帶入其他變數進行分析,
例如: Ship Mode

視覺化分析工具 – catplot(10/11)
37

視覺化分析工具 – catplot (11/11)
38

視覺化分析工具 – displot (1/2)
•它們是否呈現明顯的偏度( skewness)或峰度( kurtosis)?
•是否有出現雙峰( bimodality)的跡象?
39
參考: https://www.cntofu.com/book/172/docs/24.md
雙峰
偏度 (skewness) 與 峰度 (kurtosis) 的計算?

視覺化分析工具 – displot(2/2)
40
右偏

補充: 從了解資料的分布到資料的修正,目的是為了「建模」
•監督式學習
•假設樣本資料為常態分佈
•分監督式學習
•分群的邊界 拉開,讓分群效果更好
•當資料為單峰偏斜,可以考慮採用變數轉換
•https://unaettie.com/zh-tw/pz/transform_xplain.php
41

視覺化分析工具 –jointplot(1/3)
•繪製一張同時顯示雙變量( bivariate)或單變量( univariate)
圖形的圖表
42

視覺化分析工具 –jointplot(2/3)
43
數量分布

視覺化分析工具 –jointplot(3/3)
44
數量分布

練習2
•請執行下列程式碼
•一定要熟悉 replot、catplot 因為這些是最基礎的分析圖表
•一定要搞清楚偏態對於資料分布的意義,並且對應的處理方式
•一定要學會看資料並且說故事的能力
45
visualization.ipynb

補充: 資料預處理 (進入建模之前的重要步驟 )
46

作業1
•練習 pandas 資料操作,請參考下列連結
•https://pandas.pydata.org/docs/user_guide/10min.html
•開啟 hw01.ipynb,完成作業
47

作業2
•請透過 20221016_HW.csv 進行視覺化資料分析
48