SlideShare a Scribd company logo
1 of 27
Download to read offline
國立臺北護理健康大學 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

數據特性 vs AI產品設計與實作
數據特性 vs AI產品設計與實作數據特性 vs AI產品設計與實作
數據特性 vs AI產品設計與實作Albert Y. C. Chen
 
果合_您的移动应用广告管理专家
果合_您的移动应用广告管理专家果合_您的移动应用广告管理专家
果合_您的移动应用广告管理专家milido
 
拉力行銷 行銷超人管理篇 2015_9_20
拉力行銷 行銷超人管理篇 2015_9_20拉力行銷 行銷超人管理篇 2015_9_20
拉力行銷 行銷超人管理篇 2015_9_20Richard Lin
 
结构化思考形象化表达 -Amt王佑
结构化思考形象化表达 -Amt王佑结构化思考形象化表达 -Amt王佑
结构化思考形象化表达 -Amt王佑eshen
 
07 國際行銷策略(按此下載)
07 國際行銷策略(按此下載)07 國際行銷策略(按此下載)
07 國際行銷策略(按此下載)ChiChi
 
【Get it right】如何有組織地打一場漂亮的數位行銷戰(新創篇)
【Get it right】如何有組織地打一場漂亮的數位行銷戰(新創篇) 【Get it right】如何有組織地打一場漂亮的數位行銷戰(新創篇)
【Get it right】如何有組織地打一場漂亮的數位行銷戰(新創篇) SoWork Insight Consultant
 
05 國際經營策略與組織結構(按此下載)
05 國際經營策略與組織結構(按此下載)05 國際經營策略與組織結構(按此下載)
05 國際經營策略與組織結構(按此下載)ChiChi
 
提升銷售戰力 創薪家族-991214-詹翔霖教授
提升銷售戰力 創薪家族-991214-詹翔霖教授提升銷售戰力 創薪家族-991214-詹翔霖教授
提升銷售戰力 創薪家族-991214-詹翔霖教授文化大學
 
102.10.00 服務設計創新的服務--詹翔霖教授-顧客關係管理及創新服務班-11-詹翔霖教授
102.10.00 服務設計創新的服務--詹翔霖教授-顧客關係管理及創新服務班-11-詹翔霖教授102.10.00 服務設計創新的服務--詹翔霖教授-顧客關係管理及創新服務班-11-詹翔霖教授
102.10.00 服務設計創新的服務--詹翔霖教授-顧客關係管理及創新服務班-11-詹翔霖教授文化大學
 
商業模式創新講座 120406
商業模式創新講座 120406商業模式創新講座 120406
商業模式創新講座 120406CPCRDI
 
商業模式創新講座 120406
商業模式創新講座 120406商業模式創新講座 120406
商業模式創新講座 120406基欽 劉
 
李慕約&王向榮/如何備料:資料的抓取、清理以及串接
李慕約&王向榮/如何備料:資料的抓取、清理以及串接李慕約&王向榮/如何備料:資料的抓取、清理以及串接
李慕約&王向榮/如何備料:資料的抓取、清理以及串接台灣資料科學年會
 
簡報規劃與技巧
簡報規劃與技巧簡報規劃與技巧
簡報規劃與技巧基欽 劉
 
中華民國科技管理個案競賽 Motivate our taiwan
中華民國科技管理個案競賽 Motivate our taiwan中華民國科技管理個案競賽 Motivate our taiwan
中華民國科技管理個案競賽 Motivate our taiwan孟賢 顏
 
20130312 商業模式創新講座
20130312 商業模式創新講座 20130312 商業模式創新講座
20130312 商業模式創新講座 CPCRDI
 
101.06 09-秀出自我,展現品牌價值 -詹翔霖教授-女性創業育成班
101.06 09-秀出自我,展現品牌價值 -詹翔霖教授-女性創業育成班101.06 09-秀出自我,展現品牌價值 -詹翔霖教授-女性創業育成班
101.06 09-秀出自我,展現品牌價值 -詹翔霖教授-女性創業育成班文化大學
 
