1 | P a g eHỌC VIỆN NGÂN HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ BÁO CÁO KẾT THÚC HỌC PHẦN KHAI PHÁ DỮ LIỆU ĐỀ TÀI: XÂY DỰNG MÔ HÌNH DỰ ĐOÁN XU HƯỚNG MUA HÀNG TẠI CỬA HÀNG TIỆN LỢI Giản
Trang 11 | P a g e
HỌC VIỆN NGÂN HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ
BÁO CÁO KẾT THÚC HỌC PHẦN
KHAI PHÁ DỮ LIỆU
ĐỀ TÀI:
XÂY DỰNG MÔ HÌNH DỰ ĐOÁN
XU HƯỚNG MUA HÀNG TẠI CỬA HÀNG TIỆN LỢI
Giảng viên hướng dẫn: TS Bùi Thị Hồng Nhung
Lớp học phần: 211IS30A02
Thành viên nhóm:
1 Nguyễn Quang Huy - 22A4040018 (0968510398)
2 Chu Thúy Quỳnh - 22A4040087
3 Tô Văn Tuấn - 22A4040056
4 Phạm Quang Linh – 22A4040158
Hà Nội, tháng 01 năm 2023
Trang 22 | P a g e
25%
Thu t toán Phân cậ ụm
25%
thu t toán Phân l p ậ ớ
25%
Trang 33 | P a g e
MỤC L C Ụ
M Ở ĐẦU 8
I T NG QUAN BÀI TOÁNỔ 10
1.1. Đặ ấn đề 10 t v 1.2. Xác định bài toán 10
1.3 Ý nghĩa và vai trò bài toán 11
II PHÂN TÍCH D Ữ LIỆU BÀI TOÁN 12
2.1. Xác định các thu c tính c n thu thộ ầ ập 12
2.2 Cách th c thu th p d ứ ậ ữ liệu 13
2.3. Hiển thị ột phần dữ liệu 13 m III GIỚ I THI U CÁC THUẬT TOÁN SỬ DỤNG 15 Ệ 3.1. Thuật toán Phân lớp 15
3.1.1 Khái niệm 15
3.1.2 Quá trình phân l p d ớ ữ liệu 16
3.2. Thuật toán Phân cụm 18
3.2.1. Tổng quan v Phân c m d uề ụ ữ liệ 18
3.2.2. Thuật toán Phân c m K-meansụ 19
3.3. Thuật toán Luật k t h ế ợ 20 p 3.3.1. Giới thiệu v ề thuật toán Luật kế ợp t h 20
3.3.2. Các bước thực hiện 22
IV MÃ LỆNH CHƯƠNG TRÌNH 24
4.1. Tiền xử lý dữ liệu, vẽ ểu đồ bi minh họa 24
4.1.1. Tiền xử lý dữ liệu 24
4.1.2 V biẽ ểu đồ minh h aọ 28
Trang 44 | P a g e
4.2. Thuật toán Phân lớp 33
4.2.1 K ch b n 1: D ị ả ự đoán quyết định mua hàng c a khách hàng d a vào ủ ự
tất cả các thu c tínhộ 33 4.2.2 K ch b n 2: D ị ả ự đoán khả năng khách mua hàng d a vào gi i tính và ự ớ
độ ổ tu i 35
4.3. Thuật toán Phân cụm 37
4.3.1 K ch b n 1: Phân c m Thu nh p c a khách hàng theo gi i tínhị ả ụ ậ ủ ớ 37 4.3.2 K ch b n 2: Phân c m Thu nh p cị ả ụ ậ ủa khách hàng theo độ tuổi 38
4.3.3. Đánh giá kết quả thực nghiệm 38
4.4. Thuật toán Luật k t h ế ợ 39 p4.4.1 K ch bị ản 1: Min_confidence=20%, min_lift=2, min_length=2, độ ỗ h
trợ 7/285=0.02 (nh ng m ữ ặt hàng mua ít nhất 7 lần/tu n) ầ 40 4.4.2 K ch bị ản 2: Min_confidence=80%, min_lift=2, min_length=2, độ ỗ h
trợ 7/285=0.02 (nh ng m ữ ặt hàng mua ít nhất 7 lần/tu n) ầ 42 4.4.3 K ch bị ản 3: Min_confidence=20%, min_lift=2, min_length=2, độ ỗ h
trợ 14/285=0.04 (nh ng m t hàng mua ít nh ữ ặ ất 14 lần/tuần) 43 4.4.4 K ch bị ản 4: Min_confidence=80%, min_lift=2, min_length=2, độ ỗ h
trợ 14/285=0.04 (nh ng m t hàng mua ít nh ữ ặ ất 14 lần/tuần) 44 4.4.5 K ch bị ản 5: Min_confidence=20%, min_lift=2, min_length=2, độ ỗ h
trợ 21/285=0.07 (nh ng m t hàng mua ít nh ữ ặ ất 21 lần/tuần) 45 4.4.6 K ch bị ản 6: Min_confidence=80%, min_lift=1, min_length=2, độ ỗ h
trợ 21/285=0.07 (nh ng m t hàng mua ít nh ữ ặ ất 21 lần/tuần) 46 4.4.7 K ch bị ản 7: Min_confidence=80%, min_lift=1, min_length=2, độ ỗ h
trợ 28/285=0.09 (nh ng m t hàng mua ít nh ữ ặ ất 28 lần/tuần) 47
V KẾT LUẬN, ĐÁNH GIÁ 49
5.1. Thuật toán Phân lớp 49
Trang 55 | P a g e
5.2. Thuật toán Phân cụm 49
5.3. Thuật toán Luật k t h ế ợ 49 pDANH MỤC TÀI LI U THAM KHỆ ẢO 51
Trang 66 | P a g e
LỜI CAM ĐOAN
Chúng em xin cam đoan những kết quả đạt được trong báo cáo là sản phẩm nghiên cứu, tìm hiểu của những thành viên trong nhóm Trong toàn bộ nội dung của báo cáo, những điều được trình bày là của nhóm hoặc đã được tham khảo từ nhiều nguồn tài liệu khác nhau Tất cả các tài liệu tham khảo đều được trích dẫn hợp pháp và có xuất xứ rõ ràng
Chúng em xin hoàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình
Hà Nội, ngày 09 tháng 1 năm 20230 Nhóm sinh viên thực hiện Nguyễn Quang Huy Chu Thúy Quỳnh
Tô Văn Tuấn Phạm Quang Linh
Trang 77 | P a g e
L I CỜ ẢM ƠN
Đầu tiên, chúng em xin g i lời cảm ơn chân thành tới cô Bùi Thị Hồng ửNhung - Giảng viên Khoa Hệ thống thông tin qu n lý, H c viả ọ ện Ngân hàng Trong quá trình h c t p và th c hi n bài báo cáo k t thúc h c phọ ậ ự ệ ế ọ ần “Xây dựng mô hình ự đoán xu hướng mua hàng tại hệ thống cửa hàng tiện D
lợi”, cô đã luôn tạo điều kiện, giúp đỡ để chúng em hoàn thành tốt nhất bài thi lần này
Chúng em đã cố gắng hoàn thi n bài báo cáo v i t t c s n l c và c ệ ớ ấ ả ự ỗ ự ốgắng c a c nhóm Tuy nhiên, do còn thi u nhi u kinh nghi m, ch c ch n bài ủ ả ế ề ệ ắ ắbáo cáo s không tránh kh i nh ng thiẽ ỏ ữ ếu sót Vì v y, chúng em r t mong nhậ ấ ận
được s quan tâm, nh ng ý kiự ữ ến đóng góp của cô để bài báo cáo của chúng
em có th hoàn thiể ện hơn
Chúng em xin chân thành cảm ơn!
Trang 88 | P a g e
M Ở ĐẦU Thống kê c a Bộ ủ Công Thương cho thấy, giai đoạn 2010-2021, số lượng siêu thị, trung tâm thương mại tăng nhanh, từ 567 siêu thị, 95 trung tâm thương mại (năm 2010) lên 1.167 siêu thị và 254 trung tâm thương mại (năm 2021) Đặc biệt, số lượng cửa hàng tiện lợi của các chuỗi những năm gần đây tăng lên nhanh chóng Tính đến nay, số lượng siêu thị đã tăng 89% so với năm 2005, góp phần thúc đẩy lưu thông hàng hóa, theo hướng văn minh hiện
đại C a hàng tiện lử ợi đã và đang phát triển mạnh ở Việt Nam dưới dạng một
mô hình kinh doanh bán l có quy mô v a và nh , bán nh ng m t hàng thiẻ ừ ỏ ữ ặ ết
y u cho cu c sế ộ ống hàng ngày và tương tự như một cửa hàng tạp hóa, có kết hợp v i mớ ột s dịch v r t thuố ụ ấ ận tiện cho người tiêu dùng như bán thẻ điện thoại
Ông Furusawa Yasuyuki - Tổng giám đốc AEON Việt Nam chia sẻ, do ảnh hưởng của dịch COVID-19, thói quen cũng như xu hướng, hành vi tiêu dùng của khách hàng đã thay đổi mạnh m "Khách hàng giẽ ờ đây ưu tiên sựthu n ti n, l a ch n mua sậ ệ ự ọ ắm ở các địa điểm g n nhà Bên cầ ạnh đó, họ chú trọng các s n phẩm t t cho s c kh e v i giá c hả ố ứ ỏ ớ ả ợp lý Đó là lý do các siêu thịmini, c a hàng nhử ỏ sẽ là xu hướng"
Các thương hiệu nước ngoài như Circle K hay GS25, Family Mart, 7 Eleven,… cũng từng bước thâm nhập và chiếm lĩnh thị phần, từng bước cạnh tranh v i các hớ ệ thống thu n Viầ ệt như WinMart+, Bách hóa xanh, Co.op Food,… Do đó, việc nghiên cứu, tìm hiểu về thói quen mua sắm, dự đoán xu hướng mua hàng của khách hàng, đặc biệt là khách hàng tr - t p khách hàng ẻ ệchi m t l l n c a các c a hàng ti n l i là t t y u Tế ỷ ệ ớ ủ ử ệ ợ ấ ế ừ đó, các hệ thống có th ể
có các chính sách khuy n mãi, chi n dế ế ịch marketing thành công hơn, đem đến nhi u l i th cề ợ ế ạnh tranh cho thương hiệu của mình
Để th c hi n bài báo cáo “Xây dựự ệ ng mô hình Dự đoán xu hướng mua hàng t i c a hàng ti n lạ ử ệ ợi”, nhóm chúng em chia thành 4 phần như sau:
Trang 99 | P a g e
Chương I: Tổng quan bài toán
Chương II: Phân tích dữ liệu bài toán
Chương III: Giới thi u các thu t toán s dệ ậ ử ụngChương IV: Mã lệnh chương trình
Chương V: Kết luận, đánh giá
Trang 10Khái ni m c a hàng ti n lệ ử ệ ợi được hi u là m t mô hình kinh doanh bán l ể ộ ẻ
có quy mô v a và nh , bán nh ng m t hàng thi t y u cho cu c s ng hàng ừ ỏ ữ ặ ế ế ộ ốngày và tương tự như một cửa hàng tạp hóa, có kết hợp với một số dịch vụ rất thu n tiậ ện cho người tiêu dùng như bán thẻ điện tho ại
Tại đây, khách hàng có thể mua đồ ăn nhanh và s d ng t i chử ụ ạ ỗ Đây
được xem là phiên b n nâng c p cả ấ ủa mô hình kinh doanh quán tạp hóa nhưng
có ưu điểm v b trí khoa h c, ti t ki m th i gian, không gian và chề ố ọ ế ệ ờ ất lượng dịch vụ tốt hơn
C a hàng ti n l i xu t hi n nhiử ệ ợ ấ ệ ều ở các thành ph l n, ố ớ ở những khu vực đông dân cư Theo thống kê của Nielsen Việt Nam, 34% người tiêu dùng thường xuyên mua s m t i siêu th và 29% t i siêu th ắ ạ ị ạ ị mini Trong khi đó 22% người tiêu dùng l i ch n mua hàng t i c a hàng ti n ích và siêu th mini gạ ọ ạ ử ệ ị ần nơi làm việc, sinh sống Hệ thống siêu thị mini với độ tiện l i, d dàng tiợ ễ ếp cận các khu dân cư, với mức giá ổn định, hàng hóa chất lượng ngày càng
được người dân ch n trởọ thành kênh mua bán thường xuyên và được m r ng ở ộnhiều hơn ở những khu v c ngo i ô ự ạ
Mô hình này mọc lên như nấm ở Việt Nam những năm gần đây và tiếp tục phát triển theo xu hướng tích hợp đa tiện ích, đa trải nghiệm Có thể hiểu, người tiêu dùng khi tham gia vào m t "hệộ sinh thái" này, không chỉ nh n ậđược l i ích mua sợ ắm “one-stop shop” ấ ả ạ (t t c t i một điểm) ừ t nhu yếu ph m, ẩdược mỹ phẩm, F&B cho đến dịch vụ tài chính, mà khách hàng còn hưởng chương trình loyalty tích điểm tích hợp và quy đổi quyền lợi linh hoạt từ hệ sinh thái tr n v n này ọ ẹ
1.2. Xác định bài toán
Trang 1111 | P a g e
Để xây dựng được những mô hình hợp lý, nhóm đã có sự phân tích và đánh giá sự ảnh hưởng của các yếu tố đến quyết định mua hàng của người tiêu dùng để đưa ra các thuộc tính phù h p ợ Ý định mua hàng thường sẽ phụthu c r t nhi u vào nhi u y u tộ ấ ề ề ế ố như giá cả ủ c a s n; thu nh p c a khách hàng; ả ậ ủ
sự thuận tiện, đa dạng trong các phương thức thanh toán; hay chỉ đơn giản là những y u tế ố liên quan đến giới tính, tuổi tác, nghề nghiệp, c a chính bủ ản thân khách hàng Những khách hàng có độ tuổi, ngh nghi p và thu nh p, ề ệ ậkhác nhau s có các quẽ ỹ thời gian cũng như nhận thức khác nhau, điều đó có thể dẫn đến khả năng lựa ch n mua s m t i các c a hàng ti n l i ọ ắ ạ ử ệ ợ cũng là không gi ng nhau ố
Sau khi xác định được các dữ liệu cần thu thập, ta sẽ xử lý lại các dữ liệu
đó phù hợp với yêu cầu đầu vào của thuật toán rồi để máy h c Tọ ừ đó nhận
được kết qu dả ự đoán về ý định của khách hàng và cả xu hướng mua sắm c a ủ
họ
1.3 Ý nghĩa và vai trò bài toán
Nhờ vào các thu t toán ng d ng AI, có th xây dậ ứ ụ ể ựng được các mô hình,
dự đoán với độ chính xác cao Qua đó, các hệ thống có th có các chính sách ểkhuy n mãi, chi n dế ế ịch marketing thành công hơn, đem đến nhiều lợi thế cạnh tranh cho thương hiệu của mình
Trang 12sự thu n tiậ ện, nhanh chóng hơn so với n a còn lử ại Do đó, giới tính cũng là
m t yộ ếu tố đáng quan tâm trong bài toán
Tuổi tác (Age): Theo số liệu mới nhất của Ủy ban Qu c gia v thanh ố ềniên Vi t Nam, hiệ ện nay nước ta có hơn 22,1 triệu người trong độ tuổi thanh niên (từ đủ 16 đến 30 tu i), chi m kho ng 22,5% dân s cổ ế ả ố ả nước và g n 36% ầlực lượng lao động Và thực tế cho thấy, đây là nhóm khách hàng chiếm tỷ lệ cao c a các hủ ệ thống c a hàng ti n l i Có nhi u lý do khiử ệ ợ ề ến nó thu hút được giới trẻ “chi tiền” như: Hàng hóa đa dạng, trình bày đẹp mắt, hợp lý; Giá cả niêm yết rõ ràng; Không gian phù hợp nhu c u; Có th phụầ ể c v 24/24 và có ụnhi u tiề ện ích đi kèm khác
Ngh nghi p (Job): Ngh nghi p c a mề ệ ề ệ ủ ỗi người có thể ảnh hưởng đến lối sống, nh n th c Ví d , nhậ ứ ụ ững người làm t do có th i gian làm vi c không ự ờ ệ
cố định, giờ giấc ăn uống, sinh hoạt thất thường nên có xu hướng mua sắm trong các c a hàng ti n l i nhiử ệ ợ ều hơn Hoặc có nh ng ngành nghữ ề đặc thù với thời gian làm vi c kéo dài, d dệ ễ ẫn đến m t m i thì vi c mua th c ph m trong ệ ỏ ệ ự ẩkhông gian có điều hòa, sạch sẽ như cửa hàng tiện lợi sẽ được ưu tiên hơn mua trong một khu chợ đông đúc dù giá cả chênh lệch khá nhiều
Thu nh p (Income): ậ Người có thu nh p cao s có nhu cậ ẽ ầu mua s m nhiắ ều hơn, song song với đó, yêu cầu về chất lượng sản phẩm cũng cao hơn so với những người thu nhập thấp Họ cũng thường không có nhiều thời gian rảnh cho vi c mua nhệ ững hàng hóa thông thường
Khả năng thanh toán (Easy_paid): Thời đại công nghệ 4.0 khiến nhiều phương thức thanh toán được khả dụng Nhiều khách hàng dần có thói quen không dùng ti n m t ề ặ Tuy nhiên, đôi khi các hệ thống còn g p l i khi n khách ặ ỗ ế
Trang 1313 | P a g e
hàng chưa thực sự hài lòng trong quá trình mua hàng Với những khách hàng không thường xuyên mua hàng hóa trong các cửa hàng tiện lợi thì điều đó có thể ạ t o ấn tượng không tốt, ảnh hưởng đến những quyết định mua sắm tiếp theo
Hóa đơn (Bill): Đương nhiên khi mua bán, trao đổi hàng hóa thì giá cả luôn là một trong nh ng yữ ếu t quan tr ng nhố ọ ất ảnh hưởng đến quyết định mua hàng của người tiêu dùng
D u cữ liệ ần thu th p ậ Kiểu d u ữ liệ Giá tr minh hị ọa
Giới tính (Sex) Chu i (object) ỗ N (Female) ữ
Tuổi tác (Age) S nguyên (int64) ố 18
Ngh nghi p (Job) ề ệ Chu i (object) ỗ Sinh viên (Student) Thu nh p (Income) ậ S nguyên (int64) ố 2500000
Thanh toán (Easy_paid Chu i (object) ỗ No
Hóa đơn (Bill) S nguyên (int64) ố 500000
Ý định mua (Intent) Chu i (object) ỗ Yes
2.2 Cách th c thu thứ ập d ữ liệu
Nhóm tiến hành thu thập dữ liệ ừ việu t c kh o sát các khách hàng tr trên ả ẻ
địa bàn Hà N i về ý địộ nh mua sắm trên các sàn thương mại điện t thông qua ửhình th c tr c ti p: ph ng v n và hình th c tr c tuyứ ự ế ỏ ấ ứ ự ến: g i link khử ảo sát 2.3. Hiển th m t ph n d u ị ộ ầ ữ liệ
Trang 1414 | P a g e
Trang 1515 | P a g e
III. GIỚI THI U CÁC Ệ THUẬT TOÁN S DỬ ỤNG
3.1 Thu t toán Phân l p ậ ớ
- Mô hình này được xây dựng dựa trên 1 tập dữ liệu được xây dựng trước
đó có gán nhãn (hay còn gọi là tập hu n luy n) ấ ệ
- Quá trình phân lớp là quá trình gán nhãn cho đối tượng dữ liệu
Bài toán phân lớp (Classification) và bài toán phân c m (Spectral ụClustering) là 2 bài toán lớn trong lĩnh vực Machine Learni ng
Như vậy, nhiệm vụ của bài toán phân lớp là cần tìm 1 mô hình phần lớp
để khi có d liệu mới thì có thể xác định được d liệu đó thuộc vào phân lớp ữ ữnào Có nhi u bài toán phân l p dề ớ ữ liệu như phân lớp nh phân (Binary ịClassification), phân lớp đa lớp (Multiclass Classification), phân lớp đa trị
Trang 1616 | P a g e
- Bài toán phân l p nh phân là bài toán gán nhãn dớ ị ữ liệu cho đối tượng vào 1 trong 2 lớp khác nhau d a vào vi c dự ệ ữ liệu đó có hay không có các đặc trưng (feature) của bộ phân lớp
- Bài toán phân lớp đa lớp là quá trình phân l p dớ ữ liệu v i sớ ố lượng lớp lớn hơn 2 Như vậy với từng dữ liệu ph i xem xét và phân l p chúng vào ả ớnhững l p khác nhau ch không ph i là 2 lớ ứ ả ớp như bài toán phân lớp nh ịphân Và th c ch t bài toán phân l p nhự ấ ớ ị phân là 1 bài toán đặt bi t cệ ủa phân lớp đa lớp
Ứng dụng của bài toán này được sử ụ d ng rất nhiều và rộng rãi trong th c ự
tế ví dụ như bài toán nhận d ng khuôn m t, nh n di n gi ng nói, phát hiạ ặ ậ ệ ọ ện email spam,
Phân l p nh n d ng email spam ớ ậ ạ
Và đối với các bài toán phân lớp dữ liệu sử d ng các thu t toán h c có ụ ậ ọgiám sát (Supervised Learning) để xây d ng mô hình cho bài toán này ự3.1.2 Quá trình phân l p d u ớ ữ liệ
Bước 1: Chu n b t p dẩ ị ậ ữ liệu hu n luyấ ện (dataset) và rút trích đặc trưng (feature extraction)
Công đoạn này được xem là công đoạn quan trọng trong các bài toán về Machine Learning Vì đây là input cho việc học để tìm ra mô hình c a bài ủtoán Chúng ta ph i biả ết cần ch n ra nhọ ững đặ trưng tốc t (good feature) của
dữ liệu, lược bỏ những đặc trưng không tốt của dữ liệu, gây nhi u (noise) ễƯớc lượng số chiều của dữ liệu bao nhiêu là t t hay nói cách khác là ch n bao ố ọnhiêu feature N u s chi u quá lế ố ề ớn gây khó khăn cho việc tính toán thì phải giảm số chi u c a dề ủ ữ liệu nhưng vẫn giữ được độ chính xác c a dữ liệu ủ(reduce demension)
Trang 1717 | P a g e
Ở bước này chúng ta cũng chuẩn bị bộ d liệu để test trên mô hình ữThông thường sẽ sử dụng cross-validation (kiểm tra chéo) để chia t p datasets ậthành 2 ph n, 1 ph n ph c v cho training (training datasets) và ph n còn lầ ầ ụ ụ ầ ại phục vụ cho mục đích testing trên mô hình (testing dataset) Có 2 cách thường
sử d ng trong cross-validation là splitting và k-fold ụ
Bước 2: Xây d ng mô hình phân l p (Classifier model) ự ớ
Mục đích của mô hình hu n luy n là tìm ra hàm f(x) và thông qua hàm f ấ ệtìm được để gán nhãn cho dữ liệu, bước này thường được gọi là learning hay training
Bước 3: Kiểm tra d u v i mô hình (making predictions) ữ liệ ớ
Sau khi đã tìm được mô hình phân lớp ở bước 2, thì ở bước này sẽ đưa vào các d ữ liệu mới để kiểm tra trên mô hình phân lớp
Bước 4: Đánh giá mô hình phân lớp và chọn ra mô hình t t nh t ố ấ
Bước cu i cùng số ẽ đánh giá mô hình bằng cách đánh giá mức độ lỗi của
dữ liệu testing và d ữ liệu training thông qua mô hình tìm được Nếu không đạt được k t qu mong mu n thì phế ả ố ải thay đổi các tham s (turning parameters) ốcủa các thu t toán hậ ọc để tìm ra các mô hình tốt hơn và kiểm tra, đánh giá lại
mô hình phân l p, và cu i cùng ch n ra mô hình phân l p t t nh t cho bài ớ ố ọ ớ ố ấtoán
Trang 1818 | P a g e
3.2 Thu t toán Phân c m ậ ụ
3.2.1 T ng quan v Phân c ổ ề ụm d u ữ liệ
Phân c m dụ ữ liệu là m t trong nhộ ững hướng nghiên c u tr ng tâm cứ ọ ủa lĩnh vực khai phá d ữ liệu (Data Mining) và lĩnh vực khám phá tri thức
a Định nghĩa Phân cụm d u ữ liệ
Phân c m dụ ữ liệu là quá trình phân chia m t t p dộ ậ ữ liệu ban đầu thành các c m dụ ữ liệu sao cho các ph n t trong m t cầ ử ộ ụm tương tự ớ v i nhau và các phần t trong các c m khác nhau s ử ụ ẽ phi tương tự với nhau
Thu t toán này tìm cách phân cậ ụm các đối tượng đã cho vào k cụm (k là
số cụm được xác định 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 c m (centroid) là nhụ ỏ nhất V ềnguyên lý, có n đối tượng, mỗi đối tượng có m thuộc tính, các đối tượng được phân chia thành k c m d a trên các thu c tính cụ ự ộ ủa đối tượng b ng vi c áp ằ ệdụng thu t toán K-means ậ
Trang 1919 | P a g e
- Xây dựng các tiêu chuẩn phân cụm
- Xây dựng mô hình cho cấu trúc cụm dữ liệu
- Xây dựng thuật toán phân cụm và xác lập các điều kiện khởi tạo
- Xây dựng các thủ tục biểu diễn và đánh giá kết quả phân cụm
3.2.2 Thu t toán Phân c m K-means ậ ụ
dữ liệu được phân v ề đúng cụm ho c s ặ ố lượt c p nhậ ật tâm chạm ngưỡng
Bước 2: Output: k c m d u Dụ ữ liệ 1, D2,…, Dkthỏa mãn điều kiện:
- Các ph n t trong cùng m t c m có tính chầ ử ộ ụ ất tương tự nhau
- Các ph n t trong các cầ ử ụm khác nhau có tính ch t khác nhau ấ
Bước 3: Thu t toán ậ
Trang 203.3.1. Giới thi u v thu t toán Lu t k t h p ệ ề ậ ậ ế ợ
a T p m c, giao dậ ụ ịch và cơ sở dữ liệu
- T p mậ ục:Nếu X có k mục (tức |X| = k) thì X được gọi là k itemset –+ G i I = {xọ 1, x2, , x } là t p n m c (item) M t t p X n ậ ụ ộ ậ ⊆ I được gọi
là m t t p mộ ậ ục (itemset)
+ N u X có k mế ục (tức |X| = k) thì X được gọi là k itemset –
- Giao d ch: Ký hi u D = {T , T , , Tị ệ 1 2 m} là cơ sở ữ liệu g m m giao d ồdịch (transaction) M i giao d ch T D là mỗ ị i∈ ột t p mậ ục, t c Tứ i ⊆ I
b T p/m u ph ậ ẫ ổ biến (frequent itemset/pattern)
F là ký hiệu c a t t củ ấ ả các t p phậ ổ biến
F là ký (k) hiệu c a t p các t p ph ủ ậ ậ ổ biến có độ dài k
Trang 2121 | P a g e
c Định nghĩa Luật kết hợp
Luật k t h p là mế ợ ối quan hệ giữa các t p thuậ ộc tính trong cơ sở dữ liệu Luật k t hế ợp là phương tiện hữu ích để khám phá các m i liên k t trong d ố ế ữliệu M t luật k t h p là một mộ ế ợ ệnh đề kéo theo có d ng X -ạ > Y, trong đó X, Y
⊆ I, thỏa mãn điều kiện X Y = Các t∩ ∅ ập hợp X và Y được gọi là các tập hợp thuộc tính (itemset) T p X gậ ọi là nguyên nhân, t p Y g i là hậ ọ ệ quả Có 2
độ đo quan trọng đối với luật kết hợp: Độ h trợ (support) và độ tin cậy ỗ(confidence), được định nghĩa như phần dưới đây:
- Độ h ỗ trợ:
+ Độ hỗ trợ ủ c a m t lu t k t h p X -> Y là t lộ ậ ế ợ ỷ ệ giữa s ố lượng các bản ghi ch a t p h p X -> Y, so v i t ng s các b n ghi trong D Ký hiứ ậ ợ ớ ổ ố ả ệu supp(X -> Y):
𝑠𝑢𝑝 (𝑋 → 𝑌, 𝐷) = 𝑠𝑢𝑝 (𝑋 ∪ 𝑌,𝐷) + Độ hỗ trợ tương đố ủi c a lu t X->Y trong c s dậ ơ ở ữ liệu D ký hiệu là rsup(X->Y, D) là s ố phần trăm các giao dịch trong D ch a c X và Y: ứ ả
𝑟𝑠𝑢𝑝(𝑋 → 𝑌,𝐷) =𝑠𝑢𝑝 (𝑋 ∪ 𝑌,𝐷)
|𝐷|
Nếu độ ỗ trợ ủ h c a m t k t k t h p X -ộ ế ế ợ > Y là 30% thì có nghĩa là 30% tổng s b n ghi ch a X hố ả ứ ợp Y Như vậy độ ỗ trợ mang ý nghĩa thống kê của h
lu t.ậ
- Độ tin c y: ậ Độ tin c y (confidence) c a luậ ủ ật X → Y trong D, ký hiệu conf (X → Y , D), là tỉ lệ giữa số giao dịch chứa cả X và Y trên số giao d ch ch ị ỉ chứa X:
𝑐𝑜𝑛𝑓(𝑋 → 𝑌, 𝐷) = 𝑠𝑢𝑝 (𝑋 ∪ 𝑌,𝐷)
𝑠𝑢𝑝 (𝑋,𝐷)
- Độ h ỗ trợ và độ tin cậy có xác suất như sau:
+ Độ h ỗ trợ là xác xu t trong giao d ch chấ ị ứa c X và Y ả
Trang 22- Tính ch t 2: Gi s A, B là hai t p h p, A,B I, n u B là t p ph ấ ả ử ậ ợ ⊆ ế ậ ổbiến và A⊆B thì A cũng là tập phổ biến Vì n u B là t p phế ậ ổ biến thì sup(B) >= minsup, m i t p h p A là con c a t p họ ậ ợ ủ ậ ợp B đều là t p ph ậ ổbiến trong cơ sở dữ liệu D vì sup(A) >= sup(B) (Tính ch t 1) ấ
- Tính ch t 3: Gi s A, B là hai t p h p, A B và A là t p h p không ấ ả ử ậ ợ ⊆ ậ ợthường xuyên thì B cũng là tập hợp không thường xuyên (Tính chất 1) (T c n u A là t p h p không phứ ế ậ ợ ổ biến thì m i t p cha cọ ậ ủa nó cũng không biến)
3.3.2. Các bước th c hi n ự ệ
Khai phá lu t k t h p là vi c phát hi n ra các lu t k t h p th a mãn các ậ ế ợ ệ ệ ậ ế ợ ỏngưỡng độ hỗ trợ (minsup) và ngưỡng độ tin cậy (minconf) cho trước Bài toán khai phá lu t k t h p g m hai pha: ậ ế ợ ồ
- Pha 1: Khai phá t t c các t p phấ ả ậ ổ biến trong CSDL D với ngưỡng độ
hỗ tr t i thiợ ố ểu minsup (thường có độ tính toán cao và chi m ph n lế ầ ớn thời gian trong khai phá lu t k t hậ ế ợp)
- Pha 2: Sinh ra t t c các lu t m nh t các t p phấ ả ậ ạ ừ ậ ổ biến khai phá được
từ pha trước với ngưỡng tiến c y t i thi u mà minconf ậ ố ể
Trang 2323 | P a g e
a Thu t toán 1: Thu t toán ậ ậ cơ bản
- Đầu vào: I, D, minsup, minconf
- Đầu ra: Các lu t k t h p thậ ế ợ ỏa mãn ngưỡng độ ỗ trợ minsup, ngưỡng h
độ tin cậy minconf
- Thu t toán: ậ
+ Tìm t t c các tấ ả ập h p các tính chợ ất có độ hỗ trợ >= minsup
+ T các t p h p m i tìm ra, t o ra các lu t k t h p có tin c y >= ừ ậ ợ ớ ạ ậ ế ợ độ ậminconf
b Thu t toán 2: Tìm lu t k t hậ ậ ế ợp khi đã biết các t p hậ ợp thường xuyên
- Đầu vào: I, D, minsup, minconf, t p ph ậ ổ biến S
- Đầu ra: Các lu t k t h p thậ ế ợ ỏa mãn ngưỡng độ ỗ trợ minsup, ngưỡng h
độ tin cậy minconf
- Thu t toán: ậ
+ L y ra mấ ột tập ph biến s S, và mổ ⊆ ột t p con X ậ ⊆ s
+ Xét lu t k t h p có dậ ế ợ ạng X → (sX), đánh giá độ tin c y c a nó xem ậ ủ
có nhỏ hơn minconf hay không Thực chất, tập hợp S mà ta xét đóng vai trò c a t p h p giao S = X h p Y, và do X giao (S X) = r ng, ủ ậ ợ ợ – ỗnên coi như Y = S – X
Các thu t toán xoay quanh khai phá lu t k t h p ch y u nêu ra các giậ ậ ế ợ ủ ế ải pháp để đẩy nhanh vi c th c hi n Pha 1 là tìm t t c các t p ph ệ ự ệ ấ ả ậ ổ biến
c Thu t toán Apriori ậ
Thuật toán Apriori được công b bố ởi R Agrawal và R Srikant vào năm
1994 vì để tìm các tập phổ biến trong một bộ dữ liệu lớn Tên của thuật toán
là Apriori vì nó s dử ụng kiến thức đã có từ trước (prior) v các thu c tính, về ộ ật phẩm thường xuyên xu t hiấ ện trong cơ sở ữ liệu Để ả d c i thi n hi u qu cệ ệ ả ủa việ ọc l c các mục thường xuyên theo cấp độ, một thu c tính quan trọng được ộ
sử d ng gụ ọi là thu c tính Apriori giúp gi m ph m vi tìm ki m c a thu t toán ộ ả ạ ế ủ ậ
Trang 2424 | P a g e
4.1. Tiền x lý d ử ữ liệu, v ẽ biểu đồ minh h a ọ
4.1.1. Tiền x lý d u ử ữ liệ
a Khai báo các thư viện dùng chung
- Pandas: Thư viện pandas trong Python là một thư viện mã nguồn mở,
hỗ trợ đắc l c trong thao tác dự ữ liệu, phân tích và x lý dử ữ liệu m nh ạ
m V i các file dẽ ớ ữ liệu d ng bạ ảng (.csv, els, txt, json,…) thì chúng
ta s dử ụng thư viện pandas
- Numpy: Là một thư viện toán h c phọ ổ biến c a Python, cho phép làm ủviệc hi u quả v i ma trận và mệ ớ ảng, đặc biệt là nh ng d liệu ma trận ữ ữ
và m ng l n v i tả ớ ớ ốc độ ử lý nhanh hơn nhiề x u so v i ch s dớ ỉ ử ụng
“core Python” thuần
- Matplotlib: Matplotlib là một thư viện pandas s d ng Python Script ử ụ
để giúp chúng ta tạo ra các đồ thị 2D thường được ng d ng trong ứ ụtoán h c và khoa h c d ọ ọ ữ liệu
- Pickle: Thư viện giúp lưu trữ các mô hình đã sử dụng
Ngoài ra, để thực hiện các thuật toán, nhóm còn sử dụng một số thư viện
accuracy_score, DecisionTreeClassifier, classification_report; KMeans; Apriori
b Đọc d li u ữ ệ
Cho phép google colab k t n i v i google drive: ế ố ớ
Trang 2525 | P a g e
Để đọc file “Khaiphadulieu.csv”, ta dùng hàm read_csv, nó sẽ trả ề v cho
ta m t DataFrame DataFrame là c u trúc dộ ấ ữ liệu được tổ chức theo không gian 2 chi u bao g m các hàng, các cề ồ ột và các nhãn tương ứng v i các hàng, ớcác cột Đọc file d ữ liệu để phân tích và đặt tên dữ liệu đó là df
S d ng lử ụ ệnh print cùng hàm shape để đưa ra thông tin về ố lượ s ng bản ghi cũng như số lượng thu c tính c a mô hình: ộ ủ
S dử ụng hàm describe để hiện th các thông tin th ng kê các giá trị ố ị định lượng: