Xây Dựng Mô Hình Dự Đoán Kết Quả Trận Đấu Bóng Đá

Khóa luận tốt nghiệp công nghệ thông tin trình bày mô hình dự đoán kết quả thi đấu bóng đá, ứng dụng công nghệ và phân tích dữ liệu.

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2021

96
3
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: LÝ DO CHỌN ĐỀ TÀI

1.1. Đối tượng nghiên cứu

1.2. Phạm vi nghiên cứu

1.3. Cấu trúc khóa luận

2. CHƯƠNG 2: TỔNG QUAN

2.1. Giới thiệu ngành khoa học dữ liệu

2.2. Giới thiệu về phân tích dữ liệu khám phá (EDA)

2.3. Các mô hình dự đoán

2.3.1. Decision Tree

2.3.2. Random Forest

2.3.3. ADA Boost

2.3.4. Gradient Boost

2.3.5. Logistic Regression

2.3.6. Neural Network

2.4. Phương pháp kiểm chứng chéo (cross validation)

3. CHƯƠNG 3: XÂY DỰNG CÁC MÔ HÌNH DỰ ĐOÁN

3.1. Sơ lược về các bộ dữ liệu có sẵn

3.2. Tiền xử lí dữ liệu (Data Preprocessing)

3.3. Xử lí tính không nhất quán của dữ liệu (data inconsistency)

3.4. Xử lí dữ liệu bị mất (MISSING data)

3.5. Lựa chọn dữ liệu (data selection)

3.6. Thêm các thuộc tính

3.7. Dùng thư viện Openpyxl để tạo ra các thuộc tính từ bộ dữ liệu

3.8. Thêm thuộc tính về chênh lệch trong xếp hạng FIFA của 2 đội

3.9. Thêm các thuộc tính về tỉ lệ cược (bet odd) của nhà cái

3.10. Thêm các thuộc tính về thời tiết

3.11. Thực hiện EDA trên bộ dữ liệu cuối

3.12. Thực hiện thống kê mô tả với dữ liệu

3.13. Phân tích tính mất cân bằng của dữ liệu (Data Imbalance)

3.14. Phân tích sự tương quan của các thuộc tính (Features correlation)

3.15. Phân tích sự ảnh hưởng của các thuộc tính đến kết quả trận đấu

3.16. Phân tích sự phân bố của dữ liệu (Data distribution)

3.17. Lựa chọn thuộc tính (Features selection)

3.18. Phương pháp Wrapper - recursive feature elimination (RFE)

3.19. Các phương pháp EIT

3.20. Phương pháp Intrinsic

3.21. Phương pháp đánh giá p-Value

3.22. Danh sách các thuộc tính cuối cùng

3.23. Xây dựng các mô hình dự đoán (Prediction models)

4. CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ

4.1. Nền tảng thực nghiệm

4.2. Kết quả thực nghiệm

4.3. Đánh giá và lựa chọn mô hình

5. CHƯƠNG 5: MINH HỌA KẾT QUẢ DỰ ĐOÁN

5.1. Xây dựng dữ liệu cho trang Web

5.2. Xây dựng trang Web

5.3. Triển khai trang web lên máy chủ

6. CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

6.1. Kết quả đạt được

DANH MỤC HÌNH

DANH MỤC BẢNG

DANH MỤC TỪ VIẾT TẮT

Tóm tắt

I. Tổng quan về mô hình dự đoán kết quả trận đấu bóng đá

Mô hình dự đoán kết quả trận đấu bóng đá đang trở thành một công cụ quan trọng trong lĩnh vực thể thao. Với sự phát triển của công nghệ, việc áp dụng các thuật toán máy học để phân tích dữ liệu bóng đá đã mở ra nhiều cơ hội mới. Mô hình này không chỉ giúp người hâm mộ dự đoán kết quả mà còn hỗ trợ các huấn luyện viên trong việc điều chỉnh chiến lược thi đấu.

1.1. Khái niệm về mô hình dự đoán kết quả bóng đá

Mô hình dự đoán kết quả bóng đá sử dụng các thuật toán máy học để phân tích dữ liệu lịch sử và đưa ra dự đoán về kết quả của các trận đấu. Các yếu tố như phong độ đội bóng, lịch sử đối đầu và tỉ lệ cược của nhà cái đều được xem xét.