101.11.25 連鎖經營與行銷-高雄市藥師公會-詹翔霖教授
101.11.25 連鎖經營與行銷-高雄市藥師公會-詹翔霖教授101.11.25 連鎖經營與行銷-高雄市藥師公會-詹翔霖教授
101.11.25 連鎖經營與行銷-高雄市藥師公會-詹翔霖教授文化大學
 
101.06 14-創業初期行銷策略-詹翔霖教授
101.06 14-創業初期行銷策略-詹翔霖教授101.06 14-創業初期行銷策略-詹翔霖教授
101.06 14-創業初期行銷策略-詹翔霖教授文化大學
 
101.06 14-創業初期行銷策略-詹翔霖教授
101.06 14-創業初期行銷策略-詹翔霖教授101.06 14-創業初期行銷策略-詹翔霖教授
101.06 14-創業初期行銷策略-詹翔霖教授文化大學
 
網路廣告的基本架構
網路廣告的基本架構網路廣告的基本架構
網路廣告的基本架構Chen-en Lu
 

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

數據特性 vs AI產品設計與實作
數據特性 vs AI產品設計與實作數據特性 vs AI產品設計與實作
數據特性 vs AI產品設計與實作
 
果合_您的移动应用广告管理专家
果合_您的移动应用广告管理专家果合_您的移动应用广告管理专家
果合_您的移动应用广告管理专家
 
拉力行銷 行銷超人管理篇 2015_9_20
拉力行銷 行銷超人管理篇 2015_9_20拉力行銷 行銷超人管理篇 2015_9_20
拉力行銷 行銷超人管理篇 2015_9_20
 
结构化思考形象化表达 -Amt王佑
结构化思考形象化表达 -Amt王佑结构化思考形象化表达 -Amt王佑
结构化思考形象化表达 -Amt王佑
 
07 國際行銷策略(按此下載)
07 國際行銷策略(按此下載)07 國際行銷策略(按此下載)
07 國際行銷策略(按此下載)
 
【Get it right】如何有組織地打一場漂亮的數位行銷戰(新創篇)
【Get it right】如何有組織地打一場漂亮的數位行銷戰(新創篇) 【Get it right】如何有組織地打一場漂亮的數位行銷戰(新創篇)
【Get it right】如何有組織地打一場漂亮的數位行銷戰(新創篇)
 
05 國際經營策略與組織結構(按此下載)
05 國際經營策略與組織結構(按此下載)05 國際經營策略與組織結構(按此下載)
05 國際經營策略與組織結構(按此下載)
 
提升銷售戰力 創薪家族-991214-詹翔霖教授
提升銷售戰力 創薪家族-991214-詹翔霖教授提升銷售戰力 創薪家族-991214-詹翔霖教授
提升銷售戰力 創薪家族-991214-詹翔霖教授
 
102.10.00 服務設計創新的服務--詹翔霖教授-顧客關係管理及創新服務班-11-詹翔霖教授
102.10.00 服務設計創新的服務--詹翔霖教授-顧客關係管理及創新服務班-11-詹翔霖教授102.10.00 服務設計創新的服務--詹翔霖教授-顧客關係管理及創新服務班-11-詹翔霖教授
102.10.00 服務設計創新的服務--詹翔霖教授-顧客關係管理及創新服務班-11-詹翔霖教授
 
商業模式創新講座 120406
商業模式創新講座 120406商業模式創新講座 120406
商業模式創新講座 120406
 
商業模式創新講座 120406
商業模式創新講座 120406商業模式創新講座 120406
商業模式創新講座 120406
 
李慕約&王向榮/如何備料:資料的抓取、清理以及串接
李慕約&王向榮/如何備料:資料的抓取、清理以及串接李慕約&王向榮/如何備料:資料的抓取、清理以及串接
李慕約&王向榮/如何備料:資料的抓取、清理以及串接
 
簡報規劃與技巧
簡報規劃與技巧簡報規劃與技巧
簡報規劃與技巧
 
中華民國科技管理個案競賽 Motivate our taiwan
中華民國科技管理個案競賽 Motivate our taiwan中華民國科技管理個案競賽 Motivate our taiwan
中華民國科技管理個案競賽 Motivate our taiwan
 
20130312 商業模式創新講座
20130312 商業模式創新講座 20130312 商業模式創新講座
20130312 商業模式創新講座
 
