1. Trang chủ
  2. » Công Nghệ Thông Tin

báo cáo đồ án khai thác dữ liệu bán lẻ từ các trang thương mại điện tử

20 33 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 1,51 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

-Việc kinh doanh online là xu thế phát triển mạnh và điều không thể thiếu trong thời kì ngày nay. Các nhà bán lẻ đưa sản phẩm của mình tiếp cận với khách hàng thông qua nhiều hình thức, điển hình như thông qua các trang thương mại điện tử. - Nhóm em lựa chọn một số dữ liệu trên sàn thương mại điện tử sendo.vn phục vụ cho đồ án này. Qua việc áp dụng thuật toán Naïve Bayes và J48 để có thể phân lớp dữ liệu và cây quyết định, từ đó tìm ra mối tương quan giữa các dữ liệu thu được giải quyết bài toán theo giả thuyết “ Đâu là nguyên do khiến khách hàng đưa ra quyết định mua hàng ? Xét trong bối cảnh mua điện thoại phổ thông”. - Công cụ hỗ trợ: C#, Excel, Weka Weka - Waikato Environment for knowledge Analysis là một tập hợp các giải thuật học máy và các cộng cụ xử lý dữ liệu , ngôn ngữ Java , phân phối dưới giấy phép GNU General Public là bộ phần mềm mã nguồn mở miễn phí khai thác dữ liệu , được xây dựng bằng ngôn ngữ lập trình Java , theo kiến trúc hướng đối tượng , được tổ chức thành thư viện phục vụ cho lĩnh vực học máy và khai thác dữ liệu. Nhóm em chọn weka bởi weka có nhiều ưu điểm như tính khả dụng miễn phí theo Giấy phép Công cộng GNU, chạy được hầu hết bất kỳ nền tặng điện toán hiện đại nào như Linux, Windows,.., giao diện dễ sử dụng, tổng hợp toàn diện các kỹ thuật tiền xử lý và mô hình hóa dữ liệu ,nhiều thuật toán máy học và khai thác dữ liệu tiêu chuẩn( xử lý dữ liệu, phân cụm , trực quan hóa , lựa chọn tính năng,… ).

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

-ĐỒ ÁN MÔN HỌC KHAI THÁC DỮ LIỆU Giáo viên hướng dẫn: Nguyễn Hồ Duy Trí

Sinh viên thực hiện:

Nguyễn Quang Khải - 15520334

Trần Hoàng Trung – 15520948

Nguyễn Đình Văn Khoa - 14520426

Phan Đức Hòa - 16520424

Phạm Thanh Vĩnh - 15521022

Trang 2

2

Trang 3

LỜI CẢM ƠN

Đầu tiên, nhóm xin gửi lời cảm ơn chân thành đến tập thể quý Thầy Cô Trường Đại học Công nghệ thông tin – Đại học Quốc gia TP.HCM và quý Thầy Cô khoa

Hệ thống thông tin đã giúp cho nhóm tác giả có những kiến thức cơ bản làm nền tảng để thực hiện đề tài này Đặc biệt, nhóm tác giả xin gửi lời cảm ơn và lòng biết

ơn sâu sắc nhất tới Thầy Nguyễn Hồ Duy Trí(Giảng viên thực hành môn Khai

thác dữ liệu) Thầy đã trực tiếp hướng dẫn tận tình, sửa chữa và đóng góp nhiều ý kiến quý báu giúp nhóm tác giả hoàn thành tốt báo cáo môn học của mình Trong thời gian một học kỳ thực hiện đề tài, nhóm chúng em đã vận dụng những kiến thức nền tảng đã tích lũy đồng thời kết hợp với việc học hỏi và nghiên cứu những kiến thức mới Từ đó, nhóm vận dụng tối đa những gì đã thu thập được để hoàn thành một báo cáo đồ án tốt nhất Tuy nhiên, trong quá trình thực hiện, nhóm tác giả không tránh khỏi những thiếu sót

Nhóm chúng em rất mong nhận được những sự góp ý từ phía các các Thầy nhằm hoàn thiện những kiến thức mà nhóm tác giả đã học tập và là hành trang để nhóm tác giả thực hiện tiếp các đề tài khác trong tương lai

Xin chân thành cảm ơn Thầy !

TP Hồ Chí Minh, ngày 12 tháng 12 năm 2019

NHÓM THỰC HIỆN

Trang 4

Mục Lục

PHẦN 1: GIỚI THIỆU ĐỀ TÀI 3

1 Lý do chọn đề tài 3

2 Khảo sát nguồn dữ liệu 4

3 Mơ tả bài tốn 5

4 Sử dụng cơng cụ C# tiến hành Crawl dữ liệu từ website về: 6

5 Kĩ thuật tiền xử lý dữ liệu 8

PHẦN 2: XÂY DỰNG CÂY QUYẾT ĐỊNH , PHÂN LỚP BẰNG J48, NẠVE BAYES 10

1 Dùng thuật tốn J48 10

2 Mơ hình cây quyết định: 13

3 Xây dựng mơ hình phân lớp Naivebayes 15

PHẦN 3: TỔNG KẾT 17

1 So sánh kết quả: 17

2 Ưu điểm/Hạn chế 18

3 Hướng phát triển: 19

4 Bảng phân cơng cơng việc các thành viên trong nhĩm 19

5 Tài liệu tham khảo 20

4

Trang 5

PHẦN 1: GIỚI THIỆU ĐỀ TÀI

1 Lý do chọn đề tài

-Việc kinh doanh online là xu thế phát triển mạnh và điều khơng thể thiếu trong thời kì ngày nay Các nhà bán lẻ đưa sản phẩm của mình tiếp cận với khách hàng thơng qua nhiều hình thức, điển hình như thơng qua các trang thương mại điện tử

- Nhĩm em lựa chọn một số dữ liệu trên sàn thương mại điện tử sendo.vn phục vụ cho đồ án này Qua việc áp dụng thuật tốn Nạve Bayes và J48 để cĩ thể phân lớp dữ liệu và cây quyết định, từ đĩ tìm ra mối tương quan giữa các dữ liệu

thu được giải quyết bài tốn theo giả thuyết “ Đâu là nguyên do khiến khách hàng đưa ra quyết định mua hàng ? Xét trong bối cảnh mua điện thoại phổ thơng”

- Cơng cụ hỗ trợ: C#, Excel, Weka

Weka - Waikato Environment for knowledge Analysis là một tập hợp các giải thuật học máy và các cộng cụ xử lý dữ liệu , ngơn ngữ Java , phân phối dưới giấy phép GNU General Public là bộ phần mềm mã nguồn mở miễn phí khai thác dữ liệu , được xây dựng bằng ngơn ngữ lập trình Java , theo kiến trúc hướng đối tượng , được tổ chức thành thư viện phục vụ cho lĩnh vực học máy và khai thác dữ liệu Nhĩm em chọn weka bởi weka cĩ nhiều ưu điểm như tính khả dụng miễn phí theo Giấy phép Cơng cộng GNU, chạy được hầu hết bất kỳ nền tặng điện tốn hiện đại nào như Linux, Windows, , giao diện dễ sử dụng, tổng hợp tồn diện các kỹ thuật tiền

xử lý và mơ hình hĩa dữ liệu ,nhiều thuật tốn máy học và khai thác dữ liệu tiêu chuẩn( xử lý dữ liệu, phân cụm , trực quan hĩa , lựa chọn tính năng,… ).

2 Khảo sát nguồn dữ liệu

Nhĩm em tiến hành crawler dữ liệu từ nguồn dữ liệu trên trang TMĐT sendo.vn về các mặt hàng điện thoại, với các thuộc tính cĩ thể lấy được:

+ Tên sản phẩm (ProductName)

