1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án tốt nghiệp: Xây dựng website bán hàng ứng dụng một số giải thuật khai phá dữ liệu (9.5đ tốt nghiệp)

78 214 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 78
Dung lượng 3,97 MB

Nội dung

Đồ án tốt nghiệp: xây dựng website bán thiết bị điển tử ứng dụng một số giải thuật phân tích dự liệu thông minh(AI) để tối ưu việc bán hàng. Đồ án được đánh giá cao khi bảo vệ và đạt điểm xuất sắc

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO

ĐỒ ÁN TỐT NGHIỆP

NGÀNH: KHOA HỌC MÁY TÍNH

ĐỀ TÀI:

Trang 2

LỜI NÓI ĐẦU

Mua code liên hệ: 0384946866

Công nghệ thông tin đã và đang phát triển vượt bậc, tin học len lỏi vào hầu hếtmọi ngành, mọi lĩnh vực trong đời sống Các công ty, doanh nghiệp, trường học, đang chạy đua ứng dụng tin học hóa nhằm nâng cao hiệu quả trong công việc quản

lý, kinh doanh, …

Ngày nay, thương mại điện tử chính là xu thế của xã hội bán hàng onlineđang dần thay thế việc bán hàng truyền thông; Có rất nhiều cửa hàng kinh doanh,bán hàng online rất hiệu quả và thu về lợi nhuận cao …Các cửa hàng, công ty,doanh nghiệp… muốn quảng bá sản phẩm của mình đều phải có website để tất cảmọi người có thể xem thông tin sản phẩm

Các website thương mại điện tử thường có cơ sở dữ liệu lớn nhưng lại không

có chọn lọc Người dùng rất đa dạng, mỗi người dùng lại có nhu cầu, thị hiếu mua sắm khác nhau Tuy nhiên hầu hết các website đều giới thiệu sản phẩm cho người dùng một cách tràn lan, không hiệu quả

Xuất phát từ tình hình thực tế đó và vận dụng kiến thức đã học tập ở trường

vào quá trình thực tập để đi sâu vào “XÂY DỰNG WEBSITE BÁN ĐIỆN

THOẠI DI ĐỘNG ỨNG DỤNG MỘT SỐ GIẢI THUẬT KHAI PHÁ DỮ LIỆU.” cho cửa hàng bán điện thoại, laptop và phụ kiện online.

Chúng em chân thành cảm ơn Thầy Ths.Trần Thanh Hùng đã tận tình hướngdẫn chúng em nhiều kiến thức thực tế trực quan để chúng em có thể nâng cao chấtlượng bài thực tập tốt nghiệp này Tuy đã cố gắng hết sức song không thể tránh khỏinhững sai sót nhỏ khi làm bài Mong Thầy bỏ qua và góp ý thêm cho chúng em

Em xin chân thành cảm ơn!

Trang 3

TĨM TẮT ĐỀ TÀI

Mục đích:

Xây dựng một website bán hàng gồm các chức năng cơ bản

Tìm hiểu về khai phá dữ liệu, luật kết hợp cụ thể là giải thuật Apriori, Nạve bayes

Mục tiêu:

Tìm hiểu ngơn ngữ lập trình PHP, framework LARAVEL

Tìm hiểu thuật tốn khai phá luật kết hợp Apriori, Nạve bayes tìm ra các mối quan

hệ giữa các đối tượng trong khối lượng lớn dữ liệu

Kết luận:

Quá trình thực tập sẽ giải quyết được các vấn đề lớn sau:

Tìm hiểu và xây dựng được một ứng dụng thực thế bằng framework LARAVEL.Cài đặt thành cơng thuật tốn khai phá luật kết hợp Apriori, Nạve bayes vào ứng dụng web

Trang 4

MỤC LỤC

LỜI NĨI ĐẦU 2

TĨM TẮT ĐỀ TÀI 3

MỤC LỤC 4

DANH SÁCH HÌNH VẼ 7

DANH SÁCH CÁC BẢNG BIỂU 9

DANH SÁCH CÁC TỪ VIẾT TẮT 10

CHƯƠNG 1 MỞ ĐẦU 11

1.1 Tên đề tài 11

1.2 Lý do chọn đề tài 11

1.3 Tính cấp thiết của đề tài 12

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 13

2.1 Khai phá dữ liệu 13

2.1.1 Sự cần thiết của khai phá dữ liệu (Data mining)? 13

2.1.2 Khai phá dữ liệu là gì ? 13

2.1.3 Ứng dụng của khai phá dữ liệu 15

2.2 Thuật tốn Apriori khai phá luật kết hợp 15

2.2.1 Luật kết hợp (Association Rule) 15

2.2.2 Thuật tốn sinh các luật kết hợp Apriori 18

2.3 Thuật tốn Nạve bayes 22

2.3.1 Định lý Bayes 22

2.3.2 Ví dụ 23

CHƯƠNG 3 KHAI PHÁ DỮ LIỆU ÁP DỤNG VÀO WEBSITE 26

