SlideShare a Scribd company logo
國立臺北護理健康大學 NTUNHS
Clustering
Orozco Hsu
2023-11-21
1
About me
• Education
• NCU (MIS)、NCCU (CS)
• Work Experience
• Telecom big data Innovation
• AI projects
• Retail marketing technology
• User Group
• TW Spark User Group
• TW Hadoop User Group
• Taiwan Data Engineer Association Director
• Research
• Big Data/ ML/ AIOT/ AI Columnist
2
Tutorial
Content
3
作業
K-means 介紹
模型建立步驟
Code
• Download code
• https://github.com/orozcohsu/ntunhs_2023_02
• Folder
• 20231121
4
作業回顧
5
視覺化資料分析
欄位名稱 說明
Sales(銷量) Unit sales (in thousands) at each location
CompPrice(競爭者價格) Price charged by competitor at each location
Income(收入等級) Community income level (in thousands of dollars)
Advertising(廣告預算) Local advertising budget for company at each location (in thousands of dollars)
Population(人口) Population size in region (in thousands)
Price(價格) Price company charges for car seats at each site
ShelveLoc
A factor with levels Bad, Good and Medium indicating the quality of the shelving
location for the car seats at each site
Age(年齡) Average age of the local population
Education(教育程度) Education level at each location
Urban
A factor with levels No and Yes to indicate whether the store is in an urban or
rural location
US A factor with levels No and Yes to indicate whether the store is in the US or not
6
視覺化資料分析
• 通常行銷的最終目標就是促進銷量,所以我們會想知道究竟是什
麼因素可能影響銷量(Sales),藉此達到提升銷量的目的
• 先從基本的人口因素開始比較,市場的大小與人口(Population)
有絕對的相關,以下我們先以視覺化的方式來呈現
7
8
散佈的狀態
沒有顯著的相關
視覺化資料分析
• 加入一個公司可控且有機會影響銷量的因素貨架陳列位置
(ShelveLoc),貨架陳列位置是指公司商品放在通路的擺放位
置的優劣
• 放入貨架陳列位置因素可以清楚地發現,貨架陳列位置的確會影
響銷量, 成功驗證我們的假設
• 這時就可以明確的向老闆建議,銷量不好、但是人口數大的分店,
將行銷預算投資到提升商品於貨架陳列位置
9
10
視覺化資料分析
• 放入變數廣告預算後,可以更精確地看有許多分店, 即便投入大
量行銷預算, 效果也不大
• 找到可以改進銷量不好的分店,而我們可以設定一個條件
• 例如: 選出人口數大於300且銷售量在7.5(千單位)以下,並且有廣告
預算的分店,建議將廣告預算可以 勻撥一些至提升貨架陳列位置,就可
預期會有提升銷售的效益
11
12
建立環境
• 切換執行環境
13
建立環境
• 安裝套件
• pip install scikit-learn
14
建立環境
• 開啟 jupyterlab
15
K-means
• 為非監督式學習一種
• 不需要準備數據標記
16
參考: https://zhuanlan.zhihu.com/p/97510390
K-means
• 演算法步驟
• 定義 K 值,決定分群數目
• 隨機給各 K 群中心點,計算所有訓練樣本,把每個訓練樣本分配到距離
最近的 K 群當中
• 移動各 K 群的中心點,讓該中心點為該群所有樣本距離和的平均處
• 重複上述動作,直到中心點不再移動為止
• https://www.youtube.com/watch?v=5I3Ei69I40s
17
K-means
• 受到初始值和離群值的影響,造成分群結果不穩定
• 甚麼叫做不穩定?
• 容易收斂到局部最佳解
• 甚麼叫做局部?
• 盡量選擇均衡的樣本數據集
• 甚麼叫做均衡? 如果不均衡怎麼辦?
• 需要預設分群數量
• 面對未知的數據,如何選擇適當的分群數?
• 分群質心不一定是樣本數據集
• 質心是否可以重複利用? 作為下次新數據的質心?
18
如何選擇適當的分群數
• 群群合併方式
• 例如: 先方20群,再將相似的群合併起來
• 如何定義相似的群?
• 透過輪廓係數 (Silhouette),找出轉折點
19
收集變數/處理變數
• 非監督式模型變數
• 不須應變數
• 盡量找出會變化的變數,不要找類似性別、居住地…不大會變化的變數
• 盡量避免 binary 變數 (視情況)
• 可接受數值型變數、類別型變數
• 處理變數
• 不允許空值,空值要事先處理
• 事先處理離群值,可透過切bin的方式處理
• 數值型變數可考慮進行標準化,如: StandardScaler
• 類別型變數可考慮 dummy variables, one-hot encoding 方式轉換
20
Dummy variable vs One-Hot encoding
21
觀察變數內容值/處理變數
• 檢視每一個變數,內容值分布
• 肉眼觀察,不要通通集中在某一區
• 透過變數變換,盡量將值展開(攤平)
22
大數據運算,需要考量時間複雜度
• 每一筆資料都要計算,時間複雜度高
• 幾種方法可以增加速度
• 透過程式面著手,如: 多執行緒
• 雖然 Scikit-learn 採用全核心計算來增加速度,但是還是可以考慮用
numpy 提升速度
• https://blog.paperspace.com/speed-up-kmeans-numpy-vectorization-
broadcasting-profiling/
• 改用 mini-batch k-means
23
受眾分群
• 敘述型統計觀察每一群的變數
分布
• 年紀區間 => 如: 這是一群老人
• 性別分布 => 如: 女性較多
• 居住地分布 => 如: 北部區域
• …
• 依照業務邏輯,命名每一群的
名稱(Labeling)
• 用於名單操作 (業務場景)
24
資料更新後,如何處理分群
• Re-fresh
• 相同變數欄位,僅資料內容更新
• 沿用相同的分群質心,取得最新的分群名單
• Re-model
• 有新的變數產生,需要重頭建模一次
• 取得最新的分群質心並儲存,下次更新分群名單時使用
• 使用時機?
25
其他常見的分群演算法
26
https://scikit-learn.org/stable/modules/clustering.html
作業
• 繼續完成 keman_ckd.ipynb,完成客戶分群
• 透過投影片介紹分群結果,並搭配衛教方式、推薦健康講座 (需要
google 結合時事)
27