1.2. Tầm quan trọng của mô hình trong thể thao

Mô hình dự đoán không chỉ giúp người hâm mộ có những trải nghiệm thú vị mà còn cung cấp thông tin hữu ích cho các huấn luyện viên trong việc xây dựng chiến thuật thi đấu hiệu quả.

II. Những thách thức trong việc dự đoán kết quả trận đấu bóng đá

Dự đoán kết quả trận đấu bóng đá không phải là một nhiệm vụ dễ dàng. Nhiều yếu tố không thể đoán trước có thể ảnh hưởng đến kết quả, từ phong độ cầu thủ đến điều kiện thời tiết. Những thách thức này đòi hỏi các nhà nghiên cứu phải phát triển các phương pháp phân tích dữ liệu hiệu quả.

2.1. Các yếu tố ảnh hưởng đến kết quả trận đấu

Các yếu tố như phong độ cầu thủ, lịch sử đối đầu, và điều kiện thời tiết đều có thể tác động lớn đến kết quả trận đấu. Việc phân tích các yếu tố này là rất quan trọng trong việc xây dựng mô hình dự đoán.

2.2. Khó khăn trong việc thu thập dữ liệu

Việc thu thập dữ liệu chính xác và đầy đủ là một thách thức lớn. Dữ liệu không nhất quán hoặc thiếu sót có thể dẫn đến những dự đoán sai lệch.

III. Phương pháp xây dựng mô hình dự đoán kết quả bóng đá

Để xây dựng một mô hình dự đoán hiệu quả, cần áp dụng các phương pháp phân tích dữ liệu và máy học. Các mô hình như Decision Tree, Logistic Regression, và Neural Network thường được sử dụng để dự đoán kết quả trận đấu.

3.1. Sử dụng thuật toán Decision Tree

Decision Tree là một trong những thuật toán phổ biến trong việc dự đoán kết quả. Nó giúp phân loại dữ liệu dựa trên các thuộc tính đã chọn, từ đó đưa ra dự đoán chính xác.

3.2. Ứng dụng Logistic Regression

Logistic Regression là một phương pháp hiệu quả để phân loại dữ liệu. Nó sử dụng hàm logistic để dự đoán xác suất của các kết quả khác nhau trong trận đấu.

3.3. Khám phá Neural Network

Neural Network có khả năng xử lý các dữ liệu phức tạp và không tuyến tính, giúp cải thiện độ chính xác của dự đoán. Mô hình này có thể học từ dữ liệu và điều chỉnh theo thời gian.

IV. Ứng dụng thực tiễn của mô hình dự đoán kết quả bóng đá

Mô hình dự đoán kết quả bóng đá không chỉ có giá trị trong việc giải trí mà còn có thể được ứng dụng trong các lĩnh vực khác như quản lý đội bóng và phát triển chiến lược kinh doanh. Các huấn luyện viên có thể sử dụng thông tin từ mô hình để điều chỉnh chiến thuật thi đấu.

4.1. Hỗ trợ huấn luyện viên trong việc ra quyết định

Thông qua việc phân tích dữ liệu, huấn luyện viên có thể đưa ra các quyết định chiến thuật chính xác hơn, từ đó nâng cao hiệu suất thi đấu của đội bóng.

4.2. Tăng cường trải nghiệm của người hâm mộ

Người hâm mộ có thể tham gia vào các hoạt động dự đoán kết quả, tạo ra sự tương tác và hứng thú hơn với các trận đấu.

V. Kết luận và tương lai của mô hình dự đoán kết quả bóng đá

Mô hình dự đoán kết quả bóng đá đang ngày càng trở nên phổ biến và có tiềm năng phát triển mạnh mẽ trong tương lai. Với sự tiến bộ của công nghệ và dữ liệu, khả năng dự đoán chính xác sẽ ngày càng cao hơn.

5.1. Tương lai của mô hình dự đoán

Với sự phát triển của trí tuệ nhân tạo và máy học, mô hình dự đoán sẽ ngày càng chính xác và hiệu quả hơn, mở ra nhiều cơ hội mới trong lĩnh vực thể thao.

