SlideShare uma empresa Scribd logo
1 de 12
大數據分析演算法
帶 Canopy 預處裡的 Kmeans
鐘振聲 Tony Chung
Agenda
• Canopy 演算法概念
• Mahout 限制
• Mahout 分群結果如何串回客戶ID或是識別ID
Canopy演算法基本概念 1/2
• 兩個距離閥值參數:
• T1(弱連結距離), T2(強連結距離)
• T1 > T2
3
Canopy演算法基本概念 2/2
• 演算法步驟
1. 取得T1與T2距離閥值。
2. 將資料集向量化後得到一list放入記憶體。
3. 從list任意取一點P,計算P點與所有Canopy之間的距離(如果當前沒有
Canopy則把P當作一個新Canopy的中心),如果P點與某個Canopy距離在
T1以內,則點P加入到這個Canopy。
4. 如果P點與某個Canopy距離在T2以內,則需將P點從list中刪除,這一步
是認為P點與這個Canopy已經很接近了,因此不用它再做其他Canopy的
中心。
5. 重複3、4步驟,直到list為空則結束
4
5
Canopy 中心
Canopy 中心
Canopy 中心
帶Canopy的 K-means 基本概念
Kmean一開始的重心起始點是隨機撒出,若使用Canopy則取代原隨機撒出的步驟
6
帶Canopy的 K-means 基本概念
7
帶Canopy的 K-means 基本概念
8
帶Canopy的 K-means 基本概念
9
帶Canopy預處裡的優點
• Canopy可以自動幫我們確定K
• Canopy可以幫我去除離群值干擾
隨然解決Kmeans的
一些問題,但也引進
了新的問題: T1與T2
的選取。
Mahout 限制
• 輸入的文字檔必須以空格分隔
• 輸入文字檔內容只能包含分割變數(數值型),不能包含客戶ID或
識別ID
• 建模結果檔為半結構化文字檔
10
串回客戶ID或是識別ID方式
1. 先取得各分群重心
2. 將Hadoop平台上預分群的資料集下載至關聯式資料庫系統
11
串回客戶ID或是識別ID方式
3. 透過SQL語法自行計算每個觀察值到各重心的距離後,再歸類到
最近的群集
12
select
cust_id,
case when C1_Dist < C2_Dist and C1_Dist < C3_Dist and C1_Dist < C4_Dist then 'Cluster1'
when C2_Dist < C1_Dist and C2_Dist < C3_Dist and C2_Dist < C4_Dist then 'Cluster2'
when C3_Dist < C1_Dist and C3_Dist < C2_Dist and C3_Dist < C4_Dist then 'Cluster3'
when C4_Dist < C1_Dist and C4_Dist < C2_Dist and C4_Dist < C3_Dist then 'Cluster4'
end as cluster_name
from
(
select
cust_id,
/*計算到各質心距離*/
SQRT( SQUARE(var1 - 6.249) + SQUARE(var2 - 2.868) + SQUARE(var3 - 4.854) + SQUARE(var4 - 1.651) ) as C1_Dist,
SQRT( SQUARE(var1 - 6.913) + SQUARE(var2 - 3.1) + SQUARE(var3 - 5.847) + SQUARE(var4 - 2.131) ) as C2_Dist,
SQRT( SQUARE(var1 - 5.606) + SQUARE(var2 - 2.642) + SQUARE(var3 - 3.997) + SQUARE(var4 - 1.235) ) as C3_Dist,
SQRT( SQUARE(var1 - 5.006) + SQUARE(var2 - 3.418) + SQUARE(var3 - 1.464) + SQUARE(var4 - 0.244) ) as C4_Dist
From kmean_DT
) aa
) aaa

Mais conteúdo relacionado

Destaque

電子商務資料分析 上課投影片
電子商務資料分析 上課投影片電子商務資料分析 上課投影片
電子商務資料分析 上課投影片Ethan Yin-Hao Tsui
 
Machine Learning Introduction
Machine Learning IntroductionMachine Learning Introduction
Machine Learning IntroductionMark Chang
 
分析路上你我他/如何學習分析
分析路上你我他/如何學習分析分析路上你我他/如何學習分析
分析路上你我他/如何學習分析Wanju Wang
 
分群消費者x多元商機的實現
分群消費者x多元商機的實現分群消費者x多元商機的實現
分群消費者x多元商機的實現Peter(Sheng-Pi) Chang
 
Ab Testing
Ab TestingAb Testing
Ab Testingnewegg
 
Python簡介和多版本虛擬環境架設
Python簡介和多版本虛擬環境架設Python簡介和多版本虛擬環境架設
Python簡介和多版本虛擬環境架設Tien-Yang (Aiden) Wu
 
清潔機器人產業分析報告
清潔機器人產業分析報告清潔機器人產業分析報告
清潔機器人產業分析報告少文 吳
 
Consumer Research of Beauty Products in Key/A Cities︱了解美,了解你 )
Consumer Research of Beauty Products in Key/A Cities︱了解美,了解你 )Consumer Research of Beauty Products in Key/A Cities︱了解美,了解你 )
Consumer Research of Beauty Products in Key/A Cities︱了解美,了解你 )Bingjie Han
 
A Simple Introduction to Word Embeddings
A Simple Introduction to Word EmbeddingsA Simple Introduction to Word Embeddings
A Simple Introduction to Word EmbeddingsBhaskar Mitra
 
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)HITCON GIRLS
 
