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

Đề ti sử dụng thuật toán rừng ngẫu nhiên (randome forest) dự Đoán kết quả trận bóng Đá

28 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 đề Sử Dụng Thuật Toán Rừng Ngẫu Nhiên (Random Forest) Dự Đoán Kết Quả Trận Bóng Đá
Tác giả Nguyễn Thị Phương Mai, Nguyễn Trung Nguyên
Người hướng dẫn Nguyễn Thị Thanh Tân
Trường học Trường Đại Học Điện Lực
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo Cáo Chuyên Đề
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 28
Dung lượng 3,74 MB

Nội dung

TRƯỜNG ĐẠI HỌC ĐIỆN LỰCKHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN KHAI PHÁ DỮ LIỆU ĐỀ TI: SỬ DỤNG THUẬT TOÁN RỪNG NGẪU NHIÊN RANDOME FOREST DỰ ĐOÁN KẾT QUẢ TRẬN BÓNG ĐÁ Sinh vi

Trang 1

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN KHAI PHÁ DỮ LIỆU

ĐỀ TI: SỬ DỤNG THUẬT TOÁN RỪNG NGẪU NHIÊN (RANDOME FOREST) DỰ ĐOÁN KẾT QUẢ TRẬN BÓNG ĐÁ

Sinh viên thực hiện : NGUYỄN THỊ PHƯƠNG MAI

: NGUYỄN TRUNG NGUYÊN Giảng viên hướng dẫn : NGUYỄN THỊ THANH TÂN

Hà Nội, tháng 05 năm 2023

Trang 2

PHIẾU CHẤM ĐIỂM

Sinh viên thực hiện:

STT Họ và tên sinh viên Nội dung thực hiện Điểm Chữ ký

1 Nguyễn Thị Phương

Mai

Nghiên cứu tập dữ liệu,cải thiện độ chính xáccho mô hình dự đoán

2 Nguyễn Trung

Nguyên

Nghiên cứu tập dữ liệu,xây dựng mô hình dựđoán

Giảng viên chấm:

Giảng viên chấm 1 :

Giảng viên chấm 2 :

Trang 3

MỤC LỤC

DANH MỤC HÌNH ẢNH 0

LỜI NÓI ĐẦU 1

CHƯƠNG 1: TỔNG QUAN 2

1.1 Giới thiệu về khai phá dữ liệu 2

1.1.1 Diễn giải về khai phá dữ liệu 2

1.1.2 Các phương thức khai phá dữ liệu 3

1.1.3 Một số tính năng nổi bật của Data mining 3

1.1.4 Các công cụ khai phá dữ liệu 4

1.1.5 Quy trình khai phá dữ liệu 5

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

1.2 Tiền xử lý 6

1.3 Giới thiệu bài toán 6

.CHƯƠNG 2: THUẬT TOÁN RANDOM FOREST TRONG BÀI TOÁN PHÂN LỚP 6

2.1 Giới thiệu về thuật toán Random Forest 7

2.2 Nguyên lý hoạt động 8

2.3 Xây dựng thuật toán Random Forest 9

2.4 Ưu/Nhược điểm của thuật toán Random Forest 11

CHƯƠNG 3: ỨNG DỤNG THUẬT TOÁN RANDOM FOREST ĐỂ DỰ ĐOÁN KẾT QUẢ TRẬN BÓNG ĐÁ 12

3.1 Phát biểu bài toán 12

3.2 Mô tả dữ liệu 12

3.2.1 Tập dữ liệu Matches Dataset 12

3.2.2 Mô tả thông tin trong tập dữ liệu Matches Dataset 13

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

3.4 Huấn luyện và tìm ra các siêu tham số mô hình Random Forest 18

Trang 4

3.4.1 Siêu tham số cho mô hình Random Forest 18

3.4.2 Huấn luyện và tìm siêu tham số của mô hình KNN với Python 19

3.4.3 Cải thiện độ chính xác cho mô hình 20

3.5 Dự đoán và đưa ra kết quả thực nghiệm 21

KẾT LUẬN 22

TÀI LIỆU THAM KHẢO 23

Trang 5

DANH MỤC HÌNH ẢNH

Hình 1 1 Giới thiệu về Data mining (khai phá dữ liệu) 2

Hình 1 2 Quy trình khai phá dữ liệu 5