More Related Content

Similar to 2023 Clustering analysis using Python from scratch (20)

PPT
101.06 14-創業初期行銷策略-詹翔霖教授
文化大學
 
PPT
101.05 流通業趨勢-詹翔霖教授
文化大學
 
PPT
行銷管理-981031 台東市政府-詹翔霖教授
文化大學
 
PPT
103.03.00 目標市場行銷與市場定位策略-詹翔霖教授
文化大學
 
PPT
行銷運用-990630南區創業進階班-詹翔霖教授
文化大學
 
PPT
102.00.00 商圈與立地評估-詹翔霖教授
翔霖 詹
 
PPT
102.00.00 商圈與立地評估-詹翔霖教授-大陸版
文化大學
 
PPT
管科會-行銷-詹翔霖副教授
文化大學
 
PPT
行銷管理-詹翔霖教授
文化大學
 
PDF
資料如何幫助產品決策
Soldier Hsieh
 
PPT
102.08.16 行銷管理-創業進階班-詹翔霖教授
文化大學
 
PDF
Customer behavior analysis
FEG
 
PDF
2_Clustering.pdf
FEG
 
PDF
3 clustering 1
FEG
 
PPT
102.05.15 商圈地點與評估-勞委會-詹翔霖教授-創業進階班
文化大學
 
PPT
高雄第一科技大學-創業星光班-整體行銷實作 -詹翔霖教授
文化大學
 
PPT
100.12.17 高雄第一科技大學-創業星光班-整體行銷實作 -詹翔霖教授
文化大學
 
PPTX
高市職業訓練創新發展協會 美容產品發展與產品生命週期策略-詹翔霖教授
翔霖 詹
 
PPT
行銷管理-980803 台東進階班-詹翔霖教授
文化大學
 
PPT
第四章 休閒事業的策略性行銷管理
蜨穆 諾淦
 
101.06 14-創業初期行銷策略-詹翔霖教授
文化大學
 
101.05 流通業趨勢-詹翔霖教授
文化大學
 
行銷管理-981031 台東市政府-詹翔霖教授
文化大學
 