3.1 Phân tích dữ liệu học Apriori 26

3.2 Sử dụng luật kết hợp Apriori trong xây dựng bài tốn 26

3.3 Ứng dụng kết quả học Apriori trong xây dựng website 30

3.4 Phân tích dữ liệu học Nạve Bayes 32

3.5 Xây dựng bài tốn 32

3.6 Ứng dụng Nạve bayes vào website 34

CHƯƠNG 4 PHÂN TÍCH THIẾT KẾ WEBSITE BÁN HÀNG ONLINE 35

Trang 5

4.1 Bài toán 35

4.2 Xác định tác nhân của hệ thống 35

4.3 Xác định ca sử dụng của hệ thống 35

4.4 Đặc tả các ca sử dụng 37

4.4.1 Ca sử dụng Đăng ký 37

4.4.2 Ca sử dụng Đăng nhập 37

4.4.3 Ca sử dụng Xem chi tiết sản phẩm 38

4.4.4 Tìm kiếm sản phẩm 38

4.4.5 Ca sử dụng cập nhập thông tin tài khoản cá nhân 39

4.4.6 Ca sử dụng Mua hàng 39

4.4.7 Ca sử dụng Quản lý đơn hàng 40

4.4.8 Ca sử dụng Sử dụng giỏ hàng 41

4.4.9 Ca sử dụng Quản lý sản phẩm 42

4.4.10 Ca sử dụng Quản lý tài khoản 43

4.4.11 Ca sử dụng Quản lý tin tức 43

4.4.12 Quản lý phản hồi 45

4.5 Xác định các lớp tham gia vào các ca sử dụng 46

4.5.1 Ca sử dụng Đăng nhập 46

4.5.2 Ca sử dụng Đăng ký 47

4.5.3 Ca sử dụng Xem chi tiết sản phẩm 48

4.5.4 Ca sử dụng Cập nhật thông tin tài khoản cá nhân 50

4.5.5 Ca sử dụng Tìm kiếm sản phẩm 51

4.5.6 Ca sử dụng Sử dụng giỏ hàng 53

4.5.7 Ca sử dụng Đặt mua 55

4.5.8 Ca sử dụng Quản lý đơn hàng 57

4.5.9 Ca sử dụng Quản lý sản phẩm 58

4.5.10 Ca sử dụng Quản lý tin tức 61

4.5.11 Quản lý phản hồi 64

4.5.12 Quản lý tài khoản 66

4.6 Cơ sở dữ liệu 68

CHƯƠNG 5 THIẾT KẾ GIAO DIỆN VÀ CÀI ĐẶT CHƯƠNG TRÌNH 73

Trang 6

5.1 Giao diện trang chủ 73

5.2 Giao diện xem sản phẩm theo nhóm 74

5.3 Giao diện xem chi tiết sản phẩm 74

5.4 Giao diện Admin 75

KẾT LUẬN 76

TÀI LIỆU THAM KHẢO 77

BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH – VIỆT 78

Trang 7

DANH SÁCH HÌNH VẼ

Hình 1.1 Ứng dụng của Data Mining và KDD 11

Hình 2.1 Quá trình khai thác tri thức 14

Hình 2.2 Dữ liệu ví dụ Apriori 19

Hình 2.3 Các bước thực hiện thuật toán Apriori 19

Hình 2.4 Kết quả Apriori 20

Hình 2.5 CSDL ví dụ 20

Hình 2.6 Lặp lại 21

Hình 2.7 Công thức Bayes 22

Hình 2.8 Công thức mở rộng của định lý Bayes 23

Hình 2.9 Tập dữ liệu huấn luyện 23

Hình 2.10 Xác suất của đối tượng “Banana” 23

Hình 2.11 Xác suất của đối tượng “Orange” 24

Hình 2.12 Xác suất của đối tượng “Other Fruit” 24

Hình 3.1 Cấu trúc dữ liệu bảng Order (Hóa đơn) 26

Hình 3.2 Thiết kế giao diện trang Chi tiết SP 30

Hình 3.3 Thiết kế giao diện trang Chi tiết SP (2) 31

Hình 3.4 Thiết kế giao diện trang Chi tiết (3) 31

Hình 3.5 Cấu trúc dữ liệu bảng Naivebayes 32

Hình 3.6 Hộp thoại gợi ý 34

Hình 4.1 Usecase chính của hệ thống 36

Hình 4.2 Biểu đồ lớp tham gia ca sử dụng Đăng nhập hệ thống của Khách hàng 46

Hình 4.3 Biểu đồ trình tự Đăng nhập hệ thống luồng chính 46

Hình 4.4 Biểu đồ trình tự Đăng nhập luồng phụ (Nhập sai tài khoản/mật khẩu) 47

Hình 4.5 Biểu đồ lớp tham gia ca sử dụng Đăng ký thành viên của Khách xem 47

Hình 4.6 Biểu đồ trình tự Đăng ký thành viên của Khách xem (luồng chính) 48

Hình 4.7 Biểu đồ lớp tham gia ca sử dụng Xem chi tiết sản phẩm 49