Hình 2 1 Mô tả xây dựng các cây (Decision Tree) cho việc dự đoán 7

Hình 2 2 Mô tả các cây sau khi dự đoán 8

Hình 2 3 Nguyên lý hoạt động thuật toán Random Forest 9

Hình 2 4 Ví dụ Bootstrapping dữ liệu 10

Hình 3 1 Preview dữ liệu dạng thô 12

Hình 3 2 Tập dữ liệu trong bộ dữ liệu Matches Dataset 13

Hình 3 3 Thông tin dữ liệu Matches Dataset 13

Hình 3 4 Thông tin số lượng trận thi đấu của mỗi team trong Matches Dataset14 Hình 3 5 Đếm số lượng trận thi đấu mỗi tuần trong Matches Dataset 15

Hình 3 6 Đếm số lượng trận thi đấu trong Matches Datase 16

Hình 3 7 Tiền xử lý dữ liệu 17

Hình 3 8 Tiền xử lý dữ liệu (tiếp) 18

Hình 3 9 Code tìm ra tham số phù hợp nhất cho mô hình 19

Hình 3 10 Áp dụng các tham số vào mô hình dự đoán 20

Hình 3 11 Code tính thông số trun bình 3 trận đấu gần nhất 21

Hình 3 12 Code kết hợp các tham số mới vào mô hình ban đầu 21

Hình 3 13 Kết quả dự đoán các trận đấu gần nhất sắp diễn ra 21

Trang 6

LỜI NÓI ĐẦUPhân tích dự có thể hỗ trợ các con người quản lý rủi ro cũng như lập kếhoạch và tối ưu hóa mọi hoạt động của họ Nó không chỉ giúp dự đoán cácvần để trong tương lai mà còn có thể hỗ trợ rất nhiều trong việc gán nhãn bịmất hoặc phân loại đầu ra dựa trên một tập đầu vào có sẵn Chính vì vậy trongkhuôn khổ môn học Khai Phá Dữ Liệu do giảng viên Nguyễn Thị Thanh Tânhướng dẫn, nhóm chung em quyết định chọn đề tài “Sử dụng thuật toán rừngngẫu nhiên (randome forest) dự đoán kết quả trận bóng đá” trong báo cáo cuốimôn

Mục đích của việc nghiên cứu này là để tìm hiểu và vận dụng nhữngkiến thức đã học vào những vấn để thực tế Do khuôn khổ môn học có hạnnên chúng em chưa thể thực hiện nghiên cứu một cách kĩ càng nhất nên cònnhiều thiếu sót Nhóm em rất mong nhận được ý kiến phản hồi từ thầy cô

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

6

Trang 7

CHƯƠNG 1: TỔNG QUAN1.1 Giới thiệu về khai phá dữ liệu

Khai phá dữ liệu (data mining): Là quá trình tính toán để tìm ra cácmẫu trong các bộ dữ liệu lớn liên quan đến các phương pháp tại giao điểm củamáy học, thống kê và các hệ thống cơ sở dữ liệu Đây là một lĩnh vực liênngành của khoa học máy tính… Mục tiêu tổng thể của quá trình khai thác dữliệu là trích xuất thông tin từ một bộ dữ liệu và chuyển nó thành một cấu trúc

dễ hiểu để sử dụng tiếp Ngoài bước phân tích thô, nó còn liên quan tới cơ sở

dữ liệu và các khía cạnh quản lý dữ liệu, xử lý dữ liệu trước, suy xét mô hình

và suy luận thống kê, các thước đo thú vị, các cân nhắc phức tạp, xuất kết quả

về các cấu trúc được phát hiện, hiện hình hóa và cập nhật trực tuyến Khaithác dữ liệu là bước phân tích của quá trình "khám phá kiến thức trong cơ sở

dữ liệu" hoặc KDD

Hình 1 1 Giới thiệu về Data mining (khai phá dữ liệu)

1.1.1 Diễn giải về khai phá 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:

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

7

Trang 8

- 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ô.

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

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ácbước đã qua

1.1.2 Các phương thức khai phá dữ liệu

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

- Hồi qui (Regression): Khám phá chức năng học dự đoán, ánh xạ mộtmục dữ liệu thành biến dự đoán giá trị thực

- Phân nhóm (Clustering): Một nhiệm vụ mô tả phổ biến trong đó người

