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

Báo Cáo Bài Tập Lớn Khai Phá Dữ Liệu Trong Việc Dự Báo Hủy Đặt Phòng Khách Sạn Của Khách Hàng.pdf

63 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Khai phá dữ liệu trong việc dự báo hủy đặt phòng khách sạn của khách hàng
Tác giả Nông Huyền My, Trần Thị Kim Anh, Phạm Thị Hồng Nhung
Người hướng dẫn Lê Thị Hồng Nhung
Trường học Học Viện Ngân Hàng
Chuyên ngành Khai phá và phân tích dữ liệu
Thể loại Báo cáo Bài Tập Lớn
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 63
Dung lượng 6,32 MB

Nội dung

Trong quá trình học tập một môn Khai phá và phân tích dữ liệu, nhóm chúng em đã được cô quan tâm và giúp đỡ tận tình.. Thông qua bài tập lớn lần này, nhóm chúng em áp dụng kiến thức đã đ

Trang 1

HỌC VIỆN NGÂN HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ

Giảng viên hướng dẫn : Lê Thị Hồng Nhung

Hà Nội, ngày 16 tháng 12 năm 2023

Trang 2

HỌC VIỆN NGÂN HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ

Hà Nội, ngày 16 tháng 12 năm 2023

Trang 3

BẢNG PHÂN CHIA CÔNG VIỆC

Mã sinh

viên Họ và tên Công việc thực hiện

Tỉ lệ đóng

góp

24A4041413 Nông Huyền My

Xác định bài toán, lý

do ch n bài toán, ý ọnghĩa và vai trò của bài toán

Xác định các thuộc tính, cách th c thu ứthập, ý nghĩa các thu c tính, mô t d ộ ả ữliệu

Đánh giá và đề xuất ứng dụng

ứng d ng ụ

T ng h p word ổ ợ Chỉnh s a ửpowerpoint

33,33%

Trang 4

MỤC LỤC

M C LỤ ỤC i

DANH MỤC B NG BI U iii Ả Ể DANH MỤC HÌNH NH iv Ả LỜI CAM ĐOAN vii

L I CỜ ẢM ƠN viii

L I M Ờ Ở ĐẦ 1 U CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 2

1.1 Đặ ấn đềt v 2

1.2 Cơ sở hình thành đề tài 2

1.3 Mục tiêu đề tài 3

1.4 Đối tượng và phương pháp nghiên cứu 3

1.5 Ý nghĩa 3

1.5.1 Ý nghĩa khoa học 3

1.5.2 Ý nghĩa thực ti n ễ 4

1.6 B cố ục đề tài 4

CHƯƠNG 2 : THU THẬP DỮ LIỆU 5

2.1 Mô t v d ả ề ữ liệu 5

2.1.1 Ngu n d u ồ ữ liệ 5

2.1.2 Mô t v b d ả ề ộ ữ liệu 5

2.2 Ti n x lý d u ề ử ữ liệ 7

2.2.1 T ng quan v n x lý d u ổ ề tiề ử ữ liệ 7

2.2.2 Ti n x lý b d ề ử ộ ữ liệu 7

Trang 5

ii

CHƯƠNG 3: SỬ DỤNG THU ẬT TOÁN DECISION TREE ĐỂ DỰ ĐOÁN KHẢ NĂNG HỦY ĐẶT PHÒNG KHÁCH S N C A KHÁCH Ạ Ủ

HÀNG 15

3.1 T ng quan v lý thuy t ổ ề ế 15

3.1.1 Khai phá d u ữ liệ 15

3.1.2 Phân l p d u và thu t toán decision tree ớ ữ liệ ậ 18

3.2 Áp d ng thuụ ật toán decision tree để khai phá bộ d u ữ liệ 23

3.3 Đánh giá hiệu suất 34

3.3.1 Đánh giá hiệu suất khi thay đổi các tham s ố 34

3.3.2 Đánh giá hiệu suất khi thay đổi thu t toán ậ 44

3.3.3 Đánh giá chung 46

CHƯƠNG 4: ĐÁNH GIÁ VÀ ĐỀ XUẤT ỨNG D NG 48 4.1 Đánh giá 48

4.2 Đề xuất ứng dụng 49

TÀI LI U THAM KH OỆ Ả 52

Trang 6

DANH MỤC BẢNG BIỂU

B ng 1: ả Bảng đánh giá thuật toán decision tree 20

B ng 2: ả Bảng ma trận nhầm lẫn 34