Hình 4.8 Biểu đồ trình tự Xem chi tiết sản phẩm 49

Hình 4.9 Biểu đồ trình tự Thêm hàng vào giỏ 50

Hình 4.10 Biểu đồ lớp tham gia ca sử dụng Cập nhật tài khoản của Khách hàng 51

Hình 4.11 Biểu đồ trình tự Đổi mật khẩu của Khách hàng 51

Trang 8

Hình 4.12 Biểu đồ lớp tham gia ca sử dụng Tìm kiếm sản phẩm 52

Hình 4.13 Biểu đồ trình tự Tìm kiếm sản phẩm 53

Hình 4.14 Biểu đồ lớp tham gia ca sử dụng Sử dụng giỏ hàng 54

Hình 4.15 Biểu đồ trình tự Cập nhật số lượng sản phẩm trong giỏ (luồng chính) 54

Hình 4.16 Biểu đồ trình tự Cập nhật số lượng sản phẩm không thành công 55 Hình 4.17 Biểu đồ lớp tham gia ca sử dụng Mua hàng 56

Hình 4.18 Biểu đồ trình tự Mua hàng của Khách hàng 56

Hình 4.19 Biểu đồ lớp tham gia ca sử dụng Quản lý đơn hàng 57

Hình 4.20 Biểu đồ trình tự Cập nhật trang thái đơn hàng 58

Hình 4.21 Biểu đồ lớp tham gia ca sử dụng Quản lý sản phẩm 59

Hình 4.22 Biểu đồ trình tự Thêm một sản phẩm mới 60

Hình 4.23 Biểu đồ trình tự Xóa một sản phẩm 60

Hình 4.24 Biểu đồ lớp tham gia ca sử dụng Quản lý tin tức 61

Hình 4.25 Biểu đồ trình tự Thêm một tin tức mới 62

Hình 4.26 Biểu đồ trình tự Xóa một tin tức 63

Hình 4.27 Biểu đồ trình tự Sửa thông tin một tin tức đã được đăng 64

Hình 4.28 Biểu đồ lớp ca sử dụng Quản lý phản hồi 65

Hình 4.29 Biểu đồ trình tự Xóa phản hồi 65

Hình 4.30 Biểu đồ lớp QL Tài khoản 66

Hình 4.31 Biểu đồ trình tự Thêm Tài Khoản KH 67

Hình 4.32 Biểu đồ trình tự Sửa TKKH 68

Hình 4.33 Sơ đồ liên kết thực thể 72

Hình 5.1 Giao diện trang chủ 73

Hình 5.2 Giao diện xem sản phẩm theo nhóm 74

Hình 5.3 Giao diện xem chi tiết sản phẩm 74

Hình 5.4 Giao diện Admin 75

Trang 9

DANH SÁCH CÁC BẢNG BIỂU

Bảng 3.1 Dữ liệu ví dụ lọc ra trong một tháng gần đây 26

Bảng 3.2 Dữ liệu thuật tốn lấy ra 27

Bảng 3.3 Kết quả lần quét 1 28

Bảng 3.4 Lọc kết quả sau lần quét 1 28

Bảng 3.5 Kết quả lần quét 2 28

Bảng 3.6 Lọc kết quả sau lần quét 2 29

Bảng 3.7 Lần quét 3 29

Bảng 3.8 Lọc kết quả lần quét 3 30

Bảng 3.9 Bảng dữ liệu training Nạve bayes 32

Bảng 4.1 Tác nhân và ca sử dụng của hệ thống 36

Bảng 4.2 Catalogy: Danh mục sản phẩm 68

Bảng 4.3 Order: Đơn hàng 68

Bảng 4.4 Product: Sản phẩm 69

Bảng 4.5 User người dùng 69

Bảng 4.6 Giao dịch 70

Bảng 4.7 Tin tức 70

Bảng 4.8 Phản hồi (comment) 70

Bảng 4.9 Apriori 70

Bảng 4.10 Nạve bayes 71

Bảng 4.11 Order 71

Trang 11

Hình 1.1 Ứng dụng của Data Mining và KDD

Trang 12

Mặt khác, tại các trang thương mại điện tử của Việt nam hiện nay, việc ápdụng khai phá dữ liệu hướng tới nhu cầu người dung còn hạn chế, hầu hết các trangThương mại điện tử chỉ nhằm mục đích giới thiệu và bán sản phẩm, chứ chưa tưvấn được cho khách hàng mua thêm các sản phẩm liên quan.

Chính vì vậy tôi chọn đề tài là xây dựng website bán điện thoại, laptop vàphụ kiện ứng dụng một số giải thuật khai phá dữ liệu

1.3 Tính cấp thiết của đề tài

Hiện nay chúng ta đang sống trong thời đại công nghệ 4.0, ở đây mọi thứ đềuđược hướng tới sự tự động hóa, tương tác online, tối ưu hiệu quả một cách tối đa nhằm đưa đến sự thuận tiện và nhanh chóng nhất, làm cho cuộc sống ngày càng vănminh hơn