ta tìm cách xác định một tập hợp hữu hạn các cụm để mô tả dữ liệu

- Tổng hợp (Summarization): Một nhiệm vụ mô tả bổ sung liên quan đếnphương pháp cho việc tìm kiếm một mô tả nhỏ gọn cho một bộ (hoặctập hợp con) của dữ liệu

- Mô hình ràng buộc (Dependency modeling): Tìm mô hình cục bộ mô tảcác phụ thuộc đáng kể giữa các biến hoặc giữa các giá trị của một tínhnăng trong tập dữ liệu hoặc trong một phần của tập dữ liệu

- Dò tìm biến đổi và độ lệch (Change and Deviation Dectection): Khámphá những thay đổi quan trọng nhất trong bộ dữ liệu

1.1.3 Một số tính năng nổi bật của Data mining

Đưa ra các mẫu dự đoán theo xu hướng trong dữ liệu

- Tính toán kết quả đã phân tích

- Tạo thông tin phản hồi để phân tích

- Tập trung phân tích các dữ liệu lớn

- Phân chia cụm dữ liệu một cách trực quan

8

Trang 9

1.1.4 Các công cụ khai phá dữ liệu

RapidMiner: Công cụ đầu tiên phải kể tới đó là RapidMiner Đây làcông cụ khai phá dữ liệu khá phổ biến hiện nay Được viết trên nền tảngJAVA nhưng không yêu cầu mã hóa để vận hành Ngoài ra, nó còn cung cấpcác chức năng khai thác dữ liệu khác nhau như tiền xử lý dữ liệu, biểu diễn dữliệu, lọc, phân cụm

Weka: Công cụ được cho ra đời tại Đại học Wichita là một phần mềmkhai thác dữ liệu mã nguồn mở Tương tự như RapidMiner, công cụ nàykhông yêu cầu mã hóa và sử dụng GUI đơn giản

Sử dụng Weka, người dùng có thể gọi trực tiếp các thuật toán học máyhoặc nhập chúng bằng mã Java Weka được trang bị đa dạng chức năng nhưtrực quan hóa, tiền xử lý, phân loại, phân cụm

Knime: Với khả năng hoạt động vô cùng mạnh mẽ tích hợp nhiều thànhphần khác nhau của học máy và khai phá dữ liệu để cung cấp một nền tảng.KNime hỗ trợ người dùng rất nhiều trong việc xử lý và phân tích dữ liệu, tríchxuất, chuyển đổi và tải dữ liệu

Apache Mahout: Từ nền tảng Big Data Hadoop, người ta đã cho cho rađời thêm Apache Mahout với mục đích giải quyết nhu cầu ngày càng tăng vềkhai phá dữ liệu và hoạt động phân tích trong Hadoop Nó được trang bịnhiều chức năng học máy khác nhau như phân loại, hồi quy, phân cụm Oracle Data Mining: Khi sử dụng Oracle Data Mining nó cho phépngười dùng thực hiện khai phá dữ liệu trên cơ sở dữ liệu SQL để trích xuấtcác khung hình và biểu đồ Các phân tích sẽ hiển thị một cách trực quan giúpngười dùng dễ dàng đưa ra dự đoán cho kế hoạch tương lai

TeraData: TeraData cung cấp dịch vụ kho chứa các công cụ khai phá

dữ liệu Nhờ khả năng thông minh được trang bị, công cụ có thể dựa trên tầnsuất sử dụng dữ liệu của người dùng và thực hiện việc cho phép truy cậpnhanh hay chậm

Với một dữ liệu bạn thường xuyên cần sử dụng, TeraData sẽ cho phéptruy cập nhanh hơn là một dữ liệu ít được sử dụng Đối với dữ liệu, nhập kho

là một yêu cầu cần thiết

Orange: Công cụ được lập trình bằng Python với giao diện trực quan vàtương tác dễ dàng Phần mềm Orange được biết đến bởi việc tích hợp cáccông cụ khai phá dữ liệu và học máy thông minh, đơn giản

9

Trang 10

1.1.5 Quy trình khai phá dữ liệu

Bước 1: Làm sạch dữ liệu – Trong bước này, dữ liệu được làm sạch saocho không có tạp âm hay bất thường trong dữ liệu

Bước 2: Tích hợp dữ liệu – Trong quá trình tích hợp dữ liệu, nhiềunguồn dữ liệu sẽ kết hợp lại thành một