Trang 7

iv

DANH MỤC HÌNH ẢNH

Hình 2.1: Khai báo thư viện 7

Hình 2.2: Đọc bộ dữ liệu và hiển thị 5 dòng dữ liệu 8

Hình 2.3: Kiểm tra dữ liệu bị khuyết thiếu 8

Hình 2.4: Thống kế các giá trị 9

Hình 2.5: Biểu đồ boxplot thể hiện các cột có giá trị ngoại lai 9

Hình 2.6: Xử lý giá trị ngoại lai 10

Hình 2.7: Biểu đồ boxplot sau khi đã xử lý ngoại lai 10

Hình 2.8: Kích thước dữ liệu sau khi xử lý ngoại lai 10

Hình 2.9: Chuyển đổi cột date of reservation thành các cột ngày, tháng, năm và hiển thị lại thông tin dữ liệu 11

Hình 2.10: Giá trị trong từng thuộc tính trước khi mã hóa 12

Hình 2.11: Mã hóa dữ liệu với LabelEncoder trong sklearn 12

Hình 2.12: Dữ liệu sau khi mã hóa 13

Hình 2.13: Vẽ biểu đồ nhiệt 13

Hình 2.14: Biểu đồ nhiệt thể hiện mối tương quan giữa các giá trị 14

Hình 3.1: Quá trình khai phá tri thức 16 Hình 3.2: Quy trình thực hiện phân lớp dữ liệu 19

Hình 3.3: Cấu trúc cây quyết định 22

Hình 3.4: Khai báo thư viện cho thuật toán decision tree 23

Hình 3.5: Xác định biến mô tả và biến mục tiêu 23

Hình 3.6: Hình ảnh thể hiện biến mô tả và biến mục tiêu 24

Hình 3.7: Chia bộ dữ liệu thành tập train và test 25

Trang 8

Hình 3.8: Huấn luyện mô hình và biểu diễn dưới dạng cây quyết định 26

Hình 3.9: Kết quả cây phân lớp 27

Hình 3.10: Hình ảnh cây sau khi đã phân lớp 27

Hình 3.11: Biểu diễn cây quyết định với đồ thị Graphviz 28

Hình 3.12: Hình ảnh cây quyết định với đồ thị Graphviz 28

Hình 3.13: Kiểm thử mô hình và xác định ma trận nhầm lẫn 29

Hình 3.14: Đồ thị ma trận nhầm lẫn 30

Hình 3.15: Độ chính xác trên tập test 31

Hình 3.16: Thông số đánh giá hiệu suất trên tập test 31

Hình 3.17: Vẽ biểu đồ cột thể hiện độ quan trọng của các đặc 32

Hình 3.18: Biểu đồ cột thể hiện độ quan trọng của các đặc trưng 33

Hình 3.19: Mô hình d ự đoán khả năng hủy đặt phòng khách s n cạ ủa khách hàng 33

Hình 3.20: Thay đổi tham số lần 1 và huấn luyện lại mô hình 35

Hình 3.21: Kết quả cây phân lớp sau khi thay đổi tham số lần 1 35

Hình 3.22: Cây quyết định sau khi thay đổi tham số lần 1 36

Hình 3.23: Kiểm thử mô hình, ma trận nhầm lẫn sau khi thay đổi tham số lần 1 36

Hình 3.24: Biểu đồ thể hiện ma trận nhầm lẫn sau khi thay đổi tham số lần 1 37

Hình 3.25: Độ chính xác của tập test sau khi thay đổi tham số lần 1 38

Hình 3.26: Thông số của tập test sau khi thay đổi tham số lần 1 38

Hình 3.27: Vẽ lại biểu đồ thể hiện độ quan trọng của các đặc trưng trong mô hình sau khi thay đổi tham số lần 1 38

Trang 9

vi

Hình 3.28: Biểu đồ cột sau khi thay đổi tham số lần 1 39

Hình 3.29: Mô hình d ự đoán khả năng hủy đặt phòng khách s n cạ ủa khách hàng sau khi thay đổi tham số lần 1 39

Hình 3.30: Thay đổi tham số lần 2 và huấn luyện lại mô hình 40

Hình 3.31: Vẽ lại cây quyết định sau khi thay đổi tham số lần 2 41

Hình 3.32: Cây quyết định sau khi thay đổi tham số lần 2 41