Không nằm ngoai xu thế này, công nghệ thông tin cũng phát triển một cáchnhanh chóng để đáp ứng được sự phát triển như vũ bão này, ở đây mọi thứ đượchướng tới như công nghệ IoT, AI, Big Data, trong đó các công nghệ này ngàycàng được áp dụng sâu rộng vào thực tiễn thông qua các ứng dụng Công nghệ thôngtin

Nghiên cứu và ứng dụng giải thuật luật kết hợp trong xây dựng bài toán bánhàng cũng là một trong những cấp thiết của công nghệ 4.0, nhằm đưa đến các trangthương mại điện tử có thể tự động hóa bán hàng

Trang 13

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

2.1 Khai phá dữ liệu

Khoảng hơn một thập kỷ trở lại đây, sự tích lũy dữ liệu xảy ra với một tốc độbùng nổ Chúng ta đang “ngập” trong dữ liệu nhưng lại “đói” tri thức Câu hỏi đặt

ra là liệu chúng ta có thể khai thác được gì từ những dữ liệu tưởng chừng như “bỏđi” ấy không?

“Necessity is the mother of invention”- Data Mining ra đời như một hướng

giải quyết hữu hiệu cho câu hỏi vừa đặt ra ở trên Có thể tạm hiểu rằng Data Miningnhư là một công nghệ tri thức giúp khai thác những thông tin hữu ích từ những kho

dữ liệu được tích trữ trong suốt quá trình hoạt động của một công ty, tổ chức nào

đó

2.1.2 Khai phá dữ liệu là gì ?

Định nghĩa : Khai phá dữ liệu là một tập hợp các kỹ thuật được sử dụng để tự

động khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp dữliệu khổng lồ (Big Data) và phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trongtập dữ liệu đó Khai phá dữ liệu là một bước của quá trình khai thác tri thức

(Knowledge Discovery Process), bao gồm :

1 Xác định vấn đề và không gian dữ liệu để giải quyết vấn đề (Problem

understanding and data understanding).

2 Chuẩn bị dữ liệu (Data preparation), bao gồm các quá trình làm sạch dữ liệu (data cleaning), tích hợp dữ liệu (data integration), chọn dữ liệu (data

selection), biến đổi dữ liệu (data transformation)

3 Khai thác dữ liệu (Data mining): xác định nhiệm vụ khai thác dữ liệu và lựa chọn kỹ thuật khai thác dữ liệu Kết quả cho ta một nguồn tri thức thô.

4 Đánh giá (Evaluation): dựa trên một số tiêu chí tiến hành kiểm tra và lọc

nguồn tri thức thu được

5 Triển khai (Deployment)

Trang 14

Hình 2.2 Quá trình khai thác tri thức

* Data Mining bao gồm một số phương pháp sau:

- Phân loại (Classification): Là phương pháp dự báo, cho phép phân loại mộtđối tượng vào một hoặc một số lớp cho trước

- Hồi qui (Regression): Discovery of a prediction learning function, whichmaps a data item to a real-value prediction variable

- Phân nhóm (Clustering): A common descriptive task in which one seeks toidentify a finite set of categories or clusters to describe the data

- Tổng hợp (Summarization): An additional descriptive task that involvesmethods for finding a compact description for a set (or subset) of data

- Mô hình ràng buộc (Dependency modeling): Finding a local model thatdescribes significant dependencies between variables or between the values of a

Trang 15

- Dò tìm biến đổi và độ lệch (Change and Deviation Dectection): Discoveringthe most significant changes in the data set.

- Data Mining tuy là một hướng tiếp cận mới nhưng thu hút được rất nhiều sựquan tâm của các nhà nghiên cứu và phát triển nhờ vào những ứng dụng thực tiễncủa nó Chúng ta có thể liệt kê ra đây một số ứng dụng điển hình:

+ Tin sinh học

+ Thương mại điện tử

+ Phát hiện lừa đảo

+ Quảng cáo

+ Quản lý quan hệ khách hàng

+ Chăm sóc sức khỏe

+ Máy tìm kiếm (web)

- Đáng chú ý: Đơn vị Able Danger của quân đội Mỹ đã dùng phương phápkhai thác dữ liệu để xác định kẻ đứng đầu cuộc tấn công ngày 11-9

Xem tin tức Wikinews tại: Wikinews: U.S Army intelligence detection of9/11 terrorists before attack

2.2 Thuật toán Apriori khai phá luật kết hợp

2.2.1 Luật kết hợp (Association Rule)

Trong lĩnh vực Data Mining, mục đích của luật kết hợp (Association Rule AR) là tìm ra các mối quan hệ giữa các đối tượng trong khối lượng lớn dữ liệu Nộidung cơ bản của luật kết hợp được tóm tắt như dưới đây

-* Các khái niệm cơ bản:

- Item (phần tử): là các phần tử, các mẫu, đối tượng được quan tâm I = {I1,I2, …, Im}: là tập tất cả m phần tử có thể có trong tập dữ liệu

