Khai phá và phân tích dữ liệu clickstream để mua sắm trực tuyến sử dụng công cụ weka để chuẩn hóa, loại bỏ nhiễu, đánh giá phân tích dữ liệu với các bộ phân lớp j48, bộ phân lớp cây quyết định, rừng ngẫu nhiên, k láng giềng gần nhất, svm.. và các bộ phân cụm knn.
Trang 1HỌC VIỆN NÔNG NGHIỆP VIỆT NAM
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO TIẾN ĐỘ KHAI PHÁ DỮ LIỆU
ĐỀ TÀI: " Khai phá và phân tích dữ liệu clickstream để
mua sắm trực tuyến "
Giảng viên hướng dẫn : Cô Nguyễn Thị Thủy
Bộ môn quản lý : Khoa học máy tính
Họ và Tên sinh viên : Lê Văn Quân – K63TH – 637856
: Lê Cao Tân – K63TH – 63776
HÀ NỘI – 2021
Trang 21 Phụ lục
PHẦN I: MỞ ĐẦU
1.1 Đặt vấn đề
1.2 Mục đích và yêu cầu
PHẦN II: VỀ KHAI PHÁ DỮ LIỆU VÀ ĐỀ TÀI
2.1 Khai phá dữ liệu và tầm quan trọng của nó
2.2 Đề tài nghiên cứu
PHẦN III: NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU
3.1 Nguồn dữ liệu nghiên cứu
3.2 Nội dung nghiên cứu
3.3 Phương pháp nghiên cứu
PHẦN IV: KẾT QUẢ VÀ THẢO LUẬN
4.1 Mô tả bài toán
4.2 Mô tả dữ liệu………
4.3 Mô tả thuật toán sẽ sử dụng………
4.4 Dữ liệu và tiên sử lí dữ liệu……….
4.5 Phân lớp ……….
4.6 Phân cụm ………
4.7 Kết quả, đánh giá sau khi phân tích ………
2
Trang 3I MỞ ĐẦU
I.1 Đặt vấn đề
- Hiện nay, Thương mại điện tử phát triển nhanh theo xu thế toàn cầu hoá
Việc giao dịch thông qua các Website Thương mại điện tử tạo ra lượng dữ liệu vô cùng lớn Dữ liệu này chính là thông tin về khách hàng cũng như các sản phẩm giao dịch Nếu có thể khai thác được nguồn dữ liệu này thì chúng
ta sẽ có một hệ thống thông tin rất giá trị phục vụ cho phát triển Thương mạiđiện tử Tuy nhiên công việc này vẫn còn là một thách thức
- Trong nỗ lực thúc đẩy giao dịch thông qua mạng máy tính, xây dựng hệ
thống khuyến cáo sản phẩm cho khách hàng là công việc không thể thiếu được
- Vì Vậy nhóm em chọn đề tài Khai phá và phân tích dữ liệu clickstream để
mua sắm trực tuyến
I.2 Mục đích và yêu cầu
I.2.1 Mục đích
- Hiện nay, với sự phát triển vượt bật của công nghệ thông tin, các hệ thống
thông tin có thể lưu trữ một khối lượng dữ liệu lớn Trong kho dữ liệu lớn đókhông phải thông tin nào cũng có ích Vì vậy để khai thác được những tri thức có ích đó các phương pháp Khai phá dữ liệu ra đời Chúng cho phép chúng ta trích xuất những thông tin hữu ích mà chúng ta chưa biết Các tri thức vừa tìm thấy có thể vận dụng để cải thiện hiệu quả hoạt động của hệ thống thông tin ban đầu
- Khai phá dữ liệu trong Thương mại điện tử nhằm phát hiện ra các tri thức
mới, tri thức có ích trong giao dịch Thương mại điện tử Tri thức này có thể
là thông tin về các bên giao dịch, thông tin về các sản phẩm giao dịch hay xuthế mua hàng trong các phiên giao dịch giữa hai bên, Thương mại điện tửđang phát triển mạnh mẽ theo xu thế toàn cầu hoá, do vậy phát hiện tri thức mới có rất nhiều ý nghĩa và được ứng dụng chủ yếu trên khía cạnh giao dịch
Trang 4thơng qua mạng máy tính Khai phá dữ liệu trong Thương mại điện tử thực hiện trên cơ sở dữ liệu giao dịch giữa khách hàng và nhà cung cấp sản phẩm.I.2.2 Yêu cầu
- Đọc, mơ tả , phân tích , import được dữ liệu vào trong weka
- Đánh giá dữ liệu và tiền xử lí dữ liệu
- Mơ tả bài tốn
- Hiểu và thực hành các kĩ thuật ,thuật tốn phân lớp
+ Phân lớp với cây quyết định (decision tree)
+ Phân lớp với Nạve Bayesian
+ Phân lớp với k phần tử gần nhất (k-nearest neighbor)
+ Phân lớp với máy vector hỗ trợ (SVM)
+ Phân lớp với mạng neural (neural network)
+ Phân lớp dựa trên tiến hố gen (genetic algorithms)
+ Phân lớp với lý thuyết tập thơ, tập mờ (rough sets)
+ Phân lớp với lý thuyết tập mờ (fuzzy sets)…
- Hiểu về khai phá luật kết hợp
- Hiểu và thực hành các kĩ thuật, thuật tốn phân cụm
Trang 5II khai phá dữ liệu và đề tài
II.1 khai phá dữ liệu và tầm quan trọng của nó
- Trong thời đại kỹ thuật số, lợi thế chiến lược lớn nhất đến từ việc phân loại, sắp xếp và phân tích và khai thác dữ liệu từ mọi góc độ có thể Tuy nhiên,
không giống như tất cả các hoạt động liên quan đến dữ liệu, giá trị của các hoạt động khai thác dữ liệu được gắn trực tiếp với chất lượng và phạm vi dữ liệu có sẵn để khai thác Và để làm việc từ dữ liệu gần đây nhất, sạch nhất vàđược định dạng đúng, doanh nghiệp cần có cách để tổng hợp dữ liệu hiệu quả và an toàn từ các nguồn và cấu trúc khác nhau vào một vị trí để có thể khai thác và tối ưu dữ liệu tốt nhất
- Việc xử lý khai thác các dữ liệu khổng lồ được phát huy tác dụng trong
những ngành:
- Tài chính: Phân tích dữ liệu sâu để tạo các mô hình rủi ro chính xác cho việc
cho vay, sáp nhập / mua lại và khám phá các hoạt động gian lận
Hoạt động CNTT: Khai thác dữ liệu hỗ trợ thu thập, xử lý và phân tích khối
lượng dữ liệu ứng dụng, mạng và cơ sở hạ tầng để khám phá những hiểu biết
về bảo mật hệ thống CNTT và hiệu suất mạng
Tiếp thị: Bề mặt trước đó ẩn các xu hướng hành vi của người mua và dự
đoán các hành vi khách hàng trong tương lai để xác định người mua chính xác hơn Từ đó tạo ra nhiều chiến dịch nhắm mục tiêu hơn để tăng sự tham gia và quảng bá sản phẩm hoặc dịch vụ mới
- Nhân sự: Khai phá dữ liệu từ hồ sơ của ứng viên, từ đó cung cấp cái nhìn
toàn diện về ứng viên Xác định kết quả phù hợp nhất cho từng vai trò bằng cách sử dụng phân tích dữ liệu để đánh giá trình độ, kinh nghiệm, kỹ năng, chứng chỉ và vị trí công việc đã đảm nhiệm trước đây
Trang 6- Khai thác dữ liệu là một điều bắt buộc để duy trì tính cạnh tranh và đạt được
lợi thế chiến lược trong kỷ nguyên số của kinh doanh
II.2 Khai phá dữ liệu là gì
- Khai thác mô hình hay kiến thức thú vị (không tầm thường, tiềm ẩn, chưa
từng được biết và có khả năng hữu ích) từ số lượngrất lớn của dữ liệu Khai thác dữ liệu: một cái tên nhầm lẫn?
- Tên thay thếkhai phá tri thức trong cơ sở dữ liệu (KDD), khai thác kiến
thức, phân tích dữ liệu / mẫu, khai thác thông tin, kinh doanh thông minh, vvII.3 Đề tài nghiên cứu
- Khai phá và phân tích dữ liệu clickstream để mua sắm trực tuyến
- Nhóm em sử dụng dữ liệu từ UCI để phân tích các dữ liệu có sẵn
- Với 6004 mẫu dữ liệu
- Link địa chỉ lấy dữ liệu
- https://archive.ics.uci.edu/ml/datasets/
clickstream+data+for+online+shopping#
III NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU
III.1 Nguồn dữ liệu nghiên cứu
- Sylwester Białowąs, Poznan University of Economics and Business,
Poland, sylwester.bialowas '@' ue.poznan.pl
III.2 Nội dung nghiên cứu
- Sử dụng bộ dữ liệu trên được thu thập từ tháng 4 đến thắng 8 năm 2008 trên
47 quốc gia và trang web với 6004 mẫu dữ liệu
- Sử dụng các giải thuật phân lớp như:
- Naive Bayes classifier.
- SMO
Trang 7- So sánh các phương pháp phân lớp phân cụm thay đổi thông số và chọn ra
các giải thuật tốt nhất cho bộ dữ liệu
-III.3 Phương pháp nghiên cứu
- Sử dụng phần mềm weka để phân tích dữ liệu
- Điều chỉnh thay đổi và lọc dư liệu thừa dữ liệu
- Tiền xử lí làm sạch dữ liệu
- Khai thác dữ liệu
- Sử dụng các thuật toán có sẵn trong weka để phân lớp , phân cụm dữ liệu
- Sau đó chỉnh suear thông số và chọn ra giải thuật có bộ phân lớp và bộ phân
cụm tốt nhất
4) KẾT QUẢ VÀ THẢO LUẬN
4.1 MÔ TẢ BÀI TOÁN
- Bài toán khai phá dữ liệu mua quần áo thông qua bán hàng trực tuyến từ 42 quốc gia và 5 địa chỉ web dựa trên các yếu tố về sản phẩm , màu sắc, giá sản phẩm, theo đo la và theo địa phương, vị trí đặt sản phẩm để đánh giá xem yếu
tố nào ảnh hưởng đến quyết định mua hàng sản phẩm online của khách hàng nhất
4.2 MÔ TẢ DỮ LIỆU
- Tên dữ liệu: e-shop clothing 2008
- các giá trị thống kê variable 14 giá trị
1 Năm
2 Tháng
Trang 83 Ngày
4 Đặt hàng (order) chuỗi nhấp chuột trong 1 phiên
5 Quốc gia 42 quốc gia và 5 iền địa chỉ
Trang 11- Phân lớp với cây quyết định (decision tree)
+ Tốc độ học tương đối nhanh so với các phương pháp khác
+Cĩ thể chuyển thành luật một cách dễ dàngSự chính xác cũng khá tốt
+Địi hỏi tiền xử lý đơn giản
+Node cha: phép kiểm thử (test) trên một thuộc tính
Node lá: nhãn
mơ tả của một lớp (class label)
Nhánh từ một node cha: kết quả của một phép thử trên thuộc tính tương ứng
- Phân lớp với Nạve Bayesian
+ X: một tuple
+đối tượng (evidence)
+H: giả thuyết (hypothesP(X|H): posterior probability
Xác suất của biến cố X với điều kiện biến cố H đã xảy ra.is)
+ P(H|X): posterior probabilityXác suất của biến cố H với điều kiện biến cố X
đã xảy ra
- Phân lớp với k phần tử gần nhất (k-nearest neighbor)
+ Thuật tốn sẽ quyết định gán nhãn lớp cho phần tử mới ứng với lớp của phần đơng trong số các kphần tử lân cận với nĩ
+Chọn k phần tử của tập mẫu huấn luyện gần phần tử mới X
+Xác định nhãn của số đơng của k phần tử này: C
+Gán nhãn C là nhãn của lớp phần tử mới
- Phân lớp với máy vector hỗ trợ (SVM)
4.3.2 CLUSTER
- KMEAN:
Trang 12+ Phân cụm/nhóm (Clustering) là phương pháp học không có giám sát được sử dụng phổ biến nhất
+ Tồn tại các phương pháp học không có giám sát khác, ví dụ: Lọc cộng tác (Collaborative filtering), Khai phá luậtkếthợp(Association rule mining)
+Tương tự với nhau (theo một ý nghĩa, đánh giá nào đó )
+Khác biệt với các ví dụ thuộc các cụm khác
4.4 DỮ LIỆU VÀ TIỀN XỬ LÍ DỮ LIỆU
- 66% train còn lại để test
- thời gian xây dựng mô hình (model) 0.04s
Trang 13- thời gian cần đề kiểm tra mô hình trên tập test đã chia: 0.67s
- Hệ số tương quan 0,9921
- Sai số tuyệt đối trung bình 0,0069
- Lỗi bình phương gốc trung bình 0,1171
- Sai số tuyệt đối tương đối 0,8981%
-Lỗi bình phương tương đối gốc 12,5861%
- Sai số tuyệt đối trung bình 7.4343
- Lỗi bình phương trung bình gốc 11.1952
- Sai số tuyệt đối tương đối 117,478%
- Lỗi bình phương tương đối gốc 130,1873%
- Tổng số phiên bản 2041
Cho màu sắc
- Hệ số tương quan 0,9924
- Sai số tuyệt đối trung bình 0,0333
- Lỗi bình phương trung bình gốc 0,5172
- Sai số tuyệt đối tương đối 0,9095%
- Lỗi bình phương tương đối gốc 12,3084%
- Tổng số phiên bản 2041
Cho location
- Hệ số tương quan 0,9977
- Sai số tuyệt đối trung bình 0,0073
- Lỗi bình phương gốc trung bình 0,115
- Sai số tuyệt đối tương đối 0,4863%
- Lỗi bình phương tương đối gốc 6,7424%
- Tổng số phiên bản 2041
Trang 14cho session id
- Hệ số tương quan 0,767
- Sai số tuyệt đối trung bình 131.477
- Lỗi bình phương trung bình gốc 168.3357
- Sai số tuyệt đối tương đối 61,0228%
- Lỗi bình phương tương đối gốc 67,588%
- Tổng số phiên bản 2041
Cho numpage
- Hệ số tương quan 0,9921
- Sai số tuyệt đối trung bình 0,0069
- Lỗi bình phương gốc trung bình 0,1171
- Sai số tuyệt đối tương đối 0,8981%
- Lỗi bình phương tương đối gốc 12,5861%
- Tổng số phiên bản 2041
-4.5.2 Random forrest
chạy trên page
- 66% train còn lại để test
- thời gian xây dựng mô hình (model) 1.28s
- thời gian cần đề kiểm tra mô hình trên tập test đã chia: 0.17s
- Hệ số tương quan 0,9975
- Sai số tuyệt đối trung bình 0,0202
- Lỗi bình phương trung bình gốc 0,0734
- Sai số tuyệt đối tương đối 2,6488%
- Lỗi bình phương tương đối gốc 7,8827%
- Tổng số phiên bản 2041
Chạy trên location
66% train còn lại để test
- thời gian xây dựng mô hình (model) 0.7s
- thời gian cần đề kiểm tra mô hình trên tập test đã chia: 0.05s
Trang 15- Hệ số tương quan 0,9985
- Sai số tuyệt đối trung bình 0,0213
- Lỗi bình phương trung bình gốc 0,0937
- Sai số tuyệt đối tương đối 1.4102%
- Lỗi bình phương tương đối gốc 5,4951%
- Tổng số phiên bản 2041
Chạy trên order
- Mất 4.63 dây để xây dựng mô hình
- 0,12s để test
- Hệ số tương quan 0,2597
- Sai số tuyệt đối trung bình 6.4465
- Lỗi bình phương gốc trung bình 9.3406
- Sai số tuyệt đối tương đối 101,8679%
- Lỗi bình phương tương đối gốc 108,6204%
- Tổng số phiên bản 2041
1 Naive Bayes
Naive Bayes
Cross – validation Folds: 10%
Thời gian xây dựng mô hình: 0,02 giây
Các trường hợp được phân loại chính xác 5800 96,6667% Các trường hợp được phân loại không chính xác 200 3,3333% Thống kê Kappa 0,9419
Sai số tuyệt đối trung bình 0,0348
Lỗi bình phương trung bình gốc 0,107
Sai số tuyệt đối tương đối 15,2405%
Lỗi bình phương tương đối gốc 31,6797%
Tổng số phiên bản : 6000
=== Confusion Matrix ===
a b c d e < classified as
Trang 16- Thời gian xây dựng mô hình nhanh
- Tỉ lệ phân loại chính xác cao : ~97%
- Sai số và lỗi nhỏ
- Mô hình phân lớp đầy đủ 6000 dữ liệu
Mô hình hiệu quả
Sai số tuyệt đối trung bình 0,0437
Lỗi bình phương gốc trung bình 0,1256
Sai số tuyệt đối tương đối 19,1899%
Lỗi bình phương tương đối gốc 37,3508%
Trang 17- Thời gian xây dựng mơ hình nhanh
- Tỉ lệ phân loại chính xác cao : ~95%
- Mơ hình phân lớp được 1/3 tổng dữ liệu
Mơ hình khơng hiệu quả
2 SMO
TH1: Cross – validation Folds: 10%
Thời gian xây dựng mơ hình: 97,29 giây
4.5.7 ĐÁNH GIÁ
- Việc sử dụng các bộ phân lớp để đánh giá theo các thuộc tính ta chọn bộ phân lớpnạve bayes vì:
- Kết luận: Mơ hình phân lớp Naive Bayes với Cross – validation Folds: 10% là
mơ hình hiệu quả nhất vì
- Thời gian xây dựng mơ hình nhanh
- Tỉ lệ phân loại chính xác cao : ~97%
- Sai số và lỗi nhỏ nhất trong các mơ hình khác
- Mơ hình phân lớp đầy đủ 6000 dữ liệu
page 1 (main category)
page 2 (clothing model)
colour
location
Trang 18Trong cụm tổng các lỗi bình phương: 12216.390405591053
Điểm xuất phát ban đầu (ngẫu nhiên):
Cluster 0: 2008,4,1,1,29,180,1,A15,14,5,2,33,2,1
Cluster 1: 2008,4,1,15,29,273,1,A18,4,6,1,38,2,1
Các trung tâm cụm cuối cùng: Cluster#Attribute Full Data 0 1 (6000.0) (1584.0) (26%) (4416.0) (74%)
order 8.3238 9.5713 7.8764
session ID 438.76 460.9426 430.8032
page 1 (main category): 2.4267 2.7891 2.2966
page 2 (clothing model): B4 A15 B4
price 43.7238 38.9034 45.4529
price 2 1.4753 1.5549 1.4468
page 1.6357 1.9949 1.5068
Trang 19Thời gian thực hiện để xây dựng mô hình (dữ liệu đào tạo đầy đủ): 0,1 giâyPhiên bản nhóm:
0 1584 ( 26%)
1 4416 ( 74%)
Đánh giá:
- Mô hình phân cụm chia đầy đủ 100% dữ liệu
- Thời gian thực hiện mô hình nhanh
- Số lần lặp ít: 3
- Dữ liệu được phân chia vào cụm chính xác cao
Mô hình được đánh giá hiệu quả nhất
VD2: Simple KMeans
Use training set
numClusters: 5
Số lần lặp lại: 27
Mô hình phân cụm: Simple KMeans
Trong cụm tổng các lỗi bình phương: 9765.569359451045
- Mô hình phân cụm chia 99% dữ liệu
- Thời gian thực hiện mô hình nhanh
Trang 20- Mô hình 5 cụm không hiệu quả như mô hình 2 cụm
- Số lần lặp lớn
VD3 : Simple KMeans
Percentage split : 66%
Số lần lặp lại: 3
Mô hình phân cụm: Simple KMeans
Thời gian cần thiết để xây dựng mô hình (chia tỷ lệ phần trăm): 0,01 sPhiên bản nhóm:
0 2842 ( 53%)
1 2558 ( 47%)
Đánh giá:
- Mô hình không phân lớp được tất cả dữ liệu
- Thời gian thực hiện mô hình nhanh
Mô hình không hiệu quả
VD4: Simple EM (expectation maximisation)
- Mô hình phân cụm chia đủ 100% dữ liệu
- Thời gian thực hiện mô hình chậm
Trang 21- Chỉ lặp lại duy nhất 1 lần
- Mô hình hiệu quả nhưng không hiệu quả như mô hình VD1
Kết luận : Từ 4 trường hợp về phân cụm trên chúng ta thấy được mô hình phân cụm Simple Kmeans là mô hình phân cụm hiệu quả nhất
- Thời gian thực hiện để xây dựng mô hình nhanh
- Số lần lặp lại ít
- Dữ liệu được phân vào đúng cụm