Hình 3.33: Kiểm thử mô hình trên tập test và xác định ma trận nhầm lẫn sau khi thay đổi tham số lần 2 42

Hình 3.34: Ma trận nhầm lẫn sau khi thay đổi tham số lần 2 42

Hình 3.35: Độ chính xác của tập test sau khi thay đổi tham số lần 2 43

Hình 3.36: Thông số của tập test sau khi thay đổi tham số lần 2 43

Hình 3.37: Vẽ lại biểu đồ cột sau khi thay đổi thông số lần 2 43

Hình 3.38: Biểu đồ cột thể hiện độ quan trọng của các đặc trưng trong mô hình sau khi thay đổi tham số lần 2 43

Hình 3.39: Khai báo thư viện randomforest 44

Hình 3.40: Thực thi mô hình trên tập train và kiểm thử mô hình trên tập test sau khi thay đổi thuật toán 44

Hình 3.41: Xác định ma trận nhầm lẫn sau khi thay đổi thuật toán 44

Hình 3.42: Đồ thị ma trận nhầm lẫn sau khi thay đổi thuật toán 45

Hình 3.43: Độ chính xác của tập test sau khi thay đổi thuật toán 45

Hình 3.44: Thông số của tập test sau khi thay đổi thuật toán 45

Trang 10

LỜI CAM ĐOAN

Nhóm em đã đọc và hiểu về các hành vi vi phạm sự trung thực trong học thuật Nhóm em cam kết bằng danh dự cá nhân rằng bài tập lớn này do nhóm em tự thực hiện và không vi phạm yêu cầu về sự trung thực trong học thuật

Hà Nội, ngày 16 tháng 12 năm 2023

Học viên Nông Huyền My Trần Thị Kim Anh Phạm Thị Hồng Nhung

Trang 11

viii

LỜI CẢM ƠN

Lời đầu tiên cho phép nhóm xin gửi lời cảm ơn đến cô Lê Thị Hồng Nhung - giảng viên môn Khai phá và phân tích dữ liệu, khoa Hệ thống thông tin quản lý Trong quá trình học tập một môn Khai phá và phân tích

dữ liệu, nhóm chúng em đã được cô quan tâm và giúp đỡ tận tình Sau 16 tuần học thì chúng em đã tích lũy thêm được rất nhiều kiến thức để có thể

có cái nhìn sâu sắc và hoàn thiện hơn về bộ môn này Thông qua bài tập lớn lần này, nhóm chúng em áp dụng kiến thức đã được tiếp thu trong quá trình học dưới sự hướng dẫn của cô và thông qua việc tìm hiểu thêm về các thuật toán để ứng dụng mô hình học máy vào giải quyết bài toán “Dự đoán khả năng hủy đặt phòng khách sạn của khách hàng”

Trong quá trình hoàn thành bài tập lớn lần này, chúng em đã có sự

nỗ lực trong việc tìm hiểu, nghiên cứu các kiến thức để hoàn thiện bài tập lớn một cách tốt nhất trong khả năng của mình Nhóm em hi vọng sẽ nhận được những góp ý của cô để bài tập lớn của chúng em được hoàn thiện hơn

Kính chúc cô có thật nhiều sức khỏe và thành công trong con đường giảng dạy của mình, đặc biệt là đưa khoa Hệ thống thông tin quản lý ngày càng phát triển hơn

Hà Nội, ngày 16 tháng 12 năm 2023

Học viên Nông Huyền My Trần Thị Kim Anh Phạm Thị Hồng Nhung

Trang 12

LỜI MỞ ĐẦU

Trong những năm gần đây, với nền kinh tế thị trường ngày càng năng động và sự hội nhập thế giới mạnh mẽ thì hiện tượng bùng nổ dữ liệu xuất hiện với lượng dữ liệu được tạo ra và gia tăng chóng mặt Điều này đặt ra thách thức lớn cho các doanh nghiệp trong việc quản lý và khai thác dữ liệu Để giải quyết vấn đề này, việc ứng dụng phân tích và khai phá dữ liệu

là một công cụ quan trọng trong nền kinh tế hiện đại Cho phép doanh nghiệp thu thập, phân tích và sử dụng thông tin đưa ra quyết định kinh doanh thông minh và hiệu quả Đồng thời giúp tăng cường năng suất và giảm chi phí sản xuất Vì vậy, khai phá dữ liệu là một yếu tố quan trọng trong sự phát triển nền kinh tế và cạnh tranh của một quốc gia

Trang 13