- Itemset (tập phần tử): là tập hợp các items Một itemset có k items gọi là itemset

Trang 16

k Transaction (giao dịch): là các lần thực hiện tương tác với hệ thống (ví dụ:giao dịch “khách hàng mua hàng”) Liên hệ với một tập T gồm các phần tử đượcgiao dịch.

- Association (sự kết hợp) và association rule (luật kết hợp) Sự kết hợp: cácphần tử cùng xuất hiện với nhau trong một hay nhiều giao dịch Thể hiện mối quan

hệ giữa các phần tử/các tập phần tử

- Luật kết hợp: là quy tắc kết hợp có điều kiện giữa các tập phần tử

+ Thể hiện mối liên hệ (có điều kiện) giữa các tập phần tử

+ Cho A và B là các tập phần tử, luật kết hợp giữa A và B là A  B B xuất

hiện trong điều kiện A xuất hiện

- Support (độ hỗ trợ): là độ đo tần số xuất hiện của các phần tử/tập phần tử

- Minimum support threshold (ngưỡng hỗ trợ tối thiểu): giá trị hỗ trợ nhỏ nhấtđược chỉ định bởi người dùng

- Confidence (độ tin cậy)

+ Độ đo tần số xuất hiện của một tập phần tử trong điều kiện của một tập phần

tử khác

+Minimum confidence threshold (ngưỡng tin cậy tối thiểu): là giá trịconfidence nhỏ nhất được chỉ định bởi người dùng

- Frequent itemset (tập phần tử phổ biến)

+ Là tập phần tử có support thoả minimum support threshold

+ Cho A là một tập itemset: A là frequent itemset if support(A) >= minimumsupport threshold

- Strong association rule (luật kết hợp mạnh)

+ Là luật kết hợp có support và confidence thoả minimum support threshold

và minimum confidence threshold

+ Cho luật kết hợp A  B giữa A và B, A và B là itemsets: A  B là strong association rule if support(A  B) >= minimum support threshold và confidence(A

B) >= minimum confidence threshold.

* Phân loại luật kết hợp:

Trang 17

- Boolean association rule (luật kết hợp luận lý)/quantitative association rule(luật kết hợp lượng số)

+ Boolean association rule là luật mô tả sự kết hợp giữa sự hiện diện/vắng mặtcủa các phần tử

Computer  Financial_management_software [support=2%,confidence=60%]

+ Quantitative association rule là luật mô tả sự kết hợp giữa các phần tử/thuộctính định lượng

Age (X, “30…39”)  Income (X, “42…48K”) Buys (X, high resolution TV)

- Single-dimensional association rule (luật kết hợp đơnchiều)/Multidimensional association rule (luật kết hợp đa chiều)

+ Single-dimensional association rule là luật chỉ liên quan đến các phầntử/thuộc tính của một chiều dữ liệu

Buys (X, “computer”)  Buys(X, “financial_management_software”)

+ Multidimensional association rule: luật liên quan đến các phần tử/thuộc tínhcủa nhiều hơn một chiều

Age (X, “30… 39”) Buys (X, “computer”)

- Single-level association rule (luật kết hợp đơn mức)/multilevel associationrule (luật kết hợp đa mức)

+ Single-level association rule là luật chỉ liên quan đến các phần tử/thuộc tính

ở một mức trừu tượng

Age (X, “30… 39”) Buys (X, “computer”)

Age (X, “18… 29”) Buys (X, “camera”)

+ Multilevel association rule: luật liên quan đến các phần tử/thuộc tính ở cácmức trừu tượng khác nhau

Age (X, “30 39”) Buys (X, “laptop computer”)

Age (X, “30… 39”) Buys (X, “computer”)

- Association rule (luật kết hợp)/Correlation rule (luật tương quan thống kê)

Trang 18

+ Association rule: strong association rules A B (association rules đáp ứng yêucầu minimum support threshold và minimum confidence threshold)

+ Correlation rule: strong association rules A B đáp ứng yêu cầu về sự tu ̛ơngquan thống kê giữa A và B

2.2.2 Thuật toán sinh các luật kết hợp Apriori

* Tư tưởng chính của thuật toán Apriori là:

- Tìm tất cả frequent itemsets:

k-itemset (itemsets gồm k items) được dùng để tìm (k+1) - itemset

- Đầu tiên tìm 1-itemset (ký hiệu L1) L1 được dùng để tìm L2 (2-itemsets).L2 được dùng để tìm L3 (3-itemset) và tiếp tục cho đến khi không có k-itemsetđược tìm thấy

- Từ frequent itemsets sinh ra các luật kết hợp mạnh (các luật kết hợp thỏamãn 2 tham số min_sup và min_conf)

5 Với mỗi frequent itemset I, sinh tất cả các tập con s không rỗng của I

6 Với mỗi tập con s không rỗng của I, sinh ra các luật s => (I-s) nếu độ tincậy (Confidence) của nó > =min_conf