Bước 3: Lựa chọn dữ liệu – Trong bước này, dữ liệu được trích xuất từ

Hình 1 2 Quy trình khai phá dữ liệu

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

- Trong kinh doanh (business)

- Trong tài chính (finance) và tiếp thị bán hàng (sales marketing)

- Trong thương mại (commerce) và ngân hàng (bank)

- Trong bảo hiểm (insurance)

10

Trang 11

- Trong khoa học (science) và y sinh học (biomedicine)

- Trong điều khiển (control) và viễn thông (telecommunication)

1.2 Tiền xử lý

Trong qui trình khai phá dữ liệu, công việc xử lý dữ liệu trước khi đưavào các mô hình là rất cần thiết, bước này làm cho dữ liệu có được ban đầuqua thu thập dữ liệu (gọi là dữ liệu gốc original data) có thể áp dụng được(thích hợp) với các mô hình khai phá dữ liệu (data mining model) cụ thể Cáccông việc cụ thể của tiền xử lý dữ liệu bao gồm những công việc như:

- Filtering Attributes: Chọn các thuộc tính phù hợp với mô hình

- Filtering samples: Lọc các mẫu (instances, patterns) dữ liệu cho môhình

- Clean data: Làm sạch dữ liệu như xóa bỏ các dữ liệu bất thường

- Transformation: Chuyển đổi dữ liệu cho phù hợp với các mô hình nhưchuyển đổi dữ liệu từ numeric qua nomial hay ordinal

- Discretization (rời rạc hóa dữ liệu): Nếu bạn có dữ liệu liên tục nhưngmột vài mô hình chỉ áp dụng cho các dữ liệu rời rạc (như luật kết hợpchẳn hạn) thì bạn phải thực hiện việc rời rạc hóa dữ liệu

1.3 Giới thiệu bài toán

- Bài toán:“ Sử dụng thuật toán rừng ngẫu nhiên (randome forest) dự đoán kết quả trận bóng đá ”

- Dữ liệu của bài toán: “ Matches.csv ” đây là tập dữ liệu về các trận đấutrong giải Premier League

- Bóng đá là môn thể thao được yêu thích trên khắp thế giới, và việc dựđoán kết quả trận đấu đã trở thành một chủ đề rất hấp dẫn trong cộngđồng yêu thể thao Để có thể dự đoán kết quả trận đấu một cách chínhxác, các nhà nghiên cứu và chuyên gia đã sử dụng nhiều phương pháp

và kỹ thuật khác nhau, trong đó thuật toán rừng ngẫu nhiên (randomforest) được xem là một trong những phương pháp rất hiệu quả

11

Trang 12

- CHƯƠNG 2: THUẬT TOÁN RANDOM FOREST TRONG BÀI TOÁN PHÂN LỚP

2.1 Giới thiệu về thuật toán Random Forest

Random là ngẫu nhiên, Forest là rừng, nên ở thuật toán Random Forest sẽ xâydựng nhiều cây quyết định bằng thuật toán Decision Tree, tuy nhiên mỗi câyquyết định sẽ khác nhau (có yếu tố random) Sau đó kết quả dự đoán đượctổng hợp từ các cây quyết định

Ở bước huấn luyện thì sẽ xây dựng nhiều cây quyết định, các cây quyết định

có thể khác nhau

Hình 2 1 Mô tả xây dựng các cây (Decision Tree) cho việc dự đoán

Sau đó ở bước dự đoán, với một dữ liệu mới, thì ở mỗi cây quyết định sẽ đi từtrên xuống theo các node điều kiện để được các dự đoán, sau đó kết quả cuốicùng được tổng hợp từ kết quả của các cây quyết định

12

Trang 13

Hình 2 2 Mô tả các cây sau khi dự đoán

Ví dụ như trên, thuật toán Random Forest có 6 cây quyết định, 5 cây dự đoán

1 và 1 cây dự đoán 0, do đó sẽ vote là cho ra dự đoán cuối cùng là 1

2.2 Nguyên lý hoạt động

Thuật toán hoạt động theo bốn bước:

1 Chọn các mẫu ngẫu nhiên từ tập dữ liệu đã cho

2 Thiết lập cây quyết định cho từng mẫu và nhận kết quả dự đoán từ mỗiquyết định cây