và phương án xử lý tốt nhất Do vậy nhóm chúng em đã quyết định lựa chọn đề tài “Dự đoán khả năng hủy đặt phòng khách sạn của khách hàng”

để khai phá và phân tích dữ liệu

Trong phạm vi nghiên cứu đề tài của nhóm chúng em, nhóm đi tìm hiểu và trình bày kiến thức môn khai phá và phân tích dữ liệu, từ đó tìm ra

ưu nhược điểm của vấn đề và đưa ra đề xuất ứng dụng giúp các doanh nghiệp khắc phục tình trạng huỷ đặt phòng của khách hàng nhằm tăng lợi nhuận, tối ưu hóa các chi phí và giảm thiểu rủi ro một cách tốt nhất

1.2 Cơ sở hình thành đề tài

Sau khi đọc hiểu và xem xét các số liệu về việc khách hàng huỷ đặt phòng khách sạn như tỷ lệ huỷ đặt phòng, thời gian huỷ đặt phòng, lý do hủy, tần suất huỷ đặt phòng, từ đó phân tích về khả năng khách hàng huỷ

Trang 14

đặt phòng Chính vì mong muốn số lượng khách hàng huỷ đặt phòng khách sạn ít nhất nên đề tài nghiên cứu sẽ hỗ trợ cho các khách sạn có thể dự đoán trước các khách hàng có khả năng huỷ phòng, từ đó giúp khách sạn đưa ra các chiến lược, các dịch vụ chăm sóc khách hàng nhằm giữ chân khách hàng, tối ưu hoá quản lý đặt phòng, cải thiện trải nghiệm khách hàng và hạn chế được việc hủy đặt phòng.

1.3 Mục tiêu đề tài

Khai thác và phân tích số liệu trên bộ dữ liệu từ đó dự đoán được xác suất hủy đặt phòng của khách hàng giúp các doanh nghiệp kiểm soát được khả năng hủy của khách hàng từ đó hiểu thêm về những mong muốn của họ và cải thiện chất lượng dịch vụ nâng cao hiệu quả kinh doanh

1.4 Đối tượng và phương pháp nghiên cứu

Đối tượng: khả năng hủy đặt phòng khách sạn của khách hàng.Phương pháp nghiên cứu :

- Xác định bài toán, thuộc tính, cách thức thu thập và ý nghĩa thuộc tính Từ đó tiến hành tiền xử lý dữ liệu qua các biểu đồ minh hoạ sự phân bố dữ liệu và mối tương quan giữa các thuộc tính

- Sử dụng thuật toán chính là Decision Tree dự đoán khả năng hủy đặt phòng khách sạn của khách hàng Thuật toán Decision Tree là một phương pháp được sử dụng để xây dựng mô hình dự đoán dựa trên việc phân loại dữ liệu thành các nhóm Được sử dụng rộng rãi trong các lĩnh vực như phân loại, dự đoán và phân tích dữ liệu

1.5 Ý nghĩa

1.5.1 Ý nghĩa khoa học

Việc dự đoán khả năng huỷ đặt phòng ở khách sạn cũng là một ứng dụng của khoa học dữ liệu và trí tuệ nhân tạo Nhờ sử dụng thuật toán Decision Tree để phân lớp các đối tượng dựa vào các luật nhằm phân loại,

Trang 15

4

dự đoán và khai phá dữ liệu, từ đó đưa ra các dự đoán về khả năng huỷ phòng ở khách sạn một cách chính xác và logic Mục đích giúp khách sạn đạt công suất 100% bằng cách phòng ngừa rủi ro đối với khách không đến hoặc huỷ phòng, tối đa hoá doanh thu và lợi nhuận, rủi ro thấp và cơ hội tăng khả năng sinh lời cao

dự đoán cũng có thể giúp các khách sạn và nhà cung cấp du lịch tối ưu hoá quy trình quản lý đặt phòng và giảm thiểu tỷ lệ đặt phòng Ngoài ra giúp các khách sạn đưa ra các biện pháp phòng ngừa trường hợp khách hàng quyết định hủy đặt phòng khách sạn

1.6 Bố cục đề tài

Đề tài nghiên cứu gồm tất cả 4 vấn đề chính :

▪ Chương 1 : Tổng quan đề tài

▪ Chương 2 : Thu thập dữ liệu

▪ Chương 3 : Sử dụng thuật toán Decision Tree để dự đoán khả năng hủy đặt phòng khách sạn của khách hàng

