Những thuật toán phân lớp được sử dụng như: cây quyết định, hàm số toán học, tập luật…sau khi qua bước này, kết quả đạt được là mô hình phân lớp đã được huấn luyện trình phân lớp. Bước
Trang 1
ĐẠI HỌC UEH
TRƯỜNG KINH DOANH KHOA KINH DOANH QUỐC TẾ - MARKETING
ĐỀ ÁN CUỐI HỌC PHẦN
ĐỀ TÀI
PHÂN TÍCH BỘ DỮ LIỆU KHÁCH HÀNG MUA HÀNG CỦA ĐẠI LÝ TRONG THÁNG 8 BẰNG PHẦN MỀM ORANGE
Môm Học : Khoa học dữ liệu
Giảng viên : TS Đặng Ngọc Hoàng Thành
Thành viên : Nguyễn Đình Thành MSSV: 31211034574
Chuyên ngành: Kế toán công
Phạm Tường Hy MSSV: 31211027215
Chuyên ngành: Hệ thống hoạch định nguồn lực doanh nghiệp Khóa : K47
Mã học phần: 22C1INF50905946
Trang 2Mục Lục
CHƯƠNG 1:TỔNG QUAN 1
1.1: TỔNG QUAN VỀ BÀI TOÁN PHÂN LỚP DỮ LIỆU: 1
1.1.1: Định nghĩa: 1
1.1.2: Quá trình phân lớp dữ liệu được chia làm 2 bước chính: 1
1.1.3: Bài toán phân lớp được phân thành: 1
1.1.4: Một số phương pháp phân lớp: 1
1.1.5: Một số ứng dụng của bài toán phân lớp trong kinh tế: 1
1.2: GIỚI THIỆU VỀ PHẦN MỀM ORANGE: 1
1.3: LÝ DO CHỌN ĐỀ TÀI: 2
CHƯƠNG 2: PHÂN LỚP DỮ LIỆU 2
2.1: KHÁI NIỆM 2
2.2: CÁC MÔ HÌNH PHÂN LỚP DỮ LIỆU: 2
2.2.1: Mô Hình Logistic Regression 2
2.2.2: Mô Hình Decision Tree 3
2.2.3: Mô Hình Support Vector Machine 4
2.2.4: Mô Hình Neural Network 4
2.3: QUY TRÌNH PHÂN LỚP DỮ LIỆU: 5
2.3.1: Phân chia dữ liệu 5
2.3.2: Phân lớp dữ liệu 5
2.4: ĐÁNH GIÁ TÍNH HIỆU QUẢ 6
2.4.1: Dựa vào các chỉ số đánh giá lựa chọn mô hình phù hợp. 6
2.4.2: Sử dụng ma trận nhầm lẫn để đánh giá trường hợp xảy ra sự nhầm lẫn. 8
CHƯƠNG 3: CÁC KẾT QUẢ THỰC NGHIỆM 10
3.1: BỘ DỮ LIỆU: 10
3.2: CÁC KẾT QUẢ THỰC NGHIỆM: 11
3.3: PHÂN TÍCH VÀ ĐÁNH GIÁ 11
CHƯƠNG 4: KẾT LUẬN 12
4.1 CÁC KẾT QUẢ ĐẠT ĐƯỢC 12
4.2: NHỮNG HẠN CHẾ VÀ HƯỚNG PHÁT TRIỂN: 12
Kết Thúc 12
TÀI LIỆU THAM KHẢO 13
Trang 3CHƯƠNG 1:TỔNG QUAN
1.1: TỔNG QUAN VỀ BÀI TOÁN PHÂN LỚP DỮ LIỆU:
1.1.1: Định nghĩa:
Là quá trình phân một đối tượng dữ liệu vào một hay nhiều lớp (loại) đã cho trước nhờ một mô hình phân lớp Mô hình này được xây dựng dựa trên một tập dữ liệu đã được gán nhãn trước đó (thuộc về lớp nào) Quá trình gán nhãn (thuộc lớp nào) cho đối tượng
dữ liệu được chính là quá trình phân lớp dữ liệu
1.1.2: Quá trình phân lớp dữ liệu được chia làm 2 bước chính:
Bước 1: xây dựng mô hình phân lớp: dữ liệu đầu vào là dữ liệu mẫu đã được gán nhãn và tiền xử lý Những thuật toán phân lớp được sử dụng như: cây quyết định, hàm số toán học, tập luật…sau khi qua bước này, kết quả đạt được là mô hình phân lớp đã được huấn luyện (trình phân lớp)
Bước 2: sử dụng mô hình chia thành 2 bước nhỏ:
+) Đánh giá mô hình: dữ liệu đầu vào ở đây là một tập dữ liệu mẫu khác đã được gán nhãn và tiền xử lý, tuy nhiên, lúc đưa vào mô hình phân lớp, ta “lờ” đi thuộc tính đã được gán nhãn Tính đúng đắn của mô hình sẽ được xác định bằng cách so sánh thuộc tính gán nhãn của dữ liệu đầu vào và kết quả phân lớp của mô hình +) Phân lớp dữ liệu mới: dữ liệu đầu vào là dữ liệu “khuyết” thuộc tính cần dự đoán lớp(nhãn) Mô hình sẽ tự động phân lớp (gán nhãn) cho các đối tượng dữ liệu này dựa vào những gì được huấn luyện ở bước 1
1.1.3: Bài toán phân lớp được phân thành:
Phân lớp nhị phân, phân lớp đa lớp, phân lớp đơn nhãn, phân lớp đa nhãn
1.1.4: Một số phương pháp phân lớp:
Logistic Regression
Cây Quyết Định,
SVM
Neural Network
1.1.5: Một số ứng dụng của bài toán phân lớp trong kinh tế:
Tài chính ngân hàng (dự báo chứng khoán, xếp hạng tín dụng cá nhân và tổ chức, đánh giá rủi ro tài chính), Sales and Marketing (dự báo doanh thu, dự báo khách hàng trung thành, Kinh tế học (dự báo khủng hoảng kinh tế, dự báo cung cầu)
1.2: GIỚI THIỆU VỀ PHẦN MỀM ORANGE:
Orange là một thư viện quy trình và cốt lõi của C++ kết hợp rất nhiều thuật toán Data mining và học máy tiêu chuẩn và không tiêu chuẩn Nó là một công cụ trực quan hóa dữ liệu, Data Mining và máy học nguồn mở Orange là một môi trường có thể viết kịch bản
Trang 4để tạo mẫu nhanh các thuật toán và mẫu thử nghiệm mới nhất.Orange là một tập hợp các Widget đồ họa, các widget Orange cung cấp cho chúng ta giao diện người dùng đồ họa đối với các kĩ thuật Data Mining và máy học của Orange, chúng kết hợp các widget
để nhập và tiền xử lý dữ liệu, phân loại, hồi quy, quy tắc kết hợp và phân cụm một tập hợp các widget để đánh giá mô hình trực quan hóa kết quả đánh giá Orange chủ yếu được sử dụng trong tin sinh học, y sinh, giảng dạy, cung cấp phương pháp giảng dạy tốt hơn về Data Mining…
1.3: LÝ DO CHỌN ĐỀ TÀI:
Trong những năm gần đây, nền khoa học công nghệ trên thế giới phát triển một cách đột phát, nhiều công trình nghiên cứu, sản phẩm công nghệ và vô số các công cụ thông minh đã được sản xuất, hoàn thành để phục vụ cho con người chúng ta trong nhiều lĩnh vực khác nhau Bên cạnh đó không thể không nhắc đến các kĩ thuật trong “khai phá dữ liệu” và “máy học” có thể dùng để giúp chúng ta trích xuất các thông tin hữu ích từ các
dữ liệu lưu trữ, giúp con người trong các bài toán tư vấn quyết định Nền khoa học công nghệ thế giới đã và đang rất phát triển, đi kèm với đó là nhu cầu về mua bán, giao thương, những doanh nghiệp, những đại lý bán hàng không thể thiếu nhu cầu về những
dự đoán, những phân tích cụ thể để đưa ra những quyết định cụ thể, chính xác nhất để phục vụ khách hàng, đưa ra chiến lược kinh doanh phù hợp với nhu cầu Vì thế, trong
đồ án này, chúng em lựa chọn chủ đề: phân tích bộ dữ liệu được thu thập từ dữ liệu
bán hàng của đại lý bán sĩ bia nước ngọt Nghĩa Hạnh, dùng các mô hình hỗ trợ việc
phân tích dự báo, sau đó dự báo về loại khách hàng để biết được số lượng các khách hàng thường, mới, vip, để từ đó rút ra được phương pháp hỗ trợ tối ưu trong việc phân tích sau đó đưa ra các chiến lược mà đại lý cần để có thể giúp kinh doanh hiệu quả hơn…trong đồ án này, chúng em sẽ làm rõ các vấn đề trên
CHƯƠNG 2: PHÂN LỚP DỮ LIỆU
2.1: KHÁI NIỆM
Là quá trình phân một đối tượng dữ liệu vào một hay nhiều lớp (loại) đã cho trước
nhờ một mô hình phân lớp Mô hình này được xây dựng dựa trên một tập dữ liệu đã được gán nhãn trước đó ( thuộc về lớp nào ) Quá trình gán nhãn( thuộc lớp nào) cho đối tượng dữ liệu chính là quá trình phân lớp dữ liệu
2.2: CÁC MÔ HÌNH PHÂN LỚP DỮ LIỆU:
2.2.1: Mô Hình Logistic Regression
Định nghĩa: Là một mô hình xác suất dự đoán giá trị đầu
ra rời rạc từ một tập các giá trị đầu vào ( biểu diễn dưới dạng vector)
Trang 5- Mô tả: đối với bài toán phân lớp: tập nhãn y = (y , y1 2,…yn) với n là số lớp
Một đối tượng dữ liệu x = (x1,x ,…x2 n) với d là số thuộc tính của mỗi dòng dữ liệu và được biểu diễn dưới dạng vector
Hàm logistic :
Dự đoán đối tượng xem đối tượng x sở hữu các thuộc tính cụ thể sẽ thuộc vào lớp y nào
Ưu điểm: hồi quy logistic là một trong những kĩ thuật hiệu quả nhất để giải các bài toán phân loại, Logistic Regression dễ thực hiện, dễ hiểu và rất hiệu quả để đào tạo, nhanh chóng trong việc phân loại các bản ghi không xác định, hoạt động tốt khi tập dữ liệu có thể phân tích tuyến tính,…
Khuyết điểm: nó xây dựng các ranh giới tuyến tính, hồi quy Logistic cần rằng biến độc lập có liên quan tuyến tính với tỷ lệ cược, hạn chế chính của hồi quy Logistic là giả định về độ tuyến tính giữa biến phụ thuộc và biến độc lập
2.2.2: Mô Hình Decision Tree
Định nghĩa:
Trong lý thuyết quản trị, cây quyết định là đồ thị các quyết định cùng các kết quả khả dĩ đi kèm nhằm hỗ trợ quá trình ra quyết định Trong lĩnh vực khai phá dữ liệu, cây quyết định
là phương pháp nhằm mô tả, phân loại và tổng quát hóa tập dữ liệu cho trước
- Ví dụ: một người tên A muốn mở cửa hàng bán lẻ, tỉ lệ thành công phụ thuộc vào chi tiêu của A, hay nói cách khác là sự phát triển hoặc suy thoái của nền kinh tế, cây quyết định như sau:
Trang 6 Ưu điểm của Cây quyết định: dễ hiểu, không đòi hỏi chuẩn hóa dữ liệu, có thể xử
lý nhiều kiểu dữ liệu khác nhau, có thể xử lý tốt lượng lớn dữ liệu trong thời gian ngắn
Khuyết điểm: khó giải quyết trong tình huống dữ liệu phụ thuộc thời gian, chi phí xây dựng mô hình cao
2.2.3: Mô Hình Support Vector Machine
Định nghĩa : Là một thuật toán có giám sát, SVM nhận dữ liệu vào, xem chúng như những vector trong không gian và phân loại chúng vào các lớp khác nhau bằng cách xây dựng một siêu phẳng trong không gian nhiều chiều làm mặt phân cách các lớp dữ liệu
Các biến thể của SVM:
Loại SVM
Hard Margin SVM Hai lớp cần phân lớp là có thể phân chia
tuyến tính ( linearly seperable) Soft Margin SVM Hai lớp cần phân lớp là “gần” phân chia
tuyến tính (almost linear seperable) Multi-class SVM Phân lớp đa lớp ( biên giữa các lớp là
tuyến tính
- Ưu điểm: tiết kiệm bộ nhớ, linh hoạt ( vừa có thể phân lớp tuyến tính và phi tuyến, xử
lý được trong không gian nhiều chiều,…
- Khuyết điểm: trong trường hợp số chiều dữ liệu lớn hơn số dòng dữ liệu thì SVM cho kết quả không tốt, SVM chưa thể hiện được tính xác suất trong phân lớp
2.2.4: Mô Hình Neural Network
Định nghĩa: Là chuỗi thuật toán được đưa ra để hỗ trợ tìm kiếm các mối quan hệ cơ bản trong tập hợp các dữ liệu, thông qua việc bắt chước cách thức hoạt động từ bộ não con người, được sử dụng trong: giao dịch thuật toán, dự báo chứng khoán,
- Neural Network có sự tương đồng chuẩn mạnh với những phương pháp thống kê như
đồ thị đường cong và phân tích hồi qui
- là sự kết hợp của những tầng Perceptron hay còn gọi là perceptron đa tầng, mỗi một mạng Neural Network thường gồm 3 kiểu tầng là: input layer, output layer, hidden layer
Trang 72.3: QUY TRÌNH PHÂN LỚP DỮ LIỆU:
2.3.1: Phân chia dữ liệu
Dữ liệu sau khi được mở bởi file được nối với data table để có thể xem dữ liệu Sau
đó dữ liệu được chia nhỏ thành hai phần thông qua công cụ data sampler chia theo tỷ lệ 70%
Dữ liệu (70%) sau khi phân chia được đưa đến data table ( phân tích), dữ liệu (30%)
sau khi phân chia được đưa đến data table ( dự đoán)
Dữ liệu dự đoán liên kết với Select Columns xóa cột xếp loại khách hàng, sau đó đưa ra data table (dự đoán 1)
2.3.2: Phân lớp dữ liệu
Dữ liệu sau khi được phân chia và sẵn sàng phân lớp sẽ được liên kết với Test and
Score
- Test and Score : sử dụng phương pháp K-fold cross validation với K=5.
Sau khi liên kết dữ liệu với Test and Score, sử dụng các mô hình để phân tích và xữ lý
dữ liệu
Logistic Regression:
+ regularization type : Laso(L1)
+ strength: C= 0.700
Support Vector Machine:
+ SVM type
(SVM) cost(C) : 1.50
Regression loss epsilon : 0.10
+ Kernel: polynomial
g: auto
c: 1.05
Trang 8d: 3.0
+ Optimization parameters
Numerical tolerance: 0.0026
Iteration limit: 100
- Neural Network:
+ Neurons in hidden layers: 100
+ Activation : tanh
+ Solver: SGD
+ Regularization: a= 0.0008
+ Maximal number of iterations: 20
+ replicable training
Tree
+ Induce binary tree
+ Min number of instances in leaves: 32
+ Do not split subset smaller than 8
+ Limit the maximal tree depth to 100
+ Stop when majority reaches : 100%
Có mô hình liên kết Orange như sau :
2.4: ĐÁNH GIÁ TÍNH HIỆU QUẢ
2.4.1: Dựa vào các chỉ số đánh giá lựa chọn mô hình phù hợp
Kết quả với tập dữ liệu khách hàng :
Với Test and score: Sử dụng phương pháp K-fold cross validation với k=5 ta có:
Trang 9Dựa trên chỉ số AUC (tính chính xác), Recall (độ phủ) và Precision (độ chính xác)
và giá trị trung bình điều hòa (harmonic mean) của số đo Precision và Recall F1 ta
có thể thấy mô hình Neural Network có số liệu đo được là tốt nhất trong các mô hình
Đường Cong ROC:
Đường cong này được tạo ra bằng cách biểu diễn tỷ lệ dự báo true positive rate (TPR) dựa trên tỷ lệ dự báo false positive rate (FPR) tại các ngưỡng khác nhau
Trang 10Qua quan sát đường ROC có thể thấy được đường của Neural Network và SVM nó trùng nhau Cả bốn mô hình đều có tỷ lệ false positive rate (FPR) bằng nhau, nhưng tỷ lệ báo true positive rate (TPR) thì mô hình Neural Network là cao nhất với 0.679
Thông qua việc đánh giá các chỉ số kiểm định ta thấy Mô hình Neural Network có chỉ số kiểm định tốt nhất nên đây sẽ là lựa chọn phù hợp nhất
2.4.2: Sử dụng ma trận nhầm lẫn để đánh giá trường hợp xảy ra sự nhầm lẫn.
Giả sử khi sử dụng mô hình để phân loại khách hàng vào các lớp khách hàng thì ta thấy được vẫn có thể xảy ra sự nhầm lẫn khi phân loại , điều này sẽ một phần nào đó tác động vào khả năng đánh giá khách hàng và đưa ra các mức chiết khấu thích hợp cho khách hàng
Do đó, nhóm trình bày thêm về ma trận nhầm lẫn với mục đích xem xét sự nhầm lẫn xảy
ra ở lớp khách hàng nào với lớp khách hàng nào
Mô hình Logistic regression
Có thể thấy tỷ lệ nhầm lẫn so với thực tế ở khách hàng mới với khách hàng thường là khoảng 9.1%
Ở khách hàng thường với khách hàng mới là khoảng 20%, khách hàng thường với khách hàng vip là khoảng 4.3%
Trang 11 Support Vector Machine
Có thể thấy tỷ lệ nhầm lẫn so với thực tế ở khách hàng mới với khách hàng thường là khoảng 7.7%
Mô hình cây quyết định Tree
Có thể thấy tỷ lệ nhầm lẫn so với thực tế ở khách hàng mới với khách hàng vip
là khoảng 12.8%
Ở khách hàng thường với khách hàng Vip 30.8%
Trang 12 Mô hình Neural Network
Ở mô hình này thì không phát hiện nhầm lẫn cho thấy tối ưu và chính xác nhất trong quá trình phân lớp
=> Thông qua việc đánh giá các chỉ số kiểm định, cũng như việc ý nghĩa rủi ro
thực tiễn trong việc đánh giá thông qua ma trận nhầm lẫn: Ta thấy được việc sử dụng phương pháp Mô hình Neural Network cho thấy được là mô hình có chỉ số kiểm định tốt nhất và độ nhầm lẫn của dự báo so với thực tế của phương pháp này cũng thấp nhất
CHƯƠNG 3: CÁC KẾT QUẢ THỰC NGHIỆM 3.1: BỘ DỮ LIỆU:
Dữ liệu được thu thập từ dữ liệu bán hàng của đại lý bán sỹ bia nước ngọt Nghĩa
Hạnh
Dữ liệu mô tả khách hàng nhập các loại nước ngọt từ đại lý trong tháng 8 Gồm
có 55 đối tượng khách hàng và có 8 thuộc tính:
+ STT
+ Họ và tên
+ Giới tính
+ Tuổi
+ Mặt hàng mua
+ Số lượng
+ Đơn giá
+ Tổng tiền
+ Chiết khấu
+ Loại khách hàng
Dữ liệu được chia thành hai phần :
Trang 13- Phần 1: 39 đối tượng khách hàng dùng để phân tích và đánh giá tính hiệu quả của các mô hình đối với bộ dữ liệu khách hàng đại lý
- Phần 2: 16 đối tượng khách hàng dùng để xử lý và đưa ra dự đoán, phân lớp
16 khách hàng đó thuộc loại khách hàng nào ( mới, thường, vip)
3.2: CÁC KẾT QUẢ THỰC NGHIỆM:
Sau khi đánh giá tính hiệu quả của các mô hình thì có được Mô hình Neural
Network là hiệu quả, chính xác nhất
Qua quá trình xử lý bởi Mô hình Neural Network có được kết quả như sau :
Dự báo 16 khách hàng:
- 3 khách hàng mới
- 7 khách hàng thường
- 6 khách hàng vip
3.3: PHÂN TÍCH VÀ ĐÁNH GIÁ
Với mô hình Neural Network, chúng ta có thể thấy khi sử dụng mô hình Neural Network để dự báo thì kết quả thu được là tối ưu so với các phương pháp còn lại Ở
mô hình Logistic Regression nhầm lẫn quá nhiều, con số nhầm lẫn lớn, là mô hình
dự báo có tính chính xác thấp nhất Tiếp theo, mô hình Decision Tree, số trường
hợp nhầm lẫn tuy thấp nhưng tỉ lệ nhầm lẫn lại cao hơn cả mô hình Logistic
Regression Mô hình Support Vector Machine trường hợp nhầm lẫn ít và tỉ lệ nhầm
lẫn cũng khá thấp nhưng chung quy vẫn có sự nhầm lẫn Mô hình Neural Network là
mô hình dự báo tốt nhất vì tỉ lệ nhầm lẫn và tính chính xác là thấp nhất trong quá trình phân lớp dự báo Mô hình có thể hỗ trợ người dùng dự báo một cách chính xác, nhằm tối ưu được kết quả để đưa ra kết luận phù hợp