3 Hãy bỏ phiếu cho mỗi kết quả dự đoán

4 Chọn kết quả được dự đoán nhiều nhất là dự đoán cuối cùng

13

Trang 14

Hình 2 3 Nguyên lý hoạt động thuật toán Random Forest

2.3 Xây dựng thuật toán Random Forest

Giả sử bộ dữ liệu của có n dữ liệu (sample) và mỗi dữ liệu có d thuộc tính(feature)

Để xây dựng mỗi cây quyết định sẽ làm như sau:

1 Lấy ngẫu nhiên n dữ liệu từ bộ dữ liệu với kĩ thuật Bootstrapping, haycòn gọi là random sampling with replacement Tức khi sample được 1

dữ liệu thì không bỏ dữ liệu đấy ra mà vẫn giữ lại trong tập dữ liệu banđầu, rồi tiếp tục sample cho tới khi sample đủ n dữ liệu Khi dùng kĩthuật này thì tập n dữ liệu mới có thể có những dữ liệu bị trùng nhau

14

Trang 15

Thuật toán Random Forest sẽ bao gồm nhiều cây quyết định, mỗi cây đượcxây dựng dùng thuật toán Decision Tree trên tập dữ liệu khác nhau và dùngtập thuộc tính khác nhau Sau đó kết quả dự đoán của thuật toán RandomForest sẽ được tổng hợp từ các cây quyết định.

Khi dùng thuật toán Random Forest, cần để ý các thuộc tính như: số lượngcây quyết định sẽ xây dựng, số lượng thuộc tính dùng để xây dựng cây Ngoài

ra, vẫn có các thuộc tính của thuật toán Decision Tree để xây dựng cây như

độ sâu tối đa, số phần tử tối thiểu trong 1 node để có thể tách

15

Trang 16

2.4 Ưu/Nhược điểm của thuật toán Random Forest

Khả năng xử lý các giá trị thiếu: Random Forest có khả năng xử lý các giá trịthiếu trong dữ liệu một cách hiệu quả

Trang 17

CHƯƠNG 3: ỨNG DỤNG THUẬT TOÁN RANDOM FOREST ĐỂ DỰ ĐOÁN KẾT QUẢ TRẬN BÓNG ĐÁ3.1 Phát biểu bài toán

Bóng đá là môn thể thao được yêu thích và theo dõi rộng rãi trên toànthế giới Việc dự đoán kết quả của các trận đấu bóng đá luôn là một chủ đềthú vị và được quan tâm Để giải quyết vấn đề này, các nhà khoa học và kỹ sư

đã sử dụng các phương pháp và thuật toán khác nhau để xử lý và dự đoán kếtquả bóng đá

Trong báo cáo này, chúng em tập trung vào việc sử dụng thuật toánphân lớp để dự đoán kết quả bóng đá Phân lớp là một loại bài toán trong lĩnhvực trí tuệ nhân tạo và máy học, nói chung và bao gồm việc phân loại các đốitượng vào các lớp khác nhau dựa trên các đặc trưng của chúng Dữ liệu được

sử dụng trong bài lấy từ trang: https://fbref.com/

Hình 3 1 Preview dữ liệu dạng thô

17

Trang 18

3.2 Mô tả dữ liệu

3.2.1 Tập dữ liệu Matches Dataset

Bộ dữ liệu được thu thập trong trang https://fbref.com dựa trên giải đấuPremier League 2022-2023 Bộ dữ liệu gồm 1402 mẫu dữ liệu gồm 27 đặc trưng:

Hình 3 2 Tập dữ liệu trong bộ dữ liệu Matches Dataset

Thu thập các dữ liệu về trận đấu, bao gồm thông tin về đội bóng, cầu thủ, thống kê trận đấu trước đó và vị trí trên bảng xếp hạng

Xử lý và chọn lọc dữ liệu để phù hợp với mô hình Random Forest

Chia dữ liệu thành 2 phần: tập huấn luyện và tập kiểm tra

+ Tập huấn luyện là các trân đấu trước năm 2023

+ Tập kiểm tra là các trận đấu trong năm 2023

3.2.2 Mô tả thông tin trong tập dữ liệu Matches Dataset

Sử dụng tập huấn luyện để xây dựng mô hình Random Forest

18

Ngày đăng: 22/01/2025, 14:56

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

TÀI LIỆU LIÊN QUAN