5.2. Khả năng ứng dụng trong các lĩnh vực khác

Mô hình dự đoán không chỉ giới hạn trong bóng đá mà còn có thể được áp dụng trong nhiều lĩnh vực khác như kinh doanh và y tế, giúp cải thiện quy trình ra quyết định.

10/07/2025
Khóa luận tốt nghiệp công nghệ thông tin xây dựng một mô hình dự đoán kết quả thi đấu bóng đá

Trích đoạn nội dung tài liệu

Mở đầu Trình bày về lý do chọn đề tài và mục đích của đề tài, đối tượng nghiên cứu và phạm vi dữ liệu. e Chương 2: Tổng quan Giới thiệu tong quan về lĩnh vực khoa hoc dữ liệu, các kĩ thuật phân tích thăm dò dữ liệu đồng thời giới thiệu các mô hình dự đoán và các kĩ thuật sẽ được sử dụng trong bài khóa luận. e Chương 3: Xây dựng các mô hình dự đoán Thu thập và xử lý dữ liệu đồng thời xây dựng và lựa chọn các thuộc tính (features) quan trọng. Sau đó xây dựng các mô hình dự đoán dựa trên các features đã được chọn.

Chương 4: Thực nghiệm và đánh giá Tiến hành kiêm chứng chéo sau đó đưa ra các đánh giá về độ chính xác của các mô hình. Cuối cùng, chọn ra mô hình có độ chính xác cao nhất để minh họa trên web. Chương 5: Minh họa kết quả Xây dựng một trang web tĩnh đơn giản bằng HTML,CSS, Javascript sau đó triển khai lên một máy chủ dé minh họa kết quả dự đoán các trận đấu kế tiếp. Chương 6: Kết luận và hướng phát triên Đưa ra kết luận và đánh giá kết quả đã đạt được của đề tài, hướng phát trién các nghiên cứu tiếp theo và khả năng ứng dụng trong thực tiễn.

TONG QUAN Tóm tắt chương Trong chương 2, chúng tôi sẽ giới thiệu tổng quan về lĩnh vực khoa học dữ liệu, các kĩ thuật phân tích thăm do và xử lí dit liệu đồng thời giới thiệu các mô hình dự đoản và các kĩ thuật sẽ được sử dụng trong bài khóa luận này. Giới thiệu ngành khoa học dữ liệu Khoa học dữ liệu [3] là ngành khoa học nghiên cứu về việc xây dựng và phân tích dữ liệu từ đó trích lọc tri thức từ đữ liệu và ứng dụng vào cuộc sống. Đây là ngành khoa học cần cả kiến thức về lập trình lẫn toán học và thống kê để giải quyết khối lượng đữ liệu và yêu cầu xử lý thông tin lớn. Đây cũng là một trong những ngành hap dẫn nhất trong thé ki 21.

Điều này cũng dễ hiểu bởi với sự phát triển của khoa học kĩ thuật, những vat dụng như tivi tủ lạnh hay thậm chí là đèn cũng đã trở nên “thông minh” và sản sinh ra nhiều dữ liệu. Di kèm với sự gia tăng của dé liệu là nhu cầu dé hiểu về chúng. Một công ty sản xuất cần biết về nhu cầu sắp tới của thị trường đề điều chỉnh chiến lược sản xuất. Một cửa hàng may mặc cần biết xu thế thời trang trong tương lai gần để kịp thời đáp ứng.

Một quốc gia cần thông tin về sức khỏe công dân dé lên các chính sách dân sinh phù hợp. Khoa học dữ liệu chính là lời giải cho những bài toán ấy. Giới thiệu về phân tích dữ liệu khám phá (EDA) Phân tích dữ liệu khám phá (Exploratory Data Analysis - EDA) [4] là một hướng tiếp cận của khoa học dit liệu. EDA cho ta cái nhìn tổng quát về dit liệu cũng như giúp ta hiểu được bản chat của nó.