▪ Chương 4 : Đánh giá và đề xuất ứng dụng

Trang 16

CHƯƠNG 2 : THU THẬP DỮ LIỆU

2.1 Mô tả về dữ liệu

2.1.1 Nguồn dữ liệu

Chìa khóa để thành công trong lĩnh vực Machine Learning là thực hành với các bộ dữ liệu (dataset) khác nhau Tuy nhiên, để có thể tìm được một tập dữ liệu phù hợp cho từng loại học máy và khai phá chúng là một việc không hề dễ dàng Có nhiều trang web để chúng ta có thể lấy những

bộ dữ liệu, và “Kaggle” là một trong số đó Kaggle là một trong những thư viện dữ liệu trực tuyến lớn nhất, được cập nhật mỗi ngày bởi cộng đồng những người làm việc trong lĩnh vực Machine Learning và Al Người dùng không thể hy vọng vào chất lượng bộ dữ liệu là tốt như nhau nhưng tất cả

bộ dữ liệu ở đây đều hoàn toàn miễn phí, vì vậy người dùng có thể tìm và lựa chọn bộ dữ liệu tốt nhất để khai phá và phân tích chúng

Sau một thời gian tìm hiểu về các bộ dữ liệu khác nhau liên quan đến vấn đề “Đặt phòng khách sạn”, nhóm chúng em quyết định lựa chọn

bộ dữ liệu “Hotel Booking Cancellation Prediction” từ Kaggle để phục vụ

cho bài toán

2.1.2 Mô tả về bộ dữ liệu

Bộ dữ liệu “Hotel Booking Cancellation Prediction” có nhiều tính

năng đa dạng, bao gồm chi tiết đặt phòng, thông tin khách hàng và thông tin cụ thể về đặt phòng Bộ dữ liệu được thu thập tỉ mỉ từ các tình huống đặt phòng khách sạn trong thực tế, đảm bảo tính xác thực và phù hợp cho

mô hình dự đoán Thông tin chi tiết về các thuộc tính trong dữ liệu như sau:

Booking-Id: mã định danh duy nhất cho mỗi lượt đặt chỗ

Number of adults: số lượng người lớn trong phòng được đặt

Trang 17

6

Number of children: số lượng trẻ em có trong phòng được đặt

Number of weekend nights: số đêm cuối tuần có trong đặt phòng Number of week nights: số đêm trong tuần có trong đặt phòng

Type of meal: phân loại bữa ăn dựa trên các tiêu chí khác nhau chẳng hạn như thời gian trong ngày, mục đích, thành phần… trong đặt phòng

Car parking space: cho biết liệu chỗ đậu xe đã được yêu cầu trong đặt phòng

Room type: loại phòng đã đặt

Lead time: khoảng thời gian từ khi khách hàng đặt phòng đến khi khách hàng đến nhận phòng

Market segment type: phân chia khách hàng thành các nhóm là offline, online, corporate, aviation, complementary

Repeated: mô tả hành động của khách hàng đặt phòng khách sạn liệu lượt đặt chỗ có phải là lượt đặt chỗ lặp lại hay không

P-C (viết tắt là pre-check-in): tính từ thời điểm hiện tại, số lượt đặt chỗ trước đó đã bị khách hàng hủy là bao nhiêu

P-not-C: tính từ thời điểm hiện tại, số lượng đặt chỗ thành công trước đó của khách hàng là bao nhiêu lần

Average price: giá trung bình cho mỗi phòng được đặt trong một ngày

Special requests: số lượng yêu cầu đặc biệt của khách

Date of reservation: ngày đặt chỗ

Booking status: tình trạng đặt chỗ (đã hủy hoặc chưa hủy)

Trang 18

2.2 Tiền xử lý dữ liệu

2.2.1 Tổng quan về tiền xử lý dữ liệu

Tiền xử lý dữ liệu là một bước quan trọng trong quá trình khai thác tri thức, bởi vì các quyết định về chất lượng phải dựa trên dữ liệu chất lượng Việc phát hiện các bất thường về dữ liệu, khắc phục chúng sớm và giảm bớt dữ liệu cần phân tích có thể giúp tăng độ chính xác của mô hình học máy Tiền xử lý dữ liệu bao gồm các bước sau :

▪ Thu thập dữ liệu: Thu thập dữ liệu từ nhiều nguồn khác nhau

