Phân
cụm dữ liệu bằng K-means với Python
chuc1803@gmail.com, bis.net.vn
K-means là thuật toán rất quan trọng và
được sử dụng phổ biến trong kỹ thuật phân cụm dữ liệu. Tư tưởng chính của thuật
toán K-means là tìm cách gom các đối tượng (objects) đã cho vào K cụm (cluster)
(K là số các cụm được xác định trước) sao cho tổng bình phương khoảng cách từ
các đối tượng đến tâm cụm (centroid ) là nhỏ nhất.
(Xem chi tiết về thuật toán K-means ở
đây: http://bis.net.vn/forums/t/374.aspx)
Bài viết này hướng dẫn triển khai kỹ thuật
phân cụm dữ liệu bằng thuật toán K-means với Python.
Dataset: Mall Dataset (Download ở đây)
Nội
dung chính gồm:
·
Xác định số cụm (K) tối ưu cho dataset
·
Phân cụm dữ liệu với K-means
·
Trực quan hóa kết quả phân cụm
Load
các thư viện và đọc dữ liệu (Mall Dataset)
Chọn
2 cột annual income and the spending
score
Sử
dụng Elbow method để xác định số cụm tối ưu (xem bài viết về chọn số cụm tối ưu
cho bài toán phân cụm ở đây: http://bis.net.vn/forums/t/1831.aspx)
Số
cụm tối ưu theo phương pháp Elbow là K=5
Phân
cụm dữ liệu với số cụm là 5 (K=5)
Trực
quan hóa kết quả