Chẳn hạn với I= {A1, A2, A5},các tập con của I:

{A1}, {A2}, {A5}, {A1, A2},{A1, A5},{A2, A5}

sẽ có các luật sau

{A1} => {A2, A5}, {A2} => {A1, A5}, {A5} => {A1, A2}

Trang 19

{A1, A2} =>{A5}, {A1, A5} => {A2}, {A2, A5} => {A1}

Ví dụ: Giả sử ta có có sở dữ liệu giao dịch (Transaction Database -TDB) nhưsau:

Hình 2.3 Dữ liệu ví dụ Apriori

* Thuật toán Apriori khai phá luật kết hợp được mô tả qua các bước sau

Hình 2.4 Các bước thực hiện thuật toán Apriori

- Ta có frequent itemsets I = {A, B, E}, với min_conf =80% ta có 2 luật kết hợp là:{A, B} => {E} và {A, E} => {B}

Trang 21

Hình 2.7 Lặp lại

Kết quả ta có các luật kết hợp sau (với min_sup= 40%, min_conf=70%)

R1: Lót chuột => Tai nghe, Chuột không dây (support =40%, confidence =100%)

Trang 22

R2: Tai nghe, Lĩt chuột => Chuột khơng dây (support = 40%, confidence =100%)

R3: Chuột khơng dây, Lĩt chuột => Tai nghe (support = 40%, confidence =100%)

Từ kết quả các luật được sinh ra bởi giao dịch bán hàng trên, ta thấy rằng cĩluật cĩ thể tin được (hợp lý) như Lĩt chuột => Tai nghe, Chuột khơng dây, Tuynhiên trên thực tế cĩ luật cần phải phân tích thêm và cĩ khĩ tin

Thuật tốn Apriori được dùng để phát hiện các luật kết hợp dạng khẳng định(Positive Rule X=>Y) nhị phân (Binary Association Rules) chứ khơng thể phát hiệncác luật kết hợp ở dạng phủ định (Negative Association Rule) chẳng hạn như cáckết hợp dạng “Khách hàng mua mặt hàng A thường KHƠNG mua mặt hàng B”hoặc “Nếu ủng hộ quan điểm A thường KHƠNG ủng hộ quan điểm B” Khai phácác luật kết hợp dạng phủ định (Mining Negative Association Rules) cĩ phạm viứng dụng rất rộng và thú vị nhất là trong Marketing, Health Care và Social NetworkAnalysis

2.3 Thuật tốn Nạve bayes

- P(B|A) là xác suất xảy ra B khi biết A xảy ra

- P(A) là xác suất sảy ra của riêng A mà khơngquan tâm đến B

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

Ở trên ta cĩ thể thấy xác suất sảy ra của giả thuyết A phụ thuộc và xác suất củagiả thuyết B, nhưng trong thực tế xác suất A cĩ thể phụ thuộc vào xác suất của

Trang 23

nhiều các giác thuyết khác có thể là B1, B2, B3 … Bn Vậy định luật Bayes có thể được mở rộng bằng công thức sau:

Hình 2.9 Công thức mở rộng của định lý Bayes

Hình 2.10 Tập dữ liệu huấn luyện

Bây giờ bài toàn đặt ra là tính ra tỷ lệ một quả chuối có thuộc tính là “màuvàng, dài, và ngọt” với tỷ lệ quả cảm và các loại hoa quả khác có cũng có thuộctính là “màu vàng, dài, và ngọt”

Áp dụng định lý Bayes ta sẽ có 3 công thức tính cho 3 loại trái cây như sau:

1 Tỷ lệ quả chuối với thuộc tính “vàng, dài và ngọt”

Hình 2.11 Xác suất của đối tượng “Banana”

Trang 24

Tức là tỷ lệ chuối với thuộc tính “vàng, dài và ngọt” là 97%

2 Tương tự ta cũng có thể tính ra tỷ lệ quả cam với thuộc tính “vàng dài và ngọt”với công thức sau:

Hình 2.12 Xác suất của đối tượng “Orange”

Do tỷ lệ P(Long|Orange) = 0/500 = 0 cho nên P (Orange| Long, Sweet,Yellow) = 0 tức là tỷ lệ quả cam với thuộc tính “vàng dài và ngọt” là 0%

3 Cũng thế ta ốp công thức Bayes để tính các trái cây còn lại với thuộc tính “vàngdài và ngọt” với công thức sau:

Hình 2.13 Xác suất của đối tượng “Other Fruit”

P (Long| Other Fruit) = 100/200 = 0.5

P (Sweet| Other Fruit) = 150/200 = 0.75

Trang 25

Vậy suy ra với trái cây với ba thuộc tính là “vàng, dài và ngọt” thì có khả năngcao nhất đó là quả chuối.

Chúng ta có thể ứng dụng Naive Bayes Classification để tính tỷ lệ xác suất vớirất nhiều các dạng bài toán khác nhau, với dữ liệu càng nhiều thì độ chính xác củathuật toán sẽ càng cao và khi dữ liệu thay đổi thì kết quả cũng thay đổi theo