▪ Xử lý dữ liệu: xử lý dữ liệu để loại bỏ các giá trị không hợp

lệ, giá trị thiếu và giá trị nhiễu

▪ Phân tích dữ liệu: phân tích dữ liệu để tìm ra các mối quan hệ giữa các biến và đưa ra các kết luận

▪ Lưu trữ dữ liệu: lưu trữ dữ liệu để sử dụng cho các mô hình học máy

2.2.2 Tiền xử lý bộ dữ liệu

a Khai báo thư viện sử dụng

Hình 2.1: Khai báo thư viện

b Đọc và hiển thị thông tin của bộ dữ liệu

Trang 19

8

Hình 2.2: Đọc bộ dữ liệu và hiển thị 5 dòng dữ liệu

Hình 2.3: Kiểm tra dữ liệu bị khuyết thiếu

Sau khi đọc bộ dữ liệu và kiểm tra khuyết thiếu cho thấy bộ dữ liệu

có 17 cột và 36285 dòng dữ liệu Đồng thời từ ảnh 2.3 ta dựa vào cột Null cho thấy không có cột dữ liệu nào bị khuyết thiếu do vậy bộ dữ liệu không chứa giá trị khuyết thiếu

Non-c Mô tả các giá trị thống kê cơ bản

Trong tiền xử lý dữ liệu, giá trị thống kê cơ bản là những thông tin

mô tả về phân phối của dữ liệu Những giá trị này giúp ta hiểu rõ hơn về tính chất của dữ liệu và có thể hỗ trợ quá trình phân tích và đưa ra quyết định Hình 2.4 cho ta thấy được mô tả các giá trị thống kê cơ bản của bộ

dữ liệu

Trang 20

Hình 2.4: Thống kế các giá trị

d Xử lý ngoại lai – làm sạch dữ liệu

Biểu đồ xử lý giá trị ngoại lai (box plot, hay còn gọi là whisker plot)

là một công cụ mạnh mẽ trong thống kê để hiển thị phân phối và các giá trị ngoại lai trong dữ liệu Biểu đồ này giúp ta hiểu rõ hơn về tập trung, phân phối và biến động của dữ liệu Dưới đây là hình ảnh mô tả cơ bản về biểu

đồ xử lý giá trị ngoại lai:

Hình 2.5: Biểu đồ boxplot thể hiện các cột có giá trị ngoại lai

Từ biểu đồ cho thấy cột “Lead time” và cột “Average price” đang có các giá trị ngoại lai do vậy cần loại bỏ chúng Có rất nhiều phương pháp thống kê để loại bỏ được các giá trị ngoại lai và một trong những phương pháp phổ biến đó là IQR IQR là khoảng giữa phân vị 25% (Q1) và phân

vị 75% (Q3) của dữ liệu, còn được gọi là khoảng cách giữa quartile Dưới đây là hình ảnh thể hiện phương pháp IQR để xử lý giá trị ngoại lai:

Trang 21

10

Hình 2.6: Xử lý giá trị ngoại lai

Hình 2.7: Biểu đồ boxplot sau khi đã xử lý ngoại lai

Hình 2.8: Kích thước dữ liệu sau khi xử lý ngoại lai

Sau khi xác định giá trị ngoại lại và loại bỏ thì bộ dữ liệu còn 33345 dòng dữ liệu và 17 cột

e Chuyển đổi cột date of reservation

Để chuẩn bị dữ liệu đầu vào là dạng số để thích hợp cho mô hình Decision Tree, cột “date of reservation” cần phải được chuyển đổi thành các cột đặc trưng số để giúp mô hình hiểu, cho phép phân tích thời gian dễ dàng hơn Thuật toán này cũng như nhiều thuật toán khác không thể xử lý trực tiếp dữ liệu dạng datetime, vì vậy nó cần phải được chuyển đổi thành

Trang 22

dữ liệu dạng số để thuật toán có thể sử dụng được Tách cột “date of reservation” thành các cột “day” “month” “year”, , giúp mô hình có thể nhận biết các mô hình hoặc xu hướng liên quan đến các thành phần ngày, tháng và năm Bên cạnh đó, việc tách thành các thành phần như “day”,

“month”, “year” có thể giúp mô hình nhận biết được các mô hình chu kỳ

và mùa vụ, điều này có thể quan trọng đối với việc dự đoán hủy đặt phòng khách sạn Tách “date of reservation” thành các thành phần là một cách