101.06 09-秀出自我,展現品牌價值 -詹翔霖教授-女性創業育成班
101.06 09-秀出自我,展現品牌價值 -詹翔霖教授-女性創業育成班101.06 09-秀出自我,展現品牌價值 -詹翔霖教授-女性創業育成班
101.06 09-秀出自我,展現品牌價值 -詹翔霖教授-女性創業育成班
 
101.11.25 連鎖經營與行銷-高雄市藥師公會-詹翔霖教授
101.11.25 連鎖經營與行銷-高雄市藥師公會-詹翔霖教授101.11.25 連鎖經營與行銷-高雄市藥師公會-詹翔霖教授
101.11.25 連鎖經營與行銷-高雄市藥師公會-詹翔霖教授
 
101.06 14-創業初期行銷策略-詹翔霖教授
101.06 14-創業初期行銷策略-詹翔霖教授101.06 14-創業初期行銷策略-詹翔霖教授
101.06 14-創業初期行銷策略-詹翔霖教授
 
101.06 14-創業初期行銷策略-詹翔霖教授
101.06 14-創業初期行銷策略-詹翔霖教授101.06 14-創業初期行銷策略-詹翔霖教授
101.06 14-創業初期行銷策略-詹翔霖教授
 
網路廣告的基本架構
網路廣告的基本架構網路廣告的基本架構
網路廣告的基本架構
 

More from FEG

Sequence Model pytorch at colab with gpu.pdf
Sequence Model pytorch at colab with gpu.pdfSequence Model pytorch at colab with gpu.pdf
Sequence Model pytorch at colab with gpu.pdfFEG
 
學院碩士班_非監督式學習_使用Orange3直接使用_分群_20240417.pdf
學院碩士班_非監督式學習_使用Orange3直接使用_分群_20240417.pdf學院碩士班_非監督式學習_使用Orange3直接使用_分群_20240417.pdf
學院碩士班_非監督式學習_使用Orange3直接使用_分群_20240417.pdfFEG
 
資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf
資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf
資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdfFEG
 
Pytorch cnn netowork introduction 20240318
Pytorch cnn netowork introduction 20240318Pytorch cnn netowork introduction 20240318
Pytorch cnn netowork introduction 20240318FEG
 
2023 Decision Tree analysis in business practices
2023 Decision Tree analysis in business practices2023 Decision Tree analysis in business practices
2023 Decision Tree analysis in business practicesFEG
 
2023 Data visualization using Python from scratch
2023 Data visualization using Python from scratch2023 Data visualization using Python from scratch
2023 Data visualization using Python from scratchFEG
 
2023 Supervised Learning for Orange3 from scratch
2023 Supervised Learning for Orange3 from scratch2023 Supervised Learning for Orange3 from scratch
2023 Supervised Learning for Orange3 from scratchFEG
 
2023 Supervised_Learning_Association_Rules
2023 Supervised_Learning_Association_Rules2023 Supervised_Learning_Association_Rules
2023 Supervised_Learning_Association_RulesFEG
 
202312 Exploration Data Analysis Visualization (English version)
202312 Exploration Data Analysis Visualization (English version)202312 Exploration Data Analysis Visualization (English version)
202312 Exploration Data Analysis Visualization (English version)FEG
 
202312 Exploration of Data Analysis Visualization
202312 Exploration of Data Analysis Visualization202312 Exploration of Data Analysis Visualization
202312 Exploration of Data Analysis VisualizationFEG
 
Transfer Learning (20230516)
Transfer Learning (20230516)Transfer Learning (20230516)
Transfer Learning (20230516)FEG
 
Image Classification (20230411)
Image Classification (20230411)Image Classification (20230411)
Image Classification (20230411)FEG
 
Google CoLab (20230321)
Google CoLab (20230321)Google CoLab (20230321)
Google CoLab (20230321)FEG
 
Supervised Learning
Supervised LearningSupervised Learning
Supervised LearningFEG
 
UnSupervised Learning Clustering
UnSupervised Learning ClusteringUnSupervised Learning Clustering
UnSupervised Learning ClusteringFEG
 
Data Visualization in Excel
Data Visualization in ExcelData Visualization in Excel
Data Visualization in ExcelFEG
 