103.03.00 目標市場行銷與市場定位策略-詹翔霖教授
文化大學
 
行銷運用-990630南區創業進階班-詹翔霖教授
文化大學
 
102.00.00 商圈與立地評估-詹翔霖教授
翔霖 詹
 
102.00.00 商圈與立地評估-詹翔霖教授-大陸版
文化大學
 
管科會-行銷-詹翔霖副教授
文化大學
 
行銷管理-詹翔霖教授
文化大學
 
資料如何幫助產品決策
Soldier Hsieh
 
102.08.16 行銷管理-創業進階班-詹翔霖教授
文化大學
 
Customer behavior analysis
FEG
 
2_Clustering.pdf
FEG
 
3 clustering 1
FEG
 
102.05.15 商圈地點與評估-勞委會-詹翔霖教授-創業進階班
文化大學
 
高雄第一科技大學-創業星光班-整體行銷實作 -詹翔霖教授
文化大學
 
100.12.17 高雄第一科技大學-創業星光班-整體行銷實作 -詹翔霖教授
文化大學
 
高市職業訓練創新發展協會 美容產品發展與產品生命週期策略-詹翔霖教授
翔霖 詹
 
行銷管理-980803 台東進階班-詹翔霖教授
文化大學
 
第四章 休閒事業的策略性行銷管理
蜨穆 諾淦
 

More from FEG (20)

PDF
Supervised learning in decision tree algorithm
FEG
 
PDF
Unsupervised learning in data clustering
FEG
 
PDF
CNN_Image Classification for deep learning.pdf
FEG
 
PDF
Sequence Model with practicing hands on coding.pdf
FEG
 
PDF
Seq2seq Model introduction with practicing hands on coding.pdf
FEG
 
PDF
AIGEN introduction with practicing hands on coding.pdf
FEG
 
PDF
資料視覺化_Exploation_Data_Analysis_20241015.pdf
FEG
 
PDF
Operation_research_Linear_programming_20241015.pdf
FEG
 
PDF
Operation_research_Linear_programming_20241112.pdf
FEG
 
PDF
Sequence Model pytorch at colab with gpu.pdf
FEG
 
PDF
學院碩士班_非監督式學習_使用Orange3直接使用_分群_20240417.pdf
FEG
 
PDF
資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf
FEG
 
PDF
Pytorch cnn netowork introduction 20240318
FEG
 
PDF
2023 Decision Tree analysis in business practices
FEG
 
PDF
2023 Data visualization using Python from scratch
FEG
 
PDF
2023 Supervised Learning for Orange3 from scratch
FEG
 
PDF
2023 Supervised_Learning_Association_Rules
FEG
 
PDF
202312 Exploration Data Analysis Visualization (English version)
FEG
 
PDF
202312 Exploration of Data Analysis Visualization
FEG
 
PDF
Transfer Learning (20230516)
FEG
 
Supervised learning in decision tree algorithm
FEG
 
Unsupervised learning in data clustering
FEG
 
CNN_Image Classification for deep learning.pdf
FEG
 
Sequence Model with practicing hands on coding.pdf
FEG
 
Seq2seq Model introduction with practicing hands on coding.pdf
FEG
 
AIGEN introduction with practicing hands on coding.pdf
FEG
 
資料視覺化_Exploation_Data_Analysis_20241015.pdf
FEG
 
Operation_research_Linear_programming_20241015.pdf
FEG
 
Operation_research_Linear_programming_20241112.pdf
FEG
 
Sequence Model pytorch at colab with gpu.pdf
FEG
 
學院碩士班_非監督式學習_使用Orange3直接使用_分群_20240417.pdf
FEG
 
資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf
FEG
 
Pytorch cnn netowork introduction 20240318
FEG
 
2023 Decision Tree analysis in business practices
FEG
 
2023 Data visualization using Python from scratch
FEG
 
2023 Supervised Learning for Orange3 from scratch
FEG
 
2023 Supervised_Learning_Association_Rules
FEG
 
202312 Exploration Data Analysis Visualization (English version)
FEG
 
202312 Exploration of Data Analysis Visualization
FEG
 
Transfer Learning (20230516)
FEG
 
Ad

2023 Clustering analysis using Python from scratch