Trang 26

CHƯƠNG 3 KHAI PHÁ DỮ LIỆU ÁP DỤNG VÀO

WEBSITE

3.1 Phân tích dữ liệu học Apriori

Phân tích dữ liệu: từ những hóa đơn đặt hàng của khách hàng chúng ta có thể

dự đoán được xu hướng mua hàng của người dùng Từ đó khi khách hàng chọn muahàng này thì hệ thống sẽ giới thiệu những mặt hàng mà người dùng khác đã mua vớisác xuất cao

Thuật toán lấy dữ liệu của bảng OrderDetail (Chi tiết hóa đơn) làm dữ liệu

cơ sở để đưa vào thuật toán phân tích

Xét CSDL của bảng Orrder Bảng này là bảng hóa đơn bán hàng của cửa

hàng, khách thường có xu hướng mua những cái gì với nhau trong giỏ hàng (ví dụnhư khách hay mua chuột, lót chuột, hoặc điện thoại, tai nghe cùng với nhau ).Biết được thông tin này thì chúng ta có thể tư vấn mua hàng cho những khách hàngtiếp theo

Hình 3.14 Cấu trúc dữ liệu bảng Order (Hóa đơn)

3.2 Sử dụng luật kết hợp Apriori trong xây dựng bài toán

Ví dụ minh họa như sau:

Bảng 3.1 Dữ liệu ví dụ lọc ra trong một tháng gần đây

Trang 27

Ở ví dụ này lấy minsupp=2, ta quét trên bảng 2.2, thu được kết quả:

Lần quét 1:

Bảng 3.3 Kết quả lần quét 1

Trang 28

- Bỏ product {0004}, vì số lần xuất hiện là support=1 < minsupp,

- Kết quả thu được sau lần quét 1 làm tiền đề cho lần quét 2:

Bảng 3.4 Lọc kết quả sau lần quét 1

Trang 29

Bảng 3.6 Lọc kết quả sau lần quét 2