Là bước đầu tiên trong dự án về khoa học dữ liệu, EDA sử dụng các kĩ thuật thống kê dé làm tiền dé cho việc phân tích. Mục dích của quá trình EDA là: - Kiểm tra các lỗi dữ liệu như missing data hay không nhất quán và các lỗi khác - _ Tìm ra thuộc tinh/bién/feature có ảnh hưởng lớn nhất - Hiểu được cấu trúc dữ liệu Tìm và phân tích các điểm dị biệt của dữ liệu Trong bài khóa luận này, chúng tôi chủ yếu dùng EDA để phân tích các bộ dữ liệu và xử lý các lỗi của dữ liệu như bị mắt hay không nhất quán. Đồng thời chúng tôi cũng chọn ra các thuộc tính có ảnh hưởng lớn nhất thông qua EDA. Các mô hình dự đoán Trong bài khóa luận này, chúng tôi sử dụng 6 mô hình phân loại (Classification models) dé dự đoán kết quả trận đấu.

Các mô hình này gồm có: 2. Decision Tree Decision Tree [5] su dụng một cây nhị phan dé dua ra két quả dự đoán dựa vào giá trị của các thuộc tính được lựa chọn. Có Đói Không? không Không ăn Hình 2. Ví du Decision Tree Xét ví dụ minh họa trên, Decision Tree này dự đoán việc một người có sắp đi ăn hay không.

Phần câu hỏi trong trong ô hình chữ nhật thường là một mệnh đề đúng sai hoặc một điều kiện về ngưỡng của 1 giá trị (ví dụ, “Cân nặng có >53. Decision tree có thê được dùng dé phan loai (classification) hay hổi quy (regression) dữ liệu. Node có câu hỏi ở trên cùng và không có câu hỏi nào dẫn tới nó gọi là rễ/gốc (root), những node không chỉ đến node nào gọi là lá (leaf), những node vừa chỉ tới node này nhưng lại được node khác chỉ gọi là cành (branch). Kết hợp với nhau, chúng tạo nên một cây mà chúng ta gọi là Decision Tree.

Để xác định thuộc tính nào nam ở vị trí nào người ta sử dụng một chi số gọi là Gini impurity. Tuy nhiên trong phạm vi của đề tài, chúng tôi xin không bàn luận sâu hơn. Random forest Random forest [5] sử dung một “rừng” với nhiêu “cây” với mỗi cây là một decision tree đê đưa ra kêt quả cuôi dựa vào kêt quả dự đoán của tat cả các cây. Tắt cả cây trong Random forest độc lập với nhau và bình đăng với nhau.

Ví dụ minh họa: Trong 1 mô hình Random forest 20 cây, 5 cây nói rằng một người A béo phì, 15 cây nói rằng người A không béo phì, kết quả cuối cùng mà Random forest đưa ra là người A không béo phì. ADA Boost ADA Boost [6] cũng sử dụng nhiều cây như Random forest nhưng mỗi cây trong ADA Boost chỉ gồm | root với 2 leaf và được gọi là gốc cây (stump). Mỗi stump được tạo ra phụ thuộc vào stump trước nó và giá tri (hay weight) của mỗi stump cũng khác nhau. Weight của mỗi stump được xác định dựa vào số dự đoán sai của stump đó (hay total error) với bộ dữ liệu dùng dé huấn luyện ( hay training data).

Tuy nhiên, trong phạm vi đề tài, chúng tôi xin không bàn luận và giải thích thêm. Gradient Boost Giống như ADA Boost, Gradient Boost [7] sử dụng nhiều cây dé dự đoán và mỗi cây được tạo ra sẽ ảnh hưởng đến cây sau nó. Tuy nhiên, cây trong Gradient Boost là cây day đủ và chỉ bị giới hạn số lá (thường từ 8-32) thay vì stump như ADA Boost. Tat cả cây trong Gradient Boost có weight giống nhau va được gọi là learning rate.

Tương tự như ADA Boost, các cây sé liên tục được tao ra cho đến khi đạt số lượng tối đa cho phép hoặc không cải thiện mô hình đáng kể. Tương tự như các phần trước, chúng tôi sẽ không bàn luận sâu hơn. Logistic Regression Logistic regression [8] ding một ham Logistic hình chữ “S” dé phân loại dỡ liệu (xem hình minh họa). Không béo phi Can nặng Hình 2.

Ví du Logistic regression Ví dụ ở Hình 2.2 minh họa mô hình Logistic regression dự đoán một người có béo phì không dựa vào cân nặng. Mỗi một chấm cam là một người với cân nặng và kết quả dự đoán tương ứng. Đường đứt nét là xác suất béo phì tương ứng với từng cham cam. Ta có thé thay cân nặng càng lớn thì kha năng béo phi càng cao, tuy nhiên vẫn có những người béo phì nhẹ hơn người không béo phì.

Việc điều chỉnh ham logistic (thay đôi hình dang chữ S) dé đưa ra kết quả chính xác hơn nằm ngoài phạm vi khóa luận này nên chúng tôi không bàn luận thêm. Neural network Các mô hình như Logistic regression va Linear regression có một kiểu hình dáng nhất định và không thể thay đổi nhiều. Xét ví dụ giả định về tương quan giữa lượng thuôc uông và mức độ hiệu quả trong điêu tri như hình sau: Cá (1) J CO) | Hiệu quả | 2. Ví du Neural Network Logistic regression (hình chữ S) va Linear regression (đường thang) không thé nao “fit” đữ liệu một cách hiệu qua.