để giảm số chiều của dữ liệu, giúp giảm bớt độ phức tạp của mô hình và làm cho quá trình huấn luyện mô hình nhanh chóng hơn, đặc biệt là đối với các tập dữ liệu lớn

Hình 2.9: Chuyển đổi cột date of reservation thành các cột ngày, tháng, năm

và hiển thị lại thông tin dữ liệu Sau khi biến đổi cột “date of reservation” thành các cột day, month, year thì bộ dữ liệu có 19 cột và 33312 dòng dữ liệu

f Xác định giá trị trong từng thuộc tính và mã hóa dữ liệu

● Giá trị trong từng thuộc tính trước khi mã hóa:

Trang 23

12

Hình 2.10: Giá trị trong từng thuộc tính trước khi mã hóa

● Mã hóa dữ liệu

Mã hóa trong tiền xử lý dữ liệu là quá trình chuyển đổi các dữ liệu

từ dạng không thích hợp hoặc không có thể xử lý trực tiếp bởi các mô hình máy học thành dạng có thể xử lý được Có rất nhiều phương pháp mã hóa

và trong đó có mã hóa Label Encoder là một phương pháp mã hóa dữ liệu phân loại trong tiền xử lý dữ liệu, chuyển đổi các giá trị phân loại thành các số nguyên tăng dần từ 0 đến (n_classes 1) Đây là một công cụ quan - trọng khi làm việc với các thuật toán học máy, đặc biệt là các mô hình như Decision Trees, Support Vector Machines và Neural Networks, mà thường yêu cầu dữ liệu đầu vào ở dạng số học Dưới đây là mã hóa dữ liệu với LabelEncoder:

Hình 2.11: Mã hóa dữ liệu với LabelEncoder trong sklearn

● Dữ liệu sau khi đã mã hóa

Trang 24

Hình 2.12: Dữ liệu sau khi mã hóa

g Biểu đồ nhiệt

Biểu đồ nhiệt (Heatmap) là một công cụ trực quan mạnh mẽ trong quá trình khai phá dữ liệu, giúp hiển thị mối quan hệ tương quan giữa các biến Trong quá trình khai phá dữ liệu, việc hiểu được mối tương quan giữa các biến sẽ giúp cho người khai phá dữ liệu có cái nhìn trực quan và hiệu quả để hiểu và đánh giá mối tương quan một cách hiệu quả Dưới đây là biểu đồ nhiệt thể hiện mối quan hệ giữa các biến trong bộ dữ liệu

Hình 2.13 : Vẽ biểu đồ nhiệt

Trang 25

14

Hình 2.14: Biểu đồ nhiệt thể hiện mối tương quan giữa các giá trị

Từ biểu đồ nhiệt trên ta thấy cột “booking status” có mối tương quan

âm mạnh nhất với cột “Lead time” Như vậy có thể thấy, khi “booking status” có xu hướng tăng thì cột “Lead time” sẽ có xu hướng giảm Chúng

sẽ có mối tương quan nghịch biến với nhau Ngoài ra, các cột “market segment type”, “average price” cũng giá mối tương quan nghịch biến với

“booking status” tuy nhiên sẽ không mạnh bằng “Lead time”

“Special requests” sẽ có mối tương quan dương mạnh nhất với

“Booking status” Do vậy khi “booking status” có xu hướng tăng thì

“special requests” cũng có xu hướng tăng theo Có thể nói rằng, chúng có mối tương quan đồng biến với nhau

Trang 26

CHƯƠNG 3: SỬ DỤNG THUẬT TOÁN DECISION TREE

ĐỂ DỰ ĐOÁN KHẢ NĂNG HỦY ĐẶT PHÒNG KHÁCH

Các tên gọi khác của khai phá dữ liệu:

▪ Khám phá tri thức trong các cơ sở dữ liệu

▪ Trích rút tri thức

▪ Phân tích mẫu/dữ liệu……

3.1.1.2 Các bước trong quá trình khai phá

Quá trình được thực hiện qua 9 bước:

▪ Tìm hiểu lĩnh vực của bài toán (ứng dụng): các mục đích của bài toán các tri thức cụ thể của lĩnh vực

▪ Thu thập một tập dữ liệu phù hợp

▪ Làm sạch và tiền xử lý dữ liệu

▪ Giảm kích thước của dữ liệu, chuyển đổi dữ liệu: xác định thuộc tính quan trọng, giảm số chiều (số thuộc tính), biểu diễn bất biến

