Phân cụm dựa trên mật độ Density-Based Clustering ..... Đơn hàng này sẽ được phân bổ đến m t sộ ố tài xế nhất định.. Ngoài ra với mong mu n th c hi n nhố ự ệ ững phân tích sâu hơn về mặt
Trang 1B GIÁO D Ộ ỤC VÀ ĐÀO TẠO
ĐẠ I H C UEH Ọ
TRƯỜNG CÔNG NGHỆ VÀ THIẾT KẾ
KHOA TOÁN – THỐ NG KÊ
BÀI LÀM K T THÚC H C PH Ế Ọ ẦN
Ứ NG D NG K THU T PHÂN C M TRONG VI C Ụ Ỹ Ậ Ụ Ệ
XÁC ĐỊ NH NH ỮNG ĐỊA ĐIỂ M CÓ
MẬT ĐỘ ĐƠN HÀNG CAO
Bộ môn: Khai Thác Dữ Liệu Kinh Doanh
L p h c ph n: 22D1MAT50801501ớ ọ ầ
Giảng viên: Nguy n Th o Nguyênễ ả
NHÓM 1
Vũ Ngọc Tân 31191023908
Nguyễn Đông Nghi 31191025592
Phan Thanh Nhã 31191025176
Trần Nguyễn Vân Anh 31191024818
Trang 2TÓM T T Ắ
V i mong muớ ốn ứng d ng ki n th c v khai thác dụ ế ứ ề ữ liệu vào vi c h ệ ỗtrợ
các tài x trong vi c l a chế ệ ự ọn địa điểm d ng chừ ờ đơn hàng làm sao cho hiệu
quả, trong d án l n này, nhóm chúng em s lự ầ ẽ ần lượt nêu rõ vấn đề ệhi n t i, ạ
tính c p thi t cấ ế ủa ý tưởng này cũng như lý do dẫn đến vi c l a ch n k thuệ ự ọ ỹ ậ
phân c m d a trên mụ ự ật độ để tiến hành phân tích Thông qua vi c minh hệ ọa
quá trình th c hi n v i thuự ệ ớ ật toán DBSCAN, nhóm chúng em đưa ra đề xuất v ề
10 địa điểm trên địa bàn quận 10 mà doanh nghiệp giao hàng được đề cập có
thể sử dụng để ợi ý cho các tài x c a mình g ế ủ
Trang 3M C L C Ụ Ụ
TÓM TẮT 1
MỤC L C 2 Ụ CHƯƠNG I: TỔNG QUAN VẤN ĐỀ NGHIÊN CỨU 3
1.1 Hi n trệ ạng vấn đề 3
1.2 Giải pháp 4
CHƯƠNG II: QUÁ TRÌNH CHUẨN BỊ DỮ LIỆU 5
2.1 Xác định những thuộc tính sẽ được sử dụng 5
2.2 Những ràng bu c trong d u phân tích ộ ữliệ 5
2.3 Trích su t dấ ữ liệ 5 u CHƯƠNG III: KỸ THUẬT PHÂN CỤM & KẾT QUẢ PHÂN TÍCH 6
3.1 Tổng quan v k ề ỹthuật phân c m trong khai thác d u ụ ữliệ 6
3.1.1 Vị trí của phân tích c m trong khai thác d u ụ ữliệ 6
3.1.2 Hai kỹ thu t phân c m truyậ ụ ền thống 6
3.1.3 Lý do hai phương pháp truyền thống không th c s ự ựhiệu qu 7 ả
3.1.4 Phân cụm dựa trên mật độ (Density-Based Clustering) 8
3.2 Quá trình th c hiự ện & kết quả phân tích 10
CHƯƠNG IV: KẾT LUẬN & MỞ RỘNG 13
4.1 Kết lu n ậ 13
4.2 H n chạ ế & hướng nghiên cứu mở rộng 13
TÀI LI U THAM KHỆ ẢO 14
Trang 4CHƯƠNG I: TỔ NG QUAN V ẤN ĐỀ NGHIÊN CỨU
1.1 Hi n tr ng vệ ạ ấn đề
Hiện nay v i s hớ ự ỗ trợ m nh m t công ngh thông tin, hàng lo t các ạ ẽ ừ ệ ạ
d ch v v i n n t ng d a trên công nghị ụ ớ ề ả ự ệ đã được ra đời, trong số đó có các
d ch v trung chuy n V i d ch v giao hàng, sau khi ti n hành nghiên c u t ị ụ ể ớ ị ụ ế ứ ừ
doanh nghiệp X ở Việt Nam thì quy trình hoạt động điển hình thường di n ra ễ
như sau:
Đầu tiên, khi có nhu c u v n chuy n hàng hóa, khách hàng thông qua ầ ậ ể
ứng dụng trên điện thoại đi động để kết n i với các tài xố ế Đơn hàng này sẽ
được phân bổ đến m t sộ ố tài xế nhất định Tài x nào sau khi chế ấp nhận đơn
hàng s ẽphải đi chuyển đến v trí cị ủa người để l y hàng và ti n hành giao hàng ấ ế
Sau khi giao hàng thành công, các tài xế đứng trước quyết định s di chuyẽ ển
đến đâu để chờ đợi các đơn hàng kế tiếp? Liệu sẽ về lại địa điểm vừa nãy hay
là s l a ch n m t v trí khác g n v i v ẽ ự ọ ộ ị ầ ớ ịtrí hiệ ạn t i? N u l a ch n m t v trí gế ự ọ ộ ị ần
đó để dừng chờ thì cụ thể sẽ là nơi nào? Nơi nào sẽ có khả năng nhận được
đơn hàng mới hiệu quả nhất? Chính vì vậy mà những hình ảnh như bên dưới
đây h n đã rẳ ất quen thu c với chúng ta ộ
Trang 5Đây là hình ảnh các tài xế
thường t t p l i vụ ậ ạ ới nhau trong
lúc chờ đợi các đơn kế tiếp
Những địa điểm này thường
được l a ch n dự ọ ựa trên kinh
nghiệm c a các tài xế, nhưng ủ
cũng có thể là sự ngẫu nghiên
mà không có ch ủ đích trước đó
Từ đây, vấn đề được đặt
ra là li u r ng vi c d ng ch ệ ằ ệ ừ ờ
như hiện tại của tài xế có thực
sự hiệu qu (cho c tài xả ả ế, người dùng và doanh nghiệp) hay không? Đố ới i v
các x ế chưa có kinh nghiệm, lựa chọn điểm dừng một cách ngẫu nhiên thì đâu
là vi c làm chúng ta có th h ệ ể ỗtrợ cho h ? Còn v i các tài x ọ ớ ế đã có kinh nghiệm
thì điều gì s ẽ đảm bảo rằng họ có th ểnhớ và hiểu rõ các địa điểm tr i dài khả ắp
thành ph mang lố để ại hiệu qu cao nh t? ả ấ
1.2 Gi i pháp ả
Xuất phát t vừ ấn đề trên, nhóm quyết định thực hi n d án này nh m tìm ệ ự ằ
ra các khu v c có mự ật độ đơn hàng cao, nhằm c i ả thiện hiệu quả đáp ứng d ch ị
v c a doanh nghi p này Nhụ ủ ệ ờ đó nhu cầu c a khách hàng sủ ẽ được ti p nhế ận
và th c hi n trong th i gian ngự ệ ờ ắn hơn Tăng khả năng có được đơn hàng của
các tài xế, hỗ trợvà đảm bảo quyền l i c a các tài x Gián tiợ ủ ế ếp đem lại lợi thế
cho doanh nghiệp
V i k t qu t d án này, doanh nghi p có th tích h p vào ng d ng ớ ế ả ừ ự ệ ể ợ ứ ụ
tính năng gợi ý điểm dừng dành cho tài xế Nh m đựa ra những chỉ dẫn, gợi ý ằ
cho tài x ếnhững khu v c có kh ự ả năng diễn ra đơn hàng cao mỗi khi tài x ế đang
trong thời điểm nhàn rỗi như khi vừa mớ ếi k t thúc một đơn hàng Từ đó có thể
phân b ổnguồn l c tài x m t cách hi u qu , tránh tình tr ng tự ế ộ ệ ả ạ ập trung quá đông
hay quá vắng ở những khu v c trên thành ph , ch ự ố ủ động đáp ứng nhu c u cầ ủa
khách hàng m t cách hi u qu ộ ệ ảnhất
Trang 6CHƯƠNG II: QUÁ TRÌNH CHUẨN BỊ DỮ LIỆU
2.1 Xác định nh ng thu c tính s ữ ộ ẽ được s dử ụng
V i mớ ục tiêu xác định những vị trí có mật độ đơn hàng cao nên nhóm sử
d ng 2 thu c tính ph c v ụ ộ ụ ụtrực ti p cho m c tiêu này là: ế ụ
- Kinh độ (Longitude - lng)
- Vĩ độ (Latitude - lat)
Với kinh độ và vĩ độ ủ c a mỗi đơn hàng, chúng ta có thể ử ụ s d ng tr c ti p 2 ự ế
tham s này trong quá trình gom c m d a trên v trí th c t cố ụ ự ị ự ế ủa chúng và đồng
thời chúng cũng sẽ cho chúng ta bi t v trí c ế ị ụthể sau khi có được kết qu phân ả
cụm
Ngoài ra với mong mu n th c hi n nhố ự ệ ững phân tích sâu hơn về mặt thời
gian, nhóm quyết định s d ng thêm thuử ụ ộc tính “thời điểm tạo đơn hàng trong
ngày”
2.2 Nh ng ràng bu c trong d u phân tích ữ ộ ữ liệ
- Những đơn hàng ở Quận 10, Tp.H Chí Minh (vì gi i h n v m t hiồ ớ ạ ề ặ ệu
năng thiết bị)
- Chỉ ấ l y những đơn hàng đã hoàn thành
- Chỉ ấ l y trong ngày 14/05/2022 (vì giới hạn về ặ m t hiệu năng thiết bị)
- Trích từ 4 dịch v vụ ận chuyển hàng hóa được th c hiự ện bằng xe máy
2.3 Trích su t d u ấ ữ liệ
Vì dữ liệu này được lưu trữ trong Data Warehouse c a doanh nghiủ ệp,
nên phải sử dụng SQL để truy vấn được d ữ ệli u cần dùng
Thuộc tính kinh độ (lng), vĩ độ (lat) và địa điểm (address) được lưu trữ
trong cùng 1 trường “Path” và dưới d ng ki u d ạ ể ữliệu JSON cùng v i các thuớ ộc
tính khác.Điều này dẫn đến mộ ố t s bước b ổ sung để có được d ữliệu cụ thể
Trang 7Dưới đây là một số quan sát minh họa
CHƯƠNG III: KỸ THUẬT PHÂN CỤM & KẾT QUẢ PHÂN TÍCH
3.1 T ng quan v k thu t phân c m trong khai thác dổ ề ỹ ậ ụ ữ liệu
3.1.1 Vị trí của phân tích cụm trong khai thác d ữ liệu
Clustering hay phân cụm là m t nhóm k thu t quan tr ng trong khai thác ộ ỹ ậ ọ
d u, thuữliệ ộc phương pháp học không giám sát Phân tích c m là tên c a mụ ủ ộ
nhóm các kỹ thuật đa biến có m c tiêu chính là phân loụ ại các đối tượng quan
sát dựa vào m t sộ ố đặc tính c a chúng Các kủ ỹ thuật này nh n di n và phân ậ ệ
chia các đối tượng vào các nhóm/cụm mà chưa được xác định từ trước Kết
quả phân chia này đảm bảo các đối tượng trong cùng một cụm sẽ có đặc tính
tương đồng với nhau, còn giữa các cụm thì tồn tại sự khác biệt lớn v i nhau ớ
Các kỹ thuật phân tích cụm đượ ức ng d ng trong nhiụ ều lĩnh vực như:
tâm lý học, sinh học, xã h i học, k thuộ ỹ ật, kinh doanh, Mặc dù v y, t t c ậ ấ ả đều
theo đuổi một mục tiêu là gom nhóm các đối tượng theo các mối liên hệ tự
nhiên, ph n ánh b n ch t cả ả ấ ủa các đối tượng được quan sát Phân cụm thường
không yêu c u thông tin v các c m sầ ề ụ ẽ đượ ạc t o thành, mà phụ thuộc vào d ữ
liệu thực t ế
3.1.2 Hai kỹ thuật phân c m truy ụ ền th ng ố
Vốn dĩ nói phân tích cụm (Cluster Analysis) là m t nhóm các kộ ỹ thuật là
b i vì cùng m t mở ộ ục tiêu gom nhóm các đối tượng nhưng trong quá trình hình
thành và phát triển, chúng ta đã phát triển r t nhi u kấ ề ỹ thuật/thu t toán phân ậ
c m khác nhau M i m t k thu t/thu t toán d a trên nh ng góc nhìn, cách ụ ỗ ộ ỹ ậ ậ ự ữ
thức gom c m khác nhau Vì th ụ ếtương ứng với mỗi kỹthuật cũng sẽ tồn tại
những ưu nhược đi kèm, cần phải hiểu b n ch t c a m i k thuả ấ ủ ỗ ỹ ật để ứ ng d ng ụ
vào b i c nh hi n t i cho phù h p M t s k ố ả ệ ạ ợ ộ ố ỹthuật tiêu biểu như: phân cụm th ứ
b c, phân c m không th b c, phân cậ ụ ứ ậ ụm ựd a trên mật đ ,…ộ
Trang 8V i phân cớ ụm thứ ậ b c (Hierarchial clustering), là th tủ ục được được xây
d ng theo c u trúc th b c hay dự ấ ứ ậ ạng hình cây Phương pháp này có thể tiến
hành theo cách tích t lụ ại (nổ ật với b i thuật toán CURE) hoặc phân chia ra (nổi
b t v i thuậ ớ ật toán BIRCH) Phương pháp tích tụ ắt đầ b u b ng cách xem mằ ỗi
đối tượng là một cụm riêng biệt Sau đó lần lượt gom các cặp có khoảng cách
ngắn nh t l i thành m t c m mới C ấ ạ ộ ụ ứtiếp tục cho đến khi t t cấ ả các đối tượng
thuộc vào một nhóm duy nhất Còn phương pháp phân chia thì ngược lại, b t ắ
đầu với vi c xem t t c ệ ấ ả đều thu c một cộ ụm, sau đó tiếp tục d a trên khoảng ự
cách để phân chia cho đến khi mỗi đối tượng thành một cụm riêng biệt
V i phân c m không th b c (Non-hierarchial clustering), n i b t vớ ụ ứ ậ ổ ậ ới
thuật toán K-Means V i K cớ ụm được chỉ định trước, ti n hành chế ọn K điểm d ữ
liệu b t k ấ ỳ và đồng th i tờ ạm xem nó là tâm tương ứng c a K c m V i mủ ụ ớ ỗi điểm
dữ liệu, kho ng cách tả ừ nó đó đến tâm c a c m nào ng n nh t, s quyủ ụ ắ ấ ẽ ết định
điểm d liệu đó thuộc vào c m nào Saữ ụ u khi đã xác định được cụm mà các
điểm d ữliệu thu c v , ti n hành tính toán l i tâm c a c m d ộ ề ế ạ ủ ụ ữliệu và l p l i quá ặ ạ
trình so sánh kho ng cách và tái phân b vào các cả ổ ụm Các đối tượng sau khi
được phân vào m t c m nào nó v n có thộ ụ ẫ ể đư c phân l i vào m t cợ ạ ộ ụm khác
Việc này chỉ d ng l i khi không có sự thay đổi nào trong các cụm sau khi tiến ừ ạ
hành tính toán l i kho ng cách ạ ả
3.1.3 Lý do hai phương pháp truyền thống không thực sự hiệu quả
Với mục tiêu tìm ra những đ a điị ểm cụ thể để ợi ý cho các tài xế g , nhóm
chúng em cho r ng hai k ằ ỹthuật nói trên là không phù hợp Bở ới hai kỹ thuật i v
phân c m trên, các cụ ụm được t o thành dạ ựa trên các đối tượng có kho ng ả
cách ng n nhắ ất đến trung tâm c a c m (Centroid) Th c t , k t qu t o ra s ủ ụ ự ế ế ả ạ ẽ
không cung c p b t k thông tin h u ích nào cho mấ ấ ỳ ữ ục tiêu đặt ra Nó không cho
chúng ta bi t s hế ự ấp dẫn c a các củ ụm - tức là b qua thông tin v mỏ ề ật độ đơn
hàng, nó không làm n i bổ ật lên được nh ng khu v c nào có mữ ự ật độ đơn hàng
cao, mà chỉ đơn thuần c gố ắng nhóm các đơn hàng vào mộ ụt c m có v trí gị ần
hơn
Trang 9(Bản đồ Qu n 10 và kậ ết quả phân c m minh hụ ọa)
Một lý do khác là k t qu phân c m t 2 k ế ả ụ ừ ỹthuật trên thường tạo ra một
khu vực tương đố ớn (như hình minh họa bên trên) Điềi l u này m t l n nộ ầ ữa
không đưa ra thông tin thực sự hữu ích vì các khoảng cách được tính toán
trong b i c nh l n này dố ả ầ ựa trên kinh độ và vĩ độ, ch cỉ ần 0.1 đơn vị kho ng ả
cách trong tính toán cũng đã tương ứng với một lượng Kilômét đáng kể trên
thực địa Điều trực tiếp ảnh hưởng đến thời gian đáp ứng dịch vụ của các tài
xế, điều chúng ta c n là nh ng khu v c cầ ữ ự ụ thể, có diện tích đủ nhỏ để m i khi ỗ
có đơn hàng, thời gian đáp ứng của các tài xế có thể được giảm xuống tối đa
Nếu v n ti p t c s dẫ ế ụ ử ụng 2 phương pháp trên, điều này vẫn có th ể được
kh c ph c ph n nào b ng vi c tắ ụ ầ ằ ệ ăng số lượng cụm được s d ng và tính toán ử ụ
số đơn hàng trong mỗ ụm để biết đượi c c nh ng c m th c s h p d n và cữ ụ ự ự ấ ẫ ần
t p trung ngu n l c tài x V i vi c này, vậ ồ ự ế ớ ệ ấn đề dường như cụ thể hơn nhưng
về cơ bản, các c m v n b qua thông tin v mụ ẫ ỏ ề ật độ đơn hàng trong khu vực
này Điều này dẫn nhóm đến vi c tìm hi u thêm mệ ể ột phương pháp khác: phâm
cụm dựa trên mật độ
3.1.4 Phân cụm dựa trên m ật độ (Density-Based Clustering)
Khi bi u diể ễn các điểm dữ liệu trong không gian chúng ta sẽ thấy rằng
thông thường sẽ có các vùng không gian có mật độ cao, xen kẽ bởi các vùng
không gian có mật độ thấp Phương pháp này dựa trên ý tưởng r ng m t cằ ộ ụm
trong không gian dữ liệu là m t vùng có mộ ật độ điểm cao được ngăn cách với
Trang 10các c m khác b ng các vùng li n k có mụ ằ ề ề ật độ điểm thấp DBSCAN là mộ
thuật toán cơ sở để phân nhóm dựa trên mật độ
Thuật toán DBSCAN s dụng 2 tham s chính: ử ố
- minPts (min Points): là s ố lượng điểm dữ liệu t i thi u nhố ể ằm xác định một
vùng lân c n Epsilon có mậ ật độ cao
- Eps (Epsilon): M t giá tr kho ng cộ ị ả ách được s dử ụng để xác định vùng
lân cận epsilon của bất kỳ điểm dữ ệu nào li
Hai tham s trên s ố ẽ được s dử ụng để xác định kh ả năng kết nối các điểm
d u vào chung mữliệ ột cụm
Thuật toán DBSCAN c th như sau: ụ ể
- Thuật toán lựa chọn một điểm dữ liệ u b t kì ấ làm điểm khởi tạo
- D a vào tham s Eps tiự ố ến hành xác định các điểm quan sát n m trong ằ
vùng lân c n Eps ậ
(Hình minh họa - các điểm đánh số
là các điểm nằm trong vùng lân
c n Eps) ậ
- Các điểm n m trong vùng này sằ ẽ được gom vào cùng 1 c m cụ ủa điểm
d ữliệu trước đó (điểm màu xanh) khi thỏa mãn thêm 1 điều kiện n a: là ữ
số điểm n m trong vùng này ph i lằ ả ớn hơn hoặc b ng tham s minPts ằ ố
Như hình minh họa phía trên thì 4 điểm dữ liệu được đánh số sẽ được
gom vào cùng c m vụ ới điểm dữ liệu màu xanh, ví d v i minPts = ụ ớ 4
Trang 11- C m dụ ữ liệu này có thể được lan r ng thông qua vi c ti p t c quá trình ộ ệ ế ụ
trên đối với các điểm quan sát vừa được gom vào cùng 1 cụm
- Khi không th m rể ở ộng được thêm, l p l i toàn b quá trình vặ ạ ộ ới điểm khởi
t o khác - ạ là điểm dữ liệu n m trong sằ ố các điểm dữ liệu còn lại, chưa
chạm đ n để xác địế nh một cụm mới
- Có thể xem một ví dụ trực quan hơn tại đây (Link)
3.2 Quá trình th c hi n & k t qu phân tích ự ệ ế ả
Vì ở trong ph n m m Clementine 12.0 không h ầ ề ỗtrợ thuật toán DBSCAN
nên trong dự án lần này nhóm s d ng phử ụ ần mềm Orange để thực hi n d án ệ ự
lần này Giao di n làm vi c c a 2 ph n mệ ệ ủ ầ ềm này tương đối giống nhau nên s ẽ
không ph i là rào c n dành cho nhả ả ững ai chưa sẽ ụ d ng ph n m m Orange ầ ề
Sơ đồ làm việc trong Orange
Thiết lập vai trò của các bi n ế
Trang 12Thiết lập tham s cho thu t toán DBSCAN ố ậ
Tùy vào mức độ mong mu n cố ủa người nghiên c u mà s có quyứ ẽ ết định
cho 2 thông s ố này “Core point neighbors” sẽ tương ứng v i khái ni m minPts ớ ệ
đã đề ập trước đó Tham số c này càng lớn, điều kiệu phân cụm sẽ càng khắt
khe, chỉ những khu v c th c s có mự ự ự ật độ cao thì mới được gom thành mộ
cụm Tương tự, “Neighborhood distance” sẽ tương ứng v i tham sớ ố Eps đã
trình bày Tham s này càng nhố ỏ thì điều ki n phân c m s càng kh t khe vì ệ ụ ẽ ắ
mậ ột đ giờ đây được xét trên 1 vùng di n tích lân c n nh ệ ậ ỏ hơn
Trong bài này nhóm chọn minPts = 6 và Eps = 0.10 để thực hiện, điều
này hoàn toàn d a vào ý ngự hĩ chủ quan của nhóm để minh h a cho tính kh ọ ả
thi & ý nghĩa của đề tài lần này Sau này có thể tùy vào yêu cầu doanh nghiệp
và b d u khác mà s ộ ữliệ ẽ có điều ch nh thích hỉ ợp