Em chọn đề tài: “Phân khúc khách hàng bằng thuật toán K-Means” nhằm đưa ra mô hình hỗ trợ các nhà quản lí đưa ra chiến lược phù hợp để tiến hành marketing phù hợp, góp phần thúc đẩy vi
Trang 1
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
PHÂN KHÚC KHÁCH HÀNG BẰNG
THUẬT TOÁN K-MEANS
Giảng viên hướng dẫn: Lê Chí Ngọc
Sinh viên thực hiện : Lại Thùy Linh 20162401
Nguyễn Văn Hà 20161240
Lớp : Toán – Tin K61
HÀ NỘI – 12/2019
Trang 3MỤC LỤC Lời nói đầu……… CHƯƠNG I KHẢO SÁT HỆ THỐNG
1 Khảo sát hiện trạng
2 Dữ liệu khảo sát
3 Thuật toán K-Means và phương pháp Elbow
CHƯƠNG II: PHÂN TÍCH HỆ THỐNG
1 Các chức năng của hệ thống trợ giúp nhà quản lý
2 Sơ đồ luồng dữ liệu
2.2 Biểu đồ luồng dữ liệu mức 0
CHƯƠNG III: THIẾT KẾ GIAO DIỆN HỆ THỐNG
1 Ngôn ngữ viết chương trình
2 Thiết kế giao diện website
Kết luận
Nguồn tài liệu tham khảo
Trang 4LỜI MỞ ĐẦU
Kinh doanh là một lĩnh vực không thể thiếu trong cuộc sống kể từ thời xa xưa, đặc biệt trong cuộc sống hiện đại vai trò quan trọng của nó càng được khẳng định Ngày nay, trong đà nền công nghệ càng phát triển, đặc biệt là công nghệ thông tin, thì kinh doanh càng được đẩy mạnh Song song với điều
đó, nền tri thức và tập dữ liệu cũng ngày càng lớn theo thời gian Vậy thì, vấn
đề đặt ra là, làm sao có thể khai thác hết lợi ích của nguồn dữ liệu này để phục
vụ cho mục đích kinh doanh, tạo ra giá trị thực tế
Khách hàng là yếu tố quyết định đến 80% sự thành công trong kinh
doanh Đã tham gia vào thị trường kinh tế thì phải quan tâm đầu tiên về mặt khách hàng thì mới có cơ hội phát triển và vươn xa Người quản lí luôn phải tìm cách để khai thác triệt để thông tin của khách hàng và ứng dụng nó vào trong việc đẩy mạnh sự phát triển cho lĩnh vực kinh doanh của mình Vì vậy, một trong những giải pháp tối ưu đấy là áp dụng sự tiến bộ của ngành công nghệ thông tin nhằm biến thông tin của khách hàng-một tập CSDL khổng lồ
để phục vụ cho quá trình đẩy mạnh tăng trưởng Có nghĩa là sẽ xây dựng một
hệ thống khai phá dữ liệu để giúp nhà quản lí đưa ra chiến lược marketing
phù hợp Em chọn đề tài: “Phân khúc khách hàng bằng thuật toán
K-Means” nhằm đưa ra mô hình hỗ trợ các nhà quản lí đưa ra chiến lược phù
hợp để tiến hành marketing phù hợp, góp phần thúc đẩy việc kinh doanh phát triển
Trang 6CHƯƠNG I KHẢO SÁT HỆ THỐNG CHƯƠNG I KHẢO SÁT HIỆN TRẠNG
1 Khảo sát hiện trạng
Phân khúc thị trường hay còn gọi là marketing mục tiêu, là khai niệm trái ngược với tiếp thị đại trà và tiếp thị sản phẩm đa dạng Mục tiêu của phân khúc thị trường của các công ty là chia thị trường
ra thành những phân khúc nhỏ hơn, dễ nhận biết, nắm bắt và đáp ứng hiệu quả hơn
Các công ty, các cơ sở bán lẻ, muốn thu được lợi nhuận cao trong việc sản xuất hoặc kinh doanh các mặt hàng thì phải xác định được nhóm khách hàng tiềm năng của minh Nếu một chiến dịch được tổ chức mà lại nhắm đến quá nhiều nhóm khách hàng thì hiệu quả chắc chắn sẽ không cao, và phần chi phí tổn hao sẽ căng lớn Vậy nên, vấn đề đặt ra là, làm sao để xác định được nhóm đối tượng cần tập trung hướng tới lợi ích có được là lớn nhất
2 Dữ liệu khảo sát
Dữ liệu được sử dụng là bộ dữ liệu bán lẻ/ bán buôn trực tuyến lấy từ google
Trang 7
Hình 1: Dữ liệu khảo sát bán lẻ/ bán buôn trực tuyến
3 Thuật toán K-Means và phương pháp Elbow
3.1 Thuật toán K-Means
3.1.1 Thuật toán K-Means là gì?
Phân cụm là kỹ thuật rất quan trọng trong khai phá dữ liệu,
nó thuộc lớp các phương pháp Unsupervised Learning trong Machine Learning Có rất nhiều định nghĩa khác nhau về kỹ thuật này, nhưng về bản chất ta có thể
hiểu phân cụm là các quy trình tìm cách nhóm các đối
Trang 8tượng đã cho vào các cụm (clusters), sao cho các đối tượng trong cùng 1 cụm tương tự (similar) nhau và các đối tượng khác cụm thì không tương tự (Dissimilar) nhau.
nhóm của dữ liệu Các thuật toán phân cụm (Clustering Algorithms) đều sinh ra các cụm (clusters) Tuy nhiên, không có tiêu chí nào là được xem là tốt nhất để đánh hiệu của của phân tích phân cụm, điều này phụ thuộc vào mục đích của phân cụm như: data reduction, “natural clusters”,
“useful” clusters, outlier detection
3.1.2 Tại sao phải phân cụm?
hình thành các nhóm rời nhau Tuy nhiên, lại quá cụ thể dẫn tới khó khăn hơn trong việc quyết định ( Ví dụ trên thang 5
là có đến 125 nhóm, giả sử ta muốn chi tiết hơn trong đánh giá điểm bằng thang 10 thì sẽ là 1000 nhóm!)
3.1.3 Thuật toán phân cụm K-Means
dụng phổ biến trong kỹ thuật phân cụm Tư tưởng chính của thuật toán K-Means là tìm cách phân nhóm các đối
Trang 9tượng (objects) đã cho vào K cụm (K là số các cụm được xác đinh trước, K nguyên dương) sao cho tổng bình phương khoảng cách giữa các đối tượng đến tâm nhóm (centroid ) là nhỏ nhất
nhất
Trang 10 B3: Nếu việc gán dữ liệu vào từng cụm ở bước 2 không thay đổi so với vòng lặp trước nó thì ta dừng thuật toán
trung bình cộng của tất cả các điểm dữ liệu đã được gán vào cụm đó sau bước 2
3.2 Phương pháp Elbow hỗ trợ cho thuật toán K-Means
Trong thuật toán K-mean áp dụng để phân cụm ở phần mềm này, ta phải xác định được số K cụm từ trước Vậy vấn đề đặt ra
là chọn K như nào cho thích hợp, có nghĩa là tối ưu nhất?
Ta sẽ dùng đồ thị Elbow để xác định số K tối ưu để tiến hành quá trình phân cụm
Tư tưởng chính của phương pháp phân cụm phân hoạch (như k-means) là định nghĩa 1 cụm sao cho tổng biến thiên bình phương khoảng cách trong cụm là nhỏ nhất, tham số này là WSS (Within-cluster Sum of Square)
Elbow method chọn số sụm k sao cho khi thêm vào một cụm khác thì không làm cho WSS thay đổi nhiều
Quy trình triển khai Elbow method như sau:
1 Triển khai thuật toán phân cụm K-mean với các số cụm k thay đổi (ví dụ từ 1 đến 10)
2 Với mỗi giá trị k, tính giá trị WSS
Trang 113 Vẽ Elbow curve theo các giá trị k.
4 Dựa vào Elbow curve chọn số k thích hợp, là vị trí ở khúc cua (bend|knee)
Hình 2 Đồ thị Elbow hỗ trợ tìm K cụm tối ưu
Trang 12CHƯƠNG II PHÂN TÍCH HỆ THỐNG
1 Các chức năng của hệ thống trợ giúp nhà quản lý
Việc của nhà quản lí là dựa trên những thông tin đã có được về khách hàng để đưa ra quyết định
Hệ thống trợ giúp quyết định cho phép thực hiện các trợ giúp liệt kê dưới đây Các trợ giúp có ý nghĩa cùng nhà quản lí, hay lãnh đạo công ty đưa ra quyết định cuối cùng Trong trường hợp này, phần mềm máy tính là công cụ giúp cho con người ra quyết định quản lí
Trang 13Hình 2 Biểu đồ phân cấp chức năng
2 Sơ đồ luồng dữ liệu
2.1 Biểu đồ mức ngữ cảnh
Hình 3: Biểu đồ mức ngữ cảnh 2.2 Biểu đồ luồng dữ liệu
Trang 14Hình 4: Biểu đồ luồng dữ liệu
CHƯƠNG III THIẾT KẾ HỆ THỐNG
1 Ngôn ngữ viết chương trình
HTML là từ viết tắt của HyperText Markup Language (ngôn ngữ đánh dấu siêu văn bản) dùng mô tả cấu trúc của các trang Web và tạo ra các loại tài liệu có thể xem được trong trình duyệt
HTML được tạo ra và phát triển bởi tổ chức W3C (World Wide Web Consortium)Hiện nay phiên bản mới nhất của HTML
là HTML5 với nhiều tính năng ưu việt so với các phiên bản cũ
CSS (viết tắt của Cascading Style Sheets) là một ngôn ngữ định dạng được sử dụng để mô tả trình bày các trang Web, bao gồm màu sắc, cách bố trí và phông chữ CSS cho phép chúng
Trang 15hiển thị nội dung tương thích trên các loại thiết bị có kích thước màn hình khác nhau, chẳng hạn như màn hình lớn, màn hình nhỏ
như điện thoại hay máy tính bản.
CSS là độc lập với HTML và có thể được sử dụng với bất
kỳ ngôn ngữ đánh dấu nào xây dựng dựa trên XML CSS tuân
theo chuẩn chung do W3C quy định.
JavaScript
JavaScript là một ngôn ngữ nhỏ và nhẹ chạy trong môi trường máy chủ lưu trữ (ví dụ: trình duyệt web), JavaScript có thể được kết nối với các đối tượng của môi trường để cung cấp kiểm soát chương trình đối với chúng
JavaScript cho phép bạn thực hiện những điều phức tạp trên các trang web như bản đồ tương tác…
Javascript được hỗ trợ hầu như trên tất cả các trình duyệt như Firefox, Chrome, … thậm chí các trình duyệt trên thiết bị di động cũng có hỗ trợ
Hiện nay nó được dùng rộng rãi cho các trang web (phía người dùng) cũng như phía máy chủ (với Nodejs)
2 Giao diện Website
Trang 16
Hình 5: Giao diện bắt đầu
Trang 17
Hình 6: Giao diện phân tích và biểu đồ thống kê
Trang 19Hình 7: Kết quả phân cụm và biểu đồ đánh giá
Nguồn tài liệu tham khảo:
1 http://bis.net.vn/forums/p/1831/9526.aspx?
fbclid=IwAR2mIQVb1n3vvfF-MhgM4SifX6lQqofHS6aqwlC3NBTVQ_vTfBO_8Pm1qiU
2 https://bl.ocks.org/rpgove/0060ff3b656618e9136b
3 https://nguyenvanhieu.vn/thuat-toan-phan-cum-k-means/
4 https://github.com/awesomedata/awesome-public-datasets