▪ Lựa chọn chức năng khai phá dữ liệu: Phân loại, gom cụm, dự báo, sinh ra các luật kết hợp

Trang 27

16

▪ Lựa chọn, phát triển các giải thuật khai phá dữ liệu phù hợp

▪ Tiến hành khai phá dữ liệu

▪ Đánh giá mẫu thu được và biểu diễn tri thức: Hiển thị hóa, chuyển đổi, bỏ đi các mẫu dư thừa,

▪ Sử dụng tri thức được khai phá

Quá trình khám phá tri thức theo cách nhìn của giới nghiên cứu về các hệ thống dữ liệu và kho dữ liệu về quá trình khám phá tri thức

Hình 3.1: Quá trình khai phá tri thức

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)

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ô

Trang 28

Đá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

Triển khai (deployment)

Quá trình khai thác tri thức không chỉ là một quá trình tuần tự từ bước đầu tiên đến bước cuối cùng mà là một quá trình lặp và có quay trở lại các bước đã qua

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

Kinh tế ứng dụng trong kinh doanh, tài chính, tiếp thị bán hàng, - bảo hiểm, ngân hàng, đưa ra các bản báo cáo giàu thông tin; phân tích rủi

ro trước khi đưa ra các chiến lược kinh doanh, sản xuất; phân loại khách hàng từ đó phân định thị trường,

Khoa học: Thiên văn học dự đoán đường đi các thiên thể, hành - tinh, ; Công nghệ sinh học tìm ra các gen mới, cây con giống mới, -

Y tế: ứng dụng trong việc chẩn đoán tình trạng bệnh, biểu hiện bệnh,

Trang 29

❖ Quy trình thực hiện phân lớp dữ liệu

● Bước học (bước huấn luyện): Xây dựng mô hình

▪ Xác định tập dữ liệu huấn luyện gồm các mẫu đã được gán nhãn y

▪ Chạy một thuật toán phân lớp trên tập dữ liệu huấn luyện

▪ Mô hình được biểu diễn dưới dạng các luật phân lớp, các cây quyết định hoặc các công thức toán

Trang 30

● Bước phân loại: Sử dụng mô hình: để gán nhãn thích hợp cho các dữ liệu chưa được gán nhãn

▪ Ước lượng độ chính xác của mô hình:

▪ Xác định tập dữ liệu kiểm thử gồm các mẫu đã được gán nhãn

y (dữ liệu kiểm thử và dữ liệu huấn luyện phải khác nhau để tránh tình trạng quá khớp overfitting)

▪ Chạy mô hình với tập dữ liệu kiểm thử thu được nhãn y’

▪ So sánh y và y’ để xác định độ chính xác của mô hình

▪ Nếu mô hình chính xác, sử dụng nó để dự đoán nhãn cho các

dữ liệu cần gán nhãn

Hình 3.2: Quy trình thực hiện phân lớp dữ liệu

❖ Đánh giá thuật toán

Trong bài toán phân lớp, hiệu quả làm việc của bộ phân lớp được đánh giá thông qua các độ TP, TN, FP, FN với ý nghĩa cụ thể:

Trang 31

20

● TP: số bản ghi được phân lớp đúng vào lớp C (trường hợp đúng)

▪ Thực tế: bản ghi được chứa trong lớp C

▪ Kết quả sau phân lớp: bản ghi được chứa trong lớp C

● TN: số bản ghi không được phân lớp vào lớp C (trường hợp đúng)

▪ Thực tế: bản ghi không được chứa trong lớp C

▪ Kết quả sau phân lớp: bản ghi không thuộc lớp C

● FP: số bản ghi được phân lớp vào lớp C (trường hợp sai)

▪ Thực tế: bản ghi không được chứa trong lớp C

▪ Kết quả sau phân lớp: bản ghi thuộc lớp C

● FN: số bản ghi không được phân lớp vào lớp C (trường hợp sai)

▪ Thực tế: bản ghi được chứa trong lớp C

▪ Kết quả sau lớp: bản ghi không được chứa trong lớp C

Lớp C

Giá trị qua bộ phận lớp Thuộc lớp C Không thuộc lớp C

Giá trị thực

Thuộc lớp C TP FN Không thuộc lớp C FP TN Bảng 1: Bảng đánh giá thuật toán decision tree

Chỉ số Precision (độ chính xác):

Ngày đăng: 21/06/2024, 16:57

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

TÀI LIỆU LIÊN QUAN