+ Giá (Price)

+ Lượt đánh giá (numRating)

+ Lượt mua hàng (numPurchase)

+ Giảm giá (%) (GG)

+ Loại Shop : Senmall or shopNormal

Trang 6

3 Mô tả bài toán

Sau khi tiến hành crawler dữ liệu thành công bằng ngôn ngữ C# từ trang

sendo.vn, nhóm em sẽ áp dụng kĩ thuật tiền xử lý dữ liệu danh sách sản phẩm điện thoại phổ thông trên trang TMĐT sendo.vn ( https://www.sendo.vn/dien-thoai-di-dong/?ltprice=3000000) , sau đó sử dụng thuật toán Naive Bayes và thuật toán J48 thông qua phần mềm Weka để tiến hành xây dựng phân lớp dữ liệu, cây quyết định

6

Trang 7

4 Sử dụng công cụ C# tiến hành Crawl dữ liệu từ website về:

- File dữ liệu thu được sau khi crawler được lưu dưới dạng file TXT

- Tiến hành mở File bằng Excel

Trang 9

5 Kĩ thuật tiền xử lý dữ liệu

+ Đây là tập dữ liệu mô tả thông tin về một sản phẩm trước khi khách hàng xem thông tin chi tiết về sản phẩm đó

Ví dụ: thuộc tính “Luot Mua Hang” có các giá trị:

Thấp (5-30) nghĩa là Lượt mua hàng của sản phẩm này ở mức độ thấp nằm trong khoản 5 đến 30 lượt mua

+ Số lượng mẫu: 636

+ Số lượng thuộc tính: 6

+ Kiểu của mỗi thuộc tính: nomial

+ Thuộc tính thiếu giá trị: Không có

+ Số lượng mẫu bị thiếu giá trị: 2480 (31%)

 Tiến hành tiền xử lý dữ liệu với các thuộc tính:

 Thuộc tính “Product Name”: Không có ý nghĩa và gây nhiễu => Được thay thế bằng thuộc tính “Hãng” với các giá trị thay thế

{“Nokia”,”Kechaoda”,”FPT”,”GOLY”,”MOBELL”,”MASSTEL”,”MOBIISTAR

”,”KHÁC”} dựa vào tên các giá trị có sẵn của thuộc tính “Product Name”

 Thuộc tính “Price”: Thuộc tính dư thừa => loại bỏ

Trang 10

 Thuộc tính “SalePrice”:

+ Chia làm 2 nhóm: 100.000-200.000 và 200.000-300.000

 Thuộc tính “Giảm giá”:

+ Chia thành 2 loại: “Có” và “Không”

 Thuộc tính: “Lượt đánh giá” và “Lượt mua hàng”:

+ Sử dụng kĩ thuật Binning và làm trơn (smoothing) để khử nhiễu và phân nhóm

dữ liệu nhằm đơn giản hóa việc phân tích

 Thuộc tính “ShopStyle”

+ Có hai loại dữ liệu là “ShopMall” và “Shopnormal” nên ta tiến hành biểu diễn thành dạng One-hot: ShopMall => (1,0) và Shopnormal (0,1)

 Kết quả sau khi tiền xử lý ta thu được bảng sau:

10

Trang 11

PHẦN 2: XÂY DỰNG CÂY QUYẾT ĐỊNH , PHÂN LỚP BẰNG J48, NẠVE BAYES

1 Dùng thuật tốn J48

Bước 1 : Mở waka > Chọn explorer > Chọn open file > Chọn ck.csv Kết quả hiện

ra theo hình, Trong mục process đọc dữ liệu

Trang 12

Bước 2 : Nhấn vào mục classify để bắt đầu phân lớp Trong phần classifier chọn thuật toán và điều chỉnh tham số (ở đây sử dụng thuật toán J48 bởi sau khi tiền xử

lý ,dữ liệu thuộc kiểu Nominal , Ordinal , Binary nên sử dụng J48 để đạt hiệu quả phân lớp cao)

Trong phần test options chọn kiểu test , ở đây chọn cross-validation ( dữ liệu được chia thành n phần bằng nhau (n-fold) , quá trình train/test model lặp lại n lần, 1 phần dữ liệu chọn test, còn (n-1) phần còn lại để train(tập huấn luyện) , ở đây chọn 10-foldCross-Validation vì đã được chứng minh là tối ưu nhất

Nhấn start để bắt đầu phân lớp , hiện ra kết quả trong classifier output như hình dưới

12

Trang 13

 Giải thích kết quả :

+ Test mode : chế độ test 10-fold cross-validation

+ Số lượng lá : 13

+ Kích thước cây :17

+ Thời gian tiến hành :0.33s

+ Trường hợp phân lớp chính xác(correct Classified Instances): 379 mẫu chiếm 59.5912%

+ Trường hợp phân lớp sai (Incorrectly Classified Instances): 257 mẫu chiếm 40.4088%

+ Ma trận nhầm lẫn:

Trang 14

+ Đối với lớp a, có 162 đối tượng được gán nhãn a, 82 đối tượng gán nhãn c

+ Đối với lớp b, có 71 đối tượng được nhãn a, 12 nhãn b, 5 nhãn c, 5 nhãn d, 12

ở nhãn e

+ Đối với lóp c, có 44 đối tượng được gán nhãn a, 192 ở nhãn c,

+ Đối với lớp d, có 1 đối tượng ở nhãn a, 5 ở nhãn b, 4 ở nhãn d, 10 ở nhãn e

+ Đối với lớp e, có 7 đối tượng ở nhãn a, 11 ở nhãn b, 1 ở nhãn c, 3 ở nhãn d, 9 ở nhãn e

2 Mô hình cây quyết định:

Đây là cây quyết định , luật theo hình :

- Nếu Lượt Đánh Giá = “it (1-10)” thì lượt mua =” Thấp “

- Nếu Lượt Đánh Giá = “khong co” thì lượt mua =” Rất Thấp”

- Nếu Lượt Đánh Giá = “Nhieu” Và Discout = “Khong’ thì lượt mua =”Trung binh”

- Nếu Lượt Đánh Giá =“Nhieu” và Discount =”Co” và Hang=”Mobell” thì lượt mua=”Cao”

14

Trang 15

- Nếu Lượt Đánh Giá =“Nhieu” và Discount =”Co” và Hang=”Masstel” thì lượt mua=”Trung Binh”

- Nếu Lượt Đánh Giá =“Nhieu” và Discount =”Co” và Hang=”Khac” thì lượt mua=”Cao”

- Nếu Lượt Đánh Giá =“Nhieu” và Discount =”Co” và Hang=”FPT” thì lượt mua=”Rat cao”

- Nếu Lượt Đánh Giá =“Nhieu” và Discount =”Co” và Hang=”Moblistar” thì lượt mua=”Cao”

- Nếu Lượt Đánh Giá =“Nhieu” và Discount =”Co” và Hang=”Nokia” thì lượt mua =”Cao”

- Nếu Lượt Đánh Giá =“Nhieu” và Discount =”Co” và Hang=”Kachoda” thì lượt mua=”Cao”

- Nếu Lượt Đánh Giá =“Nhieu” và Discount =”Co” và Hang=”kechaoda” thì lượt mua=”Cao”

- Nếu Lượt Đánh Giá =“Nhieu” và Discount =”Co” và Hang=”Goly” và shopstyle =”shopmall(1)” thì lượt mua =”Trung Binh”

- Nếu Lượt Đánh Giá =“Nhieu” và Discount =”Co” và Hang=”Goly” và shopstyle =”shop normal” thì lượt mua=”Rat cao”

3 Xây dựng mơ hình phân lớp Naivebayes

+ Nạve Bayes (NB) là phương pháp phân loại dựa vào xác suất được sử dụng rộng rãi trong nhiều lĩnh vực như trong các cơng cụ tìm kiếm , các bộ lọc email,etc Định lý Bayes thường được dùng trong lý thuyết xác suất, cho phép tính xác xuất xảy ra sự kiện A khi biết sự kiện liên qua B đã xảy ra Xác suất này được ký hiệu là P(A|B), và đọc là “xác suất của A nếu cĩ B” Xác suất này cĩ cơng thức như sau:

P(A) là xác suất xảy ra của riêng A, khơng liên quan đến B (prior)

P(B) là xác suất xảy ra của riêng B P(B) cịn được gọi là normalizing_constant vì

nĩ là hằng số khơng bị ảnh hưởng bị A

P(B|A) là xác suất xảy ra B khi biết A đã xảy ra (likelihood), cịn được gọi là xác suất của B nếu cĩ A

Trang 16

+ Thời gian tiến hành : 0.02s

+ Test mode : chế độ test 10-fold cross-validation

16

Trang 17

+ Trường hợp phân lớp chính xác(correct Classified Instances): 367 mẫu chiếm 57.7044%

+ Trường hợp phân lớp sai (Incorrectly Classified Instances): 269 mẫu chiếm 42.2956%

+ Ma trận nhầm lẫn:

+ Đối với lớp a, có 148 đối tượng được gán nhãn a, 13 đối tượng gán nhãn b, 83 đối tượng được gán nhãn c

+ Đối với lớp b, có 68 đối tượng được nhãn a, 17 nhãn b, 5 nhãn c, 5 nhãn d, 10

ở nhãn e

+ Đối với lóp c, có 48 đối tượng được gán nhãn a, 188 ở nhãn c,

+ Đối với lớp d, có 1 đối tượng ở nhãn a, 6 ở nhãn b, 7 ở nhãn d, 6 ở nhãn e

+ Đối với lớp e, có 7 đối tượng ở nhãn a, 13 ở nhãn b, 1 ở nhãn c, 3 ở nhãn d, 7 ở nhãn e

Trang 18

PHẦN 3: TỔNG KẾT

1 So sánh kết quả:

- Phương pháp K-fold Cross validation

Ta chọn k=10, nghĩa là chia tập dữ liệu thành 10 phần, 1 phần dùng làm tập kiểm tra (test set), 9 phần dùng để huấn luyện (train set)

Thuật tốn

phân lớp

Precision (Độ chính xác )

- Phương pháp Hold-out

Chúng ta sẽ chia dữ liệu thành 2/3 : 66% để xây dựng mơ hình phân lớp (tập train), 33% để kiểm tra (tập test)

Thuật tốn

phân lớp

Precision (Độ chính xác )

Kết luận : Qua kết quả phân lớp trên, ta thấy mơ hình J48 cho kết quả phân lớp tốt

hơn so với Nạve Bayes (Khi giả định rằng các feature của dữ liệu là độc lập với nhau thì Naive Bayes chạy tốt hơn so với các thuật tốn khác và cũng cần ít dữ liệu hơn), tuy nhiên trong trương hợp này,thời gian xây dựng mơ hình của J48 lâu hơn

so Nạve Bayes Dựa vào cây quyết định, ta cĩ thể biết được mức độ mua hàng dựa vào các đặc điểm: lượt đánh giá,Discount, Hãng, loại Shop

2 Ưu điểm/Hạn chế

 Ưu điểm:

18

Trang 19

- Đơn giản, dễ thực hiện, cĩ thể xử lý 1 lượng lớn dữ liệu trong thời gian

ngắn

- Cĩ thể xử lý cả dữ liệu cĩ giá trị bằng số và dữ liệu cĩ giá trị là tên thể

loại

- Việc chuẩn bị dữ liệu cho 1 cây quyết định là cơ bản hoặc khơng cần

thiết

- Cĩ thể thẩm định một mơ hình bằng cách kiểm tra thống kê

- Khả năng mở rộng cao, quy mơ tuyến tính với số lượng dự đốn và điểm

dữ liệu

 Hạn chế:

- Khĩ giải quyết được những vấn đề cĩ dữ liệu phụ thuộc thời gian liên tục

- Dễ xảy ra lỗi khi cĩ quá nhiều lớp chi phí tính tốn để xây dựng mơ hình

cây quyết định cao

- Ngay khi dự đốn xác suất, nĩ cần nhiều bộ nhớ thời gian chạy hơn so

với SVM (Phương pháp SVM được coi là cơng cụ mạnh cho những bài tốn phân lớp phi tuyến tính, là một trong các phương pháp phân lớp giám sát khơng tham số tinh vi nhất cho đến nay) hoặc hồi quy logistic đơn giản

- Khi ta sử dụng thuật tốn phân loại Nạve Bayes với một tập dữ liệu nhỏ

như dữ liệu đồ án trên thì độ chính xác sẽ giữ ở mức rất thấp

- Một vấn đề "hạn chế" với Naive-Bayes là nếu khơng cĩ sự xuất hiện của

nhãn lớp và một giá trị thuộc tính nào đĩ cùng nhau như giá (Price), lượt đánh giá (numRating) thì tần số- ước tính xác suất dựa trên sẽ bằng

khơng Với giả định khơng phụ thuộc điều kiện của Naive-Bayes, khi tất

cả các xác suất được nhân lên, ta sẽ nhận được số khơng và điều này sẽ ảnh hưởng đến ước tính xác suất sau

3 Hướng phát triển:

- Cĩ thể được ứng dụng dự đốn trong thế giới thực tại thời điểm xảy ra sự kiện, điển hình là cảm hứng để phát triển thành thành Đồ thị ngữ cảnh (Contextual

Graphs) với mục đích giảm số lượng cấu trúc cây bằng cách thay thế các chuỗi hành động lặp đi lặp lại bằng một đối tương duy nhất,sư thay thế này giúp đơn giản hĩa cấu trúc cây, Cuối cùng là người dùng khơng cịn phải đối mặt với 1 cây quyết định mà là 1 biểu đồ, biểu đồ này cĩ chính xác 1 mục tiêu (vì người dùng cũng chỉ cần cĩ vậy)

- Xây dựng các hệ thống lọc các thơng tin khơng được để ý và dự đốn các thơng tin mà người dùng cĩ thể quan tâm, rất cĩ lợi trong các chiến lược Remarketing

Trang 20

4 Bảng phân công công việc các thành viên trong nhóm

thành

15520334 Nguyễn Quang Khải Khảo sát nguồn dữ

liệu, Crawler dữ liệu, Tiền xử lý dữ liệu, Tổng hợp báo cáo

100%

15520948 Trần Hoàng Trung Khảo sát nguồn dữ

liệu, Crawler dữ liệu, Tiền xử lý dữ liệu, Tổng hợp báo cáo

100%

14520426 Nguyễn Đình Văn Khoa Sử dụng các thuật

toán trong Weka xây dựng cây quyết định, chụp các màn hình kết quả

100%

16520424 Phan Đức Hòa Viết báo cáo, Tìm

kiếm tài liệu, Phân tích kết quả thu được

90%

15521022 Phan Thanh Vĩnh Viết báo cáo, tìm

kiếm tài liệu, Phân tích kết quả thu được

90%

5 Tài liệu tham khảo

https://www.slideshare.net/HoQuangThanh/la-chn-thuc-tnh-v-khai-ph-lut-kt-hp-trn-weka

https://www.youtube.com/watch?v=9iCO2SSM3PQ

https://ongxuanhong.wordpress.com/2015/08/25/ap-dung-cac-phuong-phap-phan-lop-classification-tren-tap-du-lieu-mushroom/

20

Ngày đăng: 05/07/2021, 20:45

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w