Những van dé phức tap như thé này là thế mạnh của Neural Network [9]. Nhờ việc sử dụng mạng lưới các node và điều chỉnh qua backpropagation, Neural Network có thé thay đổi hình dang hàm một cách linh hoạt và fit dữ liệu một cách hiệu quả. Hiệu qua | Khéng (0) Hình 2. Ví dụ Neural network 2 Neural Network là một mô hình tương đối phức tạp và việc trình bày sâu hon năm ngoài phạm vi của bài khóa luận nên chúng tôi xin bỏ qua.

Phương pháp kiểm chứng chéo (cross validation) Kiểm chứng chéo (cross validation) [10] là phương thức kiểm tra tính chính xác của mô hình (model) dự đoán một cách khách quan nhất thông qua việc kiểm tra (test) lần lượt tất cả dữ liệu. Bình thường, ta chia dữ liệu thành 2 phần, huấn luyện (train) và kiểm tra (test). Các model sẽ “học” di liệu ở phần train và dự đoán kết quả của phần test. Sau đó ta sẽ dựa vào độ chính xác của kết quả dự đoán mà đánh giá model.

Tuy nhiên, làm sao biết được phần dữ liệu nào train, phần nào test là tốt nhất. Cross validation ra đời để giải quyết vấn đề trên. Cross validation chia dữ liệu thành các phần bằng nhau (hay fold). Thường là chia thành 10 phần.

Mỗi phần này sẽ lần lượt được sử dụng làm phần test cho các model (9 phần còn lại là train). Cuối cùng, tùy vào mục tiêu ban đầu, ta lấy kết quả của cách chia có tỉ lệ dự đoán đúng cao nhất hoặc độ chính xác trung bình dé đánh giá độ chính xác của model đó. Phương pháp T-test và các vấn đề liên quan Phương pháp kiểm định t (hay T-test) là một phương pháp dùng dé xác định xem giá trị trung bình của một quan thé (mean of the population) có khác biệt với một giá trị giả định khác (hypothesized mean) không. Ví dụ, để xác định thời gian từ khi sử dụng một loại thuốc đến khi hết bệnh có lâu hơn thời gian mong đợi là 20 ngày hay không thì người ta dùng phương pháp t-test dé cho ra giá trị t-value.

tf-value T-value hay t-statistic cho ta biết sự khác biệt của dit liệu có ý nghĩa thong kê không. T-value là tỉ lệ giữa “tín hiệu” so với “nhiễu” và được tính theo công thức: Hình 2. Công thức t-value Phan tử số của công thức là tỉ lệ “tín hiệu” với Z là trung bình của mẫu dữ liệu (hay trong ví dụ minh họa ở trên là thời gian hết bệnh trung bình) va po là giá trị trung bình giả thuyết (trong ví dụ là 20 ngày). Phan mẫu số là “độ nhiễu” với S là độ lệch chuẩn (hay standard deviation) dé biểu đạt mức độ dao động trong bộ dữ liệu.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