6_Association_rule_碩士班第六次.pdf
6_Association_rule_碩士班第六次.pdf6_Association_rule_碩士班第六次.pdf
6_Association_rule_碩士班第六次.pdfFEG
 
5_Neural_network_碩士班第五次.pdf
5_Neural_network_碩士班第五次.pdf5_Neural_network_碩士班第五次.pdf
5_Neural_network_碩士班第五次.pdfFEG
 
4_Regression_analysis.pdf
4_Regression_analysis.pdf4_Regression_analysis.pdf
4_Regression_analysis.pdfFEG
 
3_Decision_tree.pdf
3_Decision_tree.pdf3_Decision_tree.pdf
3_Decision_tree.pdfFEG
 

More from FEG (20)

Sequence Model pytorch at colab with gpu.pdf
Sequence Model pytorch at colab with gpu.pdfSequence Model pytorch at colab with gpu.pdf
Sequence Model pytorch at colab with gpu.pdf
 
學院碩士班_非監督式學習_使用Orange3直接使用_分群_20240417.pdf
學院碩士班_非監督式學習_使用Orange3直接使用_分群_20240417.pdf學院碩士班_非監督式學習_使用Orange3直接使用_分群_20240417.pdf
學院碩士班_非監督式學習_使用Orange3直接使用_分群_20240417.pdf
 
資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf
資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf
資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf
 
Pytorch cnn netowork introduction 20240318
Pytorch cnn netowork introduction 20240318Pytorch cnn netowork introduction 20240318
Pytorch cnn netowork introduction 20240318
 
2023 Decision Tree analysis in business practices
2023 Decision Tree analysis in business practices2023 Decision Tree analysis in business practices
2023 Decision Tree analysis in business practices
 
2023 Data visualization using Python from scratch
2023 Data visualization using Python from scratch2023 Data visualization using Python from scratch
2023 Data visualization using Python from scratch
 
2023 Supervised Learning for Orange3 from scratch
2023 Supervised Learning for Orange3 from scratch2023 Supervised Learning for Orange3 from scratch
2023 Supervised Learning for Orange3 from scratch
 
2023 Supervised_Learning_Association_Rules
2023 Supervised_Learning_Association_Rules2023 Supervised_Learning_Association_Rules
2023 Supervised_Learning_Association_Rules
 
202312 Exploration Data Analysis Visualization (English version)
202312 Exploration Data Analysis Visualization (English version)202312 Exploration Data Analysis Visualization (English version)
202312 Exploration Data Analysis Visualization (English version)
 
202312 Exploration of Data Analysis Visualization
202312 Exploration of Data Analysis Visualization202312 Exploration of Data Analysis Visualization
202312 Exploration of Data Analysis Visualization
 
Transfer Learning (20230516)
Transfer Learning (20230516)Transfer Learning (20230516)
Transfer Learning (20230516)
 
Image Classification (20230411)
Image Classification (20230411)Image Classification (20230411)
Image Classification (20230411)
 
Google CoLab (20230321)
Google CoLab (20230321)Google CoLab (20230321)
Google CoLab (20230321)
 
Supervised Learning
Supervised LearningSupervised Learning
Supervised Learning
 
UnSupervised Learning Clustering
UnSupervised Learning ClusteringUnSupervised Learning Clustering
UnSupervised Learning Clustering
 
Data Visualization in Excel
Data Visualization in ExcelData Visualization in Excel
Data Visualization in Excel
 
6_Association_rule_碩士班第六次.pdf
6_Association_rule_碩士班第六次.pdf6_Association_rule_碩士班第六次.pdf
6_Association_rule_碩士班第六次.pdf
 
5_Neural_network_碩士班第五次.pdf
5_Neural_network_碩士班第五次.pdf5_Neural_network_碩士班第五次.pdf
5_Neural_network_碩士班第五次.pdf
 
4_Regression_analysis.pdf
4_Regression_analysis.pdf4_Regression_analysis.pdf
4_Regression_analysis.pdf
 
3_Decision_tree.pdf
3_Decision_tree.pdf3_Decision_tree.pdf
3_Decision_tree.pdf
 

2023 Clustering analysis using Python from scratch