ỨNG DỤNG MACHINE LEARNING TRONG PHÂN LOẠI Với các doanh nghiệp đã có lượng khách hàng dồi dào, lượng khách hàng trong b ng ảthống kê kết toán lên đến hàng chục nghìn người, v y làm sao b
Trang 2Giảng viên hướng d n: Ts Nguy n Th Thu Hà ẫễịSinh viên thực hi n: Lê Thanh Hùng ệ
Trang 3Điểm đánh giá của CBCT2: Bằng s ố:
Bằng ch ữ:
Điểm k t lu n: ếậBằng s : ố
Bằng chữ:
Thừa Thiên Huế, ngày tháng năm 2022
Cán b ộ chấm thi 1
(Ký và ghi rõ h và tên) ọ
Cán b ộ chấm thi 2
(Ký và ghi rõ h và tên) ọ
Trang 4DANH SÁCH SINH VIÊN THAM GIA TH C HIỰỆN ĐỀ TÀI
STT Mã sinh viên Họ và tên Lớp Khóa 1 20E1020063 Lê Thanh Hùng KHDL & TTNT K1 2 21E1010011 Trần Nh t Hân ậ KHDL & TTNT K2
Trang 5Thiết k nghiên cế ứu 6
Phương pháp Nghiên cứu 6
Xây d ng mô hìnhự 7
Cấu Trúc Báo cáo 8
NỘI DUNG NGHIÊN CỨU 10
Chương I: Cơ sở lý thuyết 10
1 Ngôn ng l p trình Pythonữ ậ 10
2 Giới thiệu chương trình thu thập dữ liệu Web crawler 10
3 Các phương pháp phân loại ở thời điểm hiện tại 11
4 Cơ Sở lý thuyết Machine Learning 11
5 Lý thuy t Phân tích Th ng kêế ố 13
Chương II: Thực trạng nghiên cứu 14
1 Tình hình c a vủ ấn đề nghiên cứu 14
2 Thế m nh - h n ch cạ ạ ế ủa các phương pháp cũ 16
3 hướng thay đổi - phát triển từ phương pháp cũ 16
Chương III: Xây dựng mô hình nghiên cứu và tổng hợp kết quả nghiên cứu 18
KẾT QU NGHIÊN CẢỨU VÀ HƯỚNG PHÁT TRI N NGHIÊN CỂỨU 20
Chương I: Kết quả nghiên cứu 20
1 Bảng đánh giá các mô hình phân loại (dự kiến) 20
Trang 63 Bảng đánh giá hiệu quả của chương trình phân loại cuối cùng .20
Chương II: Hướng phát triển nghiên cứu 21
1 Kết luận 21
2 Hướng phát tri n nghiên cể ứu 21
TÀI LI U THAM KHỆẢO 22
KẾT QU Ả KIỂM TRA ĐẠO VĂN 23
Trang 7DANH MỤC HÌNH ẢNH
Hình 1: Phân tích html c u t o nên n i dung trên trang web ấ ạ ộ 11 Hình 2: N n t ng c a Machine learning ề ả ủ 12 Hình 3: S phát tri n c a phân tích th ng kê ự ể ủ ố 13
Trang 8DANH M C B NG BI U ỤẢỂ
Bảng 1: Tiến độ thực hi n nghiên c u ệ ứ 18 Bảng 2: Bảng đánh giá mô hình phân loại 20
Trang 9phức tạp tính toán "ít nhất là khó ngang bất kì bài toán nào trong NP" M t bài toán H là NP-khó khi và ch khi có ộ ỉmột bài toán NP-đầy đủ L quy v H trong thề ời gian đa thức
4 CRM Hệ thống qu n lý quan hả ệ khách hàng, thường dành cho
cấp quản lý, giám đốc 5 Label Việc g n nhãn dắ ữ liệu để xác định nhóm c a dủ ữ liệu đó
Nhãn ở đây có thể là các ký t sự ố đặc trưng như 0-1 hay (1)-(-1) hay các chuỗi rõ ràng như Men – Woman hay Good – Notgood…
6 Tập Train Tập huấn luy n (training set) là tệ ập dữ liệu được sử d ng ụ
để huấn luyện mô hình Các thuật toán học máy sẽ học các mô hình t t p ừ ậ huấn luy n này Vi c h c s khác nhau ệ ệ ọ ẽtùy thu c vào thu t toán và mô hình s d ng ộ ậ ử ụ
7 Missing data Trường hợp thiếu hụt d liệu ữ8 Overfitting Trường hợp kết quả c a mủ ột phân tích mà tương ứng với
việc đạt độ chính xác quá cao v i m t t p d ớ ộ ậ ữ liệu nào đó, vì vậy điều này có thể thấ ạt b i khi so khớp v i các d ớ ữ liệu bổ sung ho c dặ ự đoán các quan sát đáng tin cậy trong tương lai
9 Linearsprable Khả năng phân tách tuyến tính hai hay nhiều tập dữ liệu
trong các chi u không gian tinh toán ề
Trang 10ỨNG DỤNG MACHINE LEARNING TRONG PHÂN LOẠI
Với các doanh nghiệp đã có lượng khách hàng dồi dào, lượng khách hàng trong b ng ảthống kê kết toán lên đến hàng chục nghìn người, v y làm sao biậ ết được trong hàng chục nghìn ngươi đó ai là khách hàng tiềm năng và s ẽ mang đến nhi u l i nhu n cho doanh nghiề ợ ậ ệp trong tương lai khi bây giờ họ chỉ là những khách hàng mới? Hay v i hàng ch c nghìn khách ớ ụhàng thì làm sao có thể tìm được những điểm chung c a tủ ừng nhóm khách hàng và đưa ra chính sách qu n lý, chính sách khuy n mãi thích h p nhả ế ợ ất?
Với lượng thông tin khồng lồ mà mỗi doanh nghiệp sở hữu về khách hàng của mình nếu chúng ta biết được ai là người doanh nghi p sinh l i nhi u nhệ ờ ề ất, ai là người kiên trì chờ đợi các s n ph m t doanh nghiả ẩ ừ ệp, ai là người khó tính và thường hủy các đơn hàng đã đặ ừt t doanh nghi p, nhệ ững khách hàng không thường xuyên,… Khai thác được thông tin và phân loại khách hàng giúp cho chúng ta hiểu hơn về khách hàng, t o s gạ ự ần gũi và thân thiện hơn với khách hàng từ đó các sản phẩm doanh nghi p bán ra s ệ ẽ được trơn tru hơn
Nhờ vào việc phân lo i khách hàng tạ ừ đó giúp cho doanh nghiệp ti p c n nhi u khách ế ậ ềhàng mới hơn, cho thấ các nhóm khách hàng cùng lý do lưỡng lự khi mua s n phy ả ẩm để tìm hướng chăm sóc tư vấn phù h p tợ ừ đó tăng tỉ lệ chốt đơn cho doanh nghiệp
Như vậy ta có th ể thấy vi c phân loệ ại khách hàng t t không ch tố ỉ ạo điều kiện để phát triển marketing mà còn giúp doanh nghi p tệ ối ưu hóa các khoản chi phí và th i gian cho các dờ ịch vụ chăm sóc khách hàng
Tuy nhiên với lượng thông tin kh ng l t khách hàng trong ngày nay thì ch c ch n nh ng ổ ồ ừ ắ ắ ữcách phân lo i c ạ ổ điển s r t tiêu t n th i gian và nhân l c nên ta c n m t công c , mẽ ấ ố ờ ự ầ ộ ụ ột phần mềm có thể tự động phân loại khách hàng trong th i gian ngờ ắn, tự động và phải hoạt động tốt v i nhi u t p dớ ề ậ ữ liệu khách hàng khách nhau Thế nên ứng d ng Machine learning trong ụviệc phân lo i s loại b r t nhi u gánh n ng cho bạ ẽ ỏ ấ ề ặ ộ phẩn chiến lượ ủc c a doanh nghiệp
Trang 11 LÝ DO CHỦ QUAN
Là m t sinh viên v i chuyên ngành Khoa h c Dộ ớ ọ ữ liệu và Trí tu Nhân t o, ệ ạ được h c tọ ập về phân tích kinh doanh, phân tích dữ liệu em nh n thậ ấy việc rút ra được inside t dừ ữ liệu là chưa đủ, cần có chiến lược đặc biệt là khi ta đã biết những vấn đề cần của doanh nghiệp thì ta còn phải có bi n pháp gệ ần gũi và tiếp c n v i khách hàng nhiậ ớ ều hơn nữa b i v y vi c s ở ậ ệ ửdụng thu t toán phân loậ ại để có th phân lo i chính xác và nhanh chóng là bi n pháp vô cùng ể ạ ệthiết thực
Ngoài ra, nhờ vào l i th vợ ế ề việc được h c t p và tìm hi u qua nhi u mô hình h c máy, ọ ậ ể ề ọem có vốn liếng và ki n thế ức cơ bản về học máy để có thể tiến hành nghiên c u này ứ
Ý NGHĨA KHOA HỌC
Nhu c u khách hàng là ch s quan tr ng mà m i doanh nghiầ ỉ ố ọ ọ ệp cần ph i xem xét ảtrước khi bắt đầu thực hiện, hay là m r ng bở ộ ất cứ một lĩnh vực kinh doanh nào Từ trước khi các k thuỹ ật Machine Learning ra đời, đã tồn tại một số phương pháp dự đoán khác, trong đó chủ yếu là d a vào th ng kê toán h c, hay d a vào kinh nghi m c a nh ng ngự ố ọ ự ệ ủ ữ ười có kinh nghiệm làm lâu năm trong nghề Các phương pháp này có ưu điểm là nhanh chóng, đơn giản nhưng thường cho ra k t qu vế ả ới độ chính xác không cao, đặc biệt là khi th ịtrường có nhi u biề ến động bất thường như đại dịch Covid-19 hi n nay Vi c dệ ệ ự đoán kém chính xác t t yấ ếu s dẽ ẫn đến th t thoát, lãng phí th i gian, ti n b c c a các doanh nghiấ ờ ề ạ ủ ệp Ví d ụ giai đoạn 1-2 tháng trước dịp lễ Trung thu, nhu c u tiêu th các s n ph m bánh kầ ụ ả ẩ ẹo sẽ tăng rất mạnh Nhưng dự đoán này chỉ là kinh nghiệm Để ra được một con s cố ụ thể ẽ s có bao nhiêu s n ph m m i lo i có thả ẩ ỗ ạ ể bán được đến tay khách hành hay vi c lo i nhân nào ệ ạsẽ bán ra sẽ có doanh thu cao hơn thì đó phải dựa vào thống kê, đôi khi cũng rất cảm tính Ngày nay, v i s bùng n cớ ự ổ ủa kỷ nguyên trí tu nhân tệ ạo, ngày càng có nhi u các công ty ềáp d ng các k thuụ ỹ ật Machine Learning vào vi c d ệ ự đoán nhu cầu c a mình M c dù không ủ ặđơn giản như các phương pháp truyền thống và mất nhi u th i gian và công sề ờ ức hơn để xây dựng được một mô hình d ự đoán chất lượng, nhưng kết quả mang lại thường có độ chính xác cao, sát v i tình hình th c tớ ự ế hơn so với các phương pháp khác Đặc bi t là nó có th d ệ ể ựđoán được cả trong trường hợp x y ra kh ng hoả ủ ảng, hay thay đổi đột biến của thị trường và xã h ội
MỤC TIÊU NGHIÊN C U Ứ
MỤC TIÊU T NG QUÁT Ổ
Xây d ng m t thu t toán tự ộ ậ ối ưu, có thể nhận bi t cách phân lo i và tế ạ ự chọn thu t toán ậphân lo phù h p nh t d a trên dại ợ ấ ự ữ liệu đầu vào và k t qu mong muế ả ốn ở đầu ra Đây sẽ là một chương trình phân loại đơn giản mà người s d ng ch c n tìm d ử ụ ỉ ầ ữ liệu đầu vào và không cần phải có kiến thức v Machine learning ề
Trang 12 Đánh giá độ chính xác gi a các thu t toán ữ ậ So sánh s thu n ti n, th m nh c a t ng thu t toán trong nhi u tự ậ ệ ế ạ ủ ừ ậ ề ập
dữ liệu có s phân bự ố điểm dữ liệu khác nhau So sánh tốc độ phân loại cũng như số lượng nhóm được phân qua các
thuật toán o So sánh trước và sau khi phân loại xem hiệu quả doanh nghiệp trong quản lý
khách hàng tốt hơn bao nhiêu phần trăm o Xây d ng thu t toán g i ý s nhóm khách hàng nên phân lo i trên t p d ự ậ ợ ố ạ ậ ữ liệu.o Tổng h p t t c các thu t toán và xây d ng mợ ấ ả ậ ự ột chương trình phân loại hoàn
chỉnh chỉ cần đưa vào dữ li u u v và yêu cệ đầ ào ầu đầu ra( yêu cầu đầu ra có thể có hoặc không tùy vào người sử dụng có xác định được mong muốn đầu ra chưa) thì có thể đưa ra kết quả
o Bảng t ng h p so sánh dổ ợ ữ liệu các thu t toán nghiên cậ ứu.o Chương trình tự phân lo i d a trên dạ ự ữ liệu đầu vào và kết qu u ra ả đầo Bảng đánh đánh hiệu quả của chương trình phân loại tự động cu i cùng ốPHƯƠNG PHÁP NGHIÊN CỨU
Phương pháp nghiên cứu Lý thuyết: o Phương pháp thu thập dữ liệu: T ng h p dổ ợ ữ liệu qua sách báo, tài li u, tệ ạp
chí, dữ liệu s dử ụng trong các trong hướng dẫn v thu t toán hề ậ ọc máy (MachineLearning cơ bản, Tôi đi code dạo, …)
o Phương pháp tổng h p nghiên c u: Xây d ng thuợ ứ ự ật toán học máy dựa trên lý thuyết tổng hợp được
Trang 13o Phương phấp thu th p dậ ữ liệu: Sử dụng ngu i dồ ữ liệu được Public c a các doanh nghiủ ệp. Sử dụng chương web crawler để cào dữ liệu từ các trang thông tin
khách hàng của doanh nghiệp Tạo dữ li u ng u nhiên và th l i thu t toán nhiệ ẫ ử ạ ậ ều lần.o Phương pháp tổng hợp dữ liệu:
S d ng các phép kiử ụ ểm định để đánh giá dữ liệu Đánh giá hiệu quả thu t toán phân lo i d a trên k t qu khi s d ng ậ ạ ự ế ả ử ụ
ở các doanh nghiệp sau một thời gian
Kiểm định t-test, z-test Kiểm định phi tham s Chisquare ố Kiểm định phi tham s Kruskal Walli ố – Sử dụng th ng kê mô t ố ả để cho thấy s khác bi t gi a các nhóm khách hàng ự ệ ữSau khi phân lo i xong thì lạ ập bảng k t qu so sánh th m nh t ng mô hình và hiế ả ế ạ ừ ệu quả từng mô hình.Cuối cũng tổng hợp và xây d ng mự ột chương trình phân loại hoàn chỉnh, tối ưu và dễ sử d ng ụ
Mô hình chương trình dự kiến:
Kiểu d liệu C ữInput
Data Condi on
Kiểu d liệu A ữ
Kiểu d liệu B ữ
Kiểu d liệu D ữ
Thuật toán phân lo i A ạ
Thuật toán phân lo i B ạ
Thuật toán phân lo i C ạ
Thuật toán phân lo i D ạ
Output Data classify
Trang 14CẤU TRÚC BÁO CÁO Phần Mở Đầ : Giới thi u uệ
I Tính c p thi t cấ ế ủa đề tài 1 Lý do khách quan 2 Lý do ch quan ủII Mục tiêu của đề tài nghiên c u ứ
1 Mục tiêu tổng quát 2 Mục tiêu c thể ụIII Thiết kế nghiên cứu
1 Đối tượng nghiên cứu.2 Khách th nghiên cể ứu.3 Phạm vi nghiên cứu.4 Thời gian nghiên cứu.5 Phương pháp nghiên cứu
a Phuơng pháp nghiên cứu lý thuy ết.i Phương pháp thu thập dữ liệu ii Phương pháp tổng hợp dữ liệu b Phương pháp nghiên cứu thực tiễn
i Phương pháp thu thập dữ liệu ii Phương pháp tổng hợp dữ liệu
Nội dung nghiên cứu:Chương I Cơ sở: lý thuyết
1 Ngôn ng l p trình Python ữ ậ2 Giới thi u cệ hương trình thu thập dữ liệu Web Crawler 3 Các phương pháp phân loại ở thời điểm hiện t i ạ4 Cơ sở lý thuyết Machine learning
5 Lý thuy t phân tích th ng kê ế ố
Chương II: Thực trạng vấn đề
1 Tổng quan các nghiên c u liên quan ứ2 Thế ạ m nh – h n chạ ế của các phương pháp cũ 3 Hướng thay đổi - phát tri n tể ừ phương pháp cũ
Trang 15Chương III: Xây dựng mơ hình nghiên c u và tứổng h p kợết qu nghiên ảcứu
I Chương trình thu thập dữ liệu 1 Xác định dữ liệu, nguồn dữ liệu 2 Chương trình Web Crawler II Các y u tế ố ảnh hưởng đến đến quyết định mua hàng c a khách hàng ủ1 Yếu tố chủ quan
2 Yếu tố khách quan III Các y u t s dế ố ử ụng để phân lo i ạIV Mơ hình phân lo i cây quyạ ết đ nhị V Mơ hình phân lo Logistic ại VI Mơ hình phân lo i Neural network ạVII Mơ hình phân lo i K-means Clutering ạVIII Mơ hình phân lo i Nạve-Bayes ạIX Tổng h p và xây dợ ựng chương trình phân loạ ối ưu.i t
Kết quả nghiên cứu, hướng phát tri n nghiên c u ểứ
I Kết quả nghiên cứu.1 Bảng đánh giá các mơ hình phân lo i ạ2 Biểu đồ điểm dữ liệu sau khi phân loại 3 Bảng đánh giá hiệu qu cả ủa chương trình phân loại cuối cùng II Hướng phát tri n nghiên c u ể ứ
Tài li u tham khệảo
Trang 16NỘI DUNG NGHIÊN C U Ứ
CHƯƠNG I: CƠ SỞ LÝ THUYẾT
1 NGÔN NGỮ L P TRÌNH PYTHON ẬPython là ngôn ng l p trình thông dữ ậ ịch, hướng đối tượng, bậc cao v i ngớ ữ nghĩa độngđược t o ra bạ ởi Guido van Rossum được phát hành lần đầu tiên vào năm 1991 Python được sử dụng b i Intel, IBM, NASA, Pixar, Netflix, Facebook, JP Morgan Chase, Spotify và mở ột sốcông ty lớn khác Đây là một trong b n ngôn ng chính t i Google, trong khi YouTube cố ữ ạ ủa Google ph n lầ ớn được viết bằng Python Tương tự với Reddit, Pinterest và Instagram
Do tính ch t thông d ch c a nó, Python có thấ ị ủ ể được cài đặt và chạy trên tất cả các nền tảng chính Không c n trình biên dầ ịch gốc để ịch các hướ d ng d n; trình thông d ch Python ẫ ịthực hi n tệ ất cả những điều đó cho bạn Nó cũng đơn giản để sử dụng và hi u ngay cể ả đối với những người không có kiến thức v k thuề ỹ ật Không c n d u ch m ph y cu i dòng, khai ầ ấ ấ ẩ ốbáo ki u dài, ho c xây dể ặ ựng ạ l i các hàm phổ biến
Đối với học máy, khoa h c dọ ữ liệu thì Python là ngôn ngữ trình được sử dụng ph ổ biến nhất Là ngôn ng l p trình d s d ng, tính tùy bi n cao cho nên vi c có r t nhiữ ậ ễ ử ụ ế ệ ấ ều thư viện hay b khung cộ ủa Python hỗ trợ cho thống kê, h c máy, tr c quan hóa dọ ự ữ liệu, Trong đó phả ểi k đến như Numpy, Pandas, Scipy, Tensorflow, Scikit-learning, Keras, Matplotlib,
2 GIỚI THI U CỆ HƯƠNG TRÌNH THU THẬP DỮ LIỆU WEB CRAWLER Web crawler là một chương trình thu thập thông tin, dữ liệ ừu t trang web, các chương trình này có nhi m v truy cệ ụ ập vào các URL mà nó tham gia m i m(1) ớ ục đích truy cập vào mọi ngóc ngách của trang web để nhận biết các thông tin có trên trang web và thu thập những thông tin c n thiầ ết trên đó về máy chủ Để thu th p dậ ữ liệu b ng Web Crawler, các ằlập trình viên cần xác định các thu c tính và các dộ ữ liệu mong mu n l y t các trang web ố ấ ừtrước đó, sau đó phân tích phần HTML(2) và viết chương trình truy cập đến html c u nên các ấnội dụng trên web để thu thập về máy chủ
Python hỗ trợ các chương trình web crawler với thư viện Selenium khá t t khi ta ch cố ỉ ần giả ậ l p các trình duyệt để truy c p vào URL và lậ ấy các thông tin đó qua mã nguồn được viết bằng HTML c a trang web ủ
Trang 17Hình 1: Phân tích html c u t o nên n i dung trên trang webấ ạ ộ
3 CÁC PHƯƠNG PHÁP PHÂN LOẠI Ở THỜI ĐIỂM HIỆN TẠI
Phân lo i d a trên các nguyên t c, ki n th c kinh t : H u h t các doanh nghiạ ự ắ ế ứ ế ầ ế ệp ở thời điểm hi n tại chưa thật sự chú trọng trong vi c phân lo i khách hàng các doanh nghiệ ệ ạ Ở ệp doanh nghi p còn lệ ại thì ti n hành phân lo theo các nguyên t c t ế ại ắ ừ kiến thức kinh tế như: phân lo i theo gi i tính, phân loạ ớ ại theo độ tuổi, doanh s mua hàng, Hình th c phân loố … ứ ại này khá đơn giản và cho th y s khác biấ ự ệt cơ bản rõ giữa các nhóm khách hàng Đa số các doanh nghiệp đều sử dụng các trang tính v i các thông s dớ ố ữ liệu về khác hàng để tiến hành phân lo ại
Tuy nhiên phương pháp phân loại này khiếp doanh nghiệp vẫn chưa thể tùy bi n và áp ếdụng hi u quệ ả thậ ựt s cho từng chiến lược, hoạt động chăm sóc khách hàng cụ thể Ngoài ra, phương pháp này còn gặp khó khăn trong việc phân loại khách hàng theo tính chất đ nh ịtính như về tâm lý mua hàng hay tính cách khiến nhân viên khó khăn trong việc phân loại
4 CƠ SỞ LÝ THUYẾT MACHINE LEARNING Học máy (Machine Learning) là một lĩnh vực c a trí tuủ ệ nhân tạo liên quan đến việc nghiên c u và xây dứ ựng các kĩ thuật cho phép các hệ thống "h c" tọ ự động t dừ ữ liệu để giải quyết nh ng vữ ấn đề cụ thể Học máy r t g n v i suy di n th ng kê (statistical inference) tuy ấ ầ ớ ễ ốcó khác nhau v thu t ngề ậ ữ Học máy có liên quan lớn đến th ng kê, vì cố ả hai lĩnh vực đều nghiên c u vi c phân tích dứ ệ ữ liệu, nhưng khác với thống kê, học máy tập trung vào sự phức tạp của các gi i thu t trong vi c th c thi tính toán Nhi u bài toán suy luả ậ ệ ự ề ận được xếp vào