{0001-0003 Kết quả thu được sau lần quét 3 làm tiền đề cho lần quét 4:

Kết quả thu được là thu được các cặp 2, cặp 3, thỏa mãn điều kiện minsupp

3.3 Ứng dụng kết quả học Apriori trong xây dựng website

Ví dụ khách hàng chọn 1 sản phẩm bất kỳ, chẳng hạn sản phẩm có id=0003 Với giỏ hàng lúc này chỉ có 1 sản phẩm id=0003, thì ta lấy kết quả của lầnquét 2, tức là sản phẩm id=0003 có thể được kết hợp với id=0001, hoặc id=0002mới thỏa mãn điều kiện phổ biến

Trang 30

Hình 3.15 Thiết kế giao diện trang Chi tiết SP

Tiếp theo nếu chọn tiếp sản phẩm có id=0001, lúc này chúng ta đã có bộ 2mua kèm là {0003,0001}, chúng ta lấy kết quả quét lần 3, trong bảng quét lần 3không có bộ sản phẩm nào mà có cặp {0003,0001}

Hình 3.16 Thiết kế giao diện trang Chi tiết SP (2)

Ngược lại nếu khách hàng chọn tiếp sản phẩm có id=0002, lúc này chúng ta đã

có bộ 2 mua kèm là {0003,0002}, chúng ta lấy kết quả quét lần 3, trong bảng quét

Trang 31

Hình 3.17 Thiết kế giao diện trang Chi tiết (3)

3.4 Phân tích dữ liệu học Nạve Bayes

Phân tích dữ liệu: từ những buổi họp báo hay hội thảo chúng ta cĩ thể thu thậpthơng tin người dùng bằng cách lấy phiếu khảo sát Từ đĩ khi khách hàng cần tưvấn mua hàng thì hệ thống sẽ tìm sản phẩm cĩ xác suất mua là cao nhất Thuật tốnNạve Bayes giúp giải quyết vấn đề này

Thuật tốn lấy dữ liệu của bảng Nạve Bayes gồm các trường Tuổi, Giới tính,Trình độ học vấn, Nghề nghiệp, Mức giá mong muốn và Sản phẩm họ chọn mualàm dữ liệu cơ sở để đưa vào thuật tốn training

Xét CSDL của bảng Nạve Bayes

Trang 32

Hình 3.18 Cấu trúc dữ liệu bảng Nạve bayes

Khi cĩ 1 yêu cầu tư vấn (tương tự một mẫu cần nhận dạng) thuật tốn sẽ tínhxác suất của từng thuộc tính dựa vào tập dữ liệu training được select từ bảng NạveBayes

Sau khi tính xác suất, chúng ta đưa kết quả sinh ra để tư vấn cho người dùngtrên website bán hàng

3.5 Xây dựng bài tốn

Ví dụ minh họa như sau:

Bảng 3.9 Bảng dữ liệu training Nạve Bayes

Trang 33

P (39, nam, giáo sư, cơ khí, 15-20 tr | 12) =

(0.5*0.5*0.5*0.5*0.5*0.5)/(0.25*0.25*0.5*0.25*0.5) = 8

P (39, nam, giáo sư, cơ khí, 15-20 tr | 19) = 0

P (39, nam, giáo sư, cơ khí, 15-20 tr | 16) = 0

3.6 Ứng dụng Nạve bayes vào website

- Khi click vào Icon gợi ý hộp thoại lấy thơng tin cần thiết sẽ hiện ra:

Trang 34

Hình 3.19 Hộp thoại gợi ý

- Khi nhập đủ thông tin và chọn nút gợi ý, web sẽ chuyển sang trang chi tiết sảnphẩm tương ứng

Trang 35

CHƯƠNG 4 PHÂN TÍCH THIẾT KẾ WEBSITE BÁN HÀNG

Trang 36

Sử dụng giỏ hàngMua hàng

Comment sản phẩm

Quản lý sản phẩmQuản lý đơn hàngQuản lý tin tứcQuản lý comment

Quản lý tài khoản

Biểu đồ UseCase chính

Hình 4.20 Usecase chính của hệ thống

Trang 37

Ca sử dụng bắt đầu khi người dùng click vào Đăng ký.

Hệ thống yêu cầu người dùng nhập thông tin cá nhân

Hệ thống kiểm tra thông tin hợp lệ? Nếu không thì thực hiện luồng A1

Luồng A1: Khách hàng nhập thông tin không hợp lệ

- Hệ thống hiển thị thông báo lỗi

- Người dùng có thể sửa lại thông tin và đăng ký lại hoặc là hủy bỏ Ca sửdụng kết thúc

Tiền điều kiện: Không

Hậu điều kiện: Người dùng sẽ có tài khoản trên hệ thống, thực hiện được đầy

đủ chức năng của khách hàng

Mô tả tóm tắt:

Tên ca sử dụng: Đăng nhập hệ thống

Mục đích: Mô tả cách người dùng đăng nhập vào hệ thống

Tác nhân: Khách hàng, Người quản lý hệ thống

Các luồng sự kiện chính

- Ca sử dụng bắt đầu khi người dùng muốn đăng nhập vào hệ thống

Trang 38

- Hệ thống yêu cầu người dùng nhập tài khoản và mật khẩu đăng nhập

- Hệ thống kiểm tra tài khoản và mật khẩu? Nếu sai thì thực hiện luồng A1

Các luồng rẽ nhánh

- Luồng A1: Nhập sai tài khoản/mật khẩu đăng nhập

- Hệ thống hiển thị thông báo lỗi Ca sử dụng kết thúc

Tiền điều kiện: Không

Hậu điều kiện: Nếu đăng nhập thành công, user sẽ vào được hệ thống

Luồng sự kiện chính:

Ca sử dụng bắt đầu khi người dùng vào website xem sản phẩm

Người dùng click vào sản phẩm để xem thông tin chi tiết về sản phẩm

Hệ thống hiển thị thông tin chi tiết về sản phẩm

Các luồng rẽ nhánh: Không

Tiền điều kiện: Không

Hậu điều kiện: Không

Ca sử dụng bắt đầu khi người dung Tìm kiếm sản phẩm

Hệ thống hiển thị các lựa chọn tìm kiếm:

- Tìm kiếm theo từ/cụm từ nhập vào ô tìm kiếm

- Tìm kiếm theo giá

- Tìm kiếm theo hãng sản xuất

Hệ thống yêu cầu người dùng chọn chức năng tìm kiếm

Trang 39

Người dùng click vào Tìm kiếm, hệ thống hiển thị những sản phẩm tìm thấytrong cơ sở dữ liệu.

Tiền điều kiện: Không

Hậu điều kiện: Không

Mô tả tóm tắt:

Tên ca sử dụng: Cập nhật tài khoản cá nhân

Mục đích: Cho phép người dùng thay đổi mật khẩu và thông tin cá nhân

Tác nhân: Khách hàng, Admin

Các luồng sự kiện chính:

Ca sử dụng bắt đầu khi người dùng muốn thay đổi thông tin cá nhân

Người dùng đăng nhập vào hệ thống và click vào Tài khoản

- Hệ thống yêu cầu Người dùng sửa thông tin

- Người dùng sửa những thông tin cần thiết và xác nhận việc sửa đổi

- Hệ thống cập nhật những thay đổi vừa thực hiện

Các luồng rẽ nhánh:

Luồng A1: Nếu Người dùng chọn Hủy, ca sử dụng kết thúc

Tiền điều kiện: Người dùng phải đăng nhập thành công vào hệ thống.

Hậu điều kiện: Mật khẩu và thông tin cá nhân được thay đổi trên hệ thống.

- Ca sử dụng bắt đầu khi Khách hàng thực hiện việc đặt hàng trên hệ thống

- Hệ thống yêu cầu Khách hàng nhập thông tin vận chuyển

- Hệ thống hiển thị các lựa chọn: Tiếp tục, quay lại

Ngày đăng: 31/07/2020, 22:01

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w