UrCosme2016/2月熱門關注和新品分析_CMRI美妝行銷總研
UrCosme2016/2月熱門關注和新品分析_CMRI美妝行銷總研UrCosme2016/2月熱門關注和新品分析_CMRI美妝行銷總研
UrCosme2016/2月熱門關注和新品分析_CMRI美妝行銷總研i-TRUE Communications Inc.
 
闕嘉宏/我在智慧交通資料解析的失敗歷程
闕嘉宏/我在智慧交通資料解析的失敗歷程闕嘉宏/我在智慧交通資料解析的失敗歷程
闕嘉宏/我在智慧交通資料解析的失敗歷程台灣資料科學年會
 
Why Chatbot? 為何開發聊天機器人?
Why Chatbot?  為何開發聊天機器人?Why Chatbot?  為何開發聊天機器人?
Why Chatbot? 為何開發聊天機器人?Burton Chau
 
吳齊軒/漫談 R 的學習挑戰與 R 語言翻轉教室
吳齊軒/漫談 R 的學習挑戰與 R 語言翻轉教室吳齊軒/漫談 R 的學習挑戰與 R 語言翻轉教室
吳齊軒/漫談 R 的學習挑戰與 R 語言翻轉教室台灣資料科學年會
 
孔令傑/貓都學得會的手機維修資料分析
孔令傑/貓都學得會的手機維修資料分析孔令傑/貓都學得會的手機維修資料分析
孔令傑/貓都學得會的手機維修資料分析台灣資料科學年會
 
HITCON GIRLS 成大講座 密碼學(阿毛)
HITCON GIRLS 成大講座 密碼學(阿毛)HITCON GIRLS 成大講座 密碼學(阿毛)
HITCON GIRLS 成大講座 密碼學(阿毛)HITCON GIRLS
 

Destaque (19)

電子商務資料分析 上課投影片
電子商務資料分析 上課投影片電子商務資料分析 上課投影片
電子商務資料分析 上課投影片
 
Machine Learning Introduction
Machine Learning IntroductionMachine Learning Introduction
Machine Learning Introduction
 
分析路上你我他/如何學習分析
分析路上你我他/如何學習分析分析路上你我他/如何學習分析
分析路上你我他/如何學習分析
 
分群消費者x多元商機的實現
分群消費者x多元商機的實現分群消費者x多元商機的實現
分群消費者x多元商機的實現
 
Cnc fablab
Cnc   fablabCnc   fablab
Cnc fablab
 
Ab Testing
Ab TestingAb Testing
Ab Testing
 
Python簡介和多版本虛擬環境架設
Python簡介和多版本虛擬環境架設Python簡介和多版本虛擬環境架設
Python簡介和多版本虛擬環境架設
 
清潔機器人產業分析報告
清潔機器人產業分析報告清潔機器人產業分析報告
清潔機器人產業分析報告
 
Consumer Research of Beauty Products in Key/A Cities︱了解美,了解你 )
Consumer Research of Beauty Products in Key/A Cities︱了解美,了解你 )Consumer Research of Beauty Products in Key/A Cities︱了解美,了解你 )
Consumer Research of Beauty Products in Key/A Cities︱了解美,了解你 )
 
A Simple Introduction to Word Embeddings
A Simple Introduction to Word EmbeddingsA Simple Introduction to Word Embeddings
A Simple Introduction to Word Embeddings
 
楊奕軒/音樂資料檢索
楊奕軒/音樂資料檢索楊奕軒/音樂資料檢索
楊奕軒/音樂資料檢索
 
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
 
UrCosme2016/2月熱門關注和新品分析_CMRI美妝行銷總研
UrCosme2016/2月熱門關注和新品分析_CMRI美妝行銷總研UrCosme2016/2月熱門關注和新品分析_CMRI美妝行銷總研
UrCosme2016/2月熱門關注和新品分析_CMRI美妝行銷總研
 
闕嘉宏/我在智慧交通資料解析的失敗歷程
闕嘉宏/我在智慧交通資料解析的失敗歷程闕嘉宏/我在智慧交通資料解析的失敗歷程
闕嘉宏/我在智慧交通資料解析的失敗歷程
 
Why Chatbot? 為何開發聊天機器人?
Why Chatbot?  為何開發聊天機器人?Why Chatbot?  為何開發聊天機器人?
Why Chatbot? 為何開發聊天機器人?
 
吳齊軒/漫談 R 的學習挑戰與 R 語言翻轉教室
吳齊軒/漫談 R 的學習挑戰與 R 語言翻轉教室吳齊軒/漫談 R 的學習挑戰與 R 語言翻轉教室
吳齊軒/漫談 R 的學習挑戰與 R 語言翻轉教室
 
智慧車站案例分享
智慧車站案例分享智慧車站案例分享
智慧車站案例分享
 
孔令傑/貓都學得會的手機維修資料分析
孔令傑/貓都學得會的手機維修資料分析孔令傑/貓都學得會的手機維修資料分析
孔令傑/貓都學得會的手機維修資料分析
 
HITCON GIRLS 成大講座 密碼學(阿毛)
HITCON GIRLS 成大講座 密碼學(阿毛)HITCON GIRLS 成大講座 密碼學(阿毛)
HITCON GIRLS 成大講座 密碼學(阿毛)
 

大數據分析演算法--帶Canopy預處裡的kmeans