足球是世界上最火爆的运动之一,世界杯期间也往往是球迷们最亢奋的时刻。比赛狂欢季除了炸出了熬夜看球的铁杆粉丝,也让足球竞猜也成了大家茶余饭后最热衷的话题。甚至连原来不怎么看足球的人,也是暗中努力恶补了很多足球相关知识,想通过赛事竞猜先赚一个小目标。今天我们将介绍如何用机器学习来预测足球比赛结果!
本 Chat 采用 Python 编程语言,使用 人工智能建模平台 Mo 作为在线开发环境进行编程,通过获取 2000 年到 2018 年共 19 年英超的比赛数据,然后基于监督学习中逻辑回归模型、支持向量机模型和 XGBoost 模型,对英超比赛结果进行预测。
下面我们一起来看看预测英超比赛结果的机器学习步骤:
基于上数据分析的AI足球大模型预测平台,感兴趣的可以下载。
足球预测专家推荐
链接:https://pan.baidu.com/s/13rkZcpLsti5tY4VslRt1vA?pwd=xnzp
提取码:xnzp
主要流程步骤
获取数据和读取数据的信息
数据清洗和预处理
特征工程
建立机器学习模型并进行预测
总结与展望
1. 获取数据和读取数据的信息
首先我们进入 Mo 工作台,创建一个空白项目,点击 开始开发 进入内嵌 JupyterLab 的 Notebook 开发环境。
接着我们需要在项目中上传数据集。
英超每年举办一个赛季,在每年的 8 月到第二年的 5 月进行,共有 20 支球队,实行主客场双循环赛制,每个赛季共 38 轮比赛(其中 19 场主场比赛,19 场客场比赛),每轮比赛共计 10 场比赛,所以每个赛季,英超共有 380 场比赛。
如果您已经在 MO 平台新建项目,可以在平台直接导入数据集,流程如下:
1.1 读取 csv 数据接口解释
读取 csv 数据一般采用 pandas.read_csv():
pandas.read_csv(filepath_or_buffer, sep =',' , delimiter = None)
filepath_or_buffer:文件路径
sep:指定分隔符,默认是逗号
delimiter:定界符,备选分隔符(如果指定改参数,则sep失效)
usecols: 指定读取的列名,列表形式
# 导入必须的包import warnings
warnings.filterwarnings('ignore') # 防止警告文件的包import pandas as pd # 数据分析包import osimport matplotlib.pyplot as plt # 可视化包import matplotlib
%matplotlib inlineimport seaborn as sns # 可视化包from time import timefrom sklearn.preprocessing import scale # 标准化操作from sklearn.model_selection import train_test_split # 将数据集分成测试集和训练集from sklearn.metrics import f1_score # F1得分import xgboost as xgb # XGBoost模型from sklearn.svm import SVC ## 支持向量机分类模型from sklearn.linear_model import LogisticRegression # 逻辑回归模型from sklearn.model_selection import GridSearchCV # 超参数调参模块from sklearn.metrics import make_scorer # 模型评估import joblib # 模型的保存与加载模块
下面开始我们的表演:
# 获取地址中的所有文件loc = './/football//' # 存放数据的路径res_name = [] # 存放数据名的列表filecsv_list = [] # 获取数据名后存放的列表def file_name(file_name): # root:当前目录路径 dirs:当前目录下所有子目录 files:当前路径下所有非目录文件
for root,dirs,files in os.walk(file_name):
files.sort() # 排序,让列表里面的元素有顺序
for i,file in enumerate(files): if os.path.splitext(file)[1] == '.csv':
filecsv_list.append(file)
res_name.append('raw_data_'+str(i+1)) print(res_name) print(filecsv_list)
file_name(loc)
['raw_data_1', 'raw_data_2', 'raw_data_3', 'raw_data_4', 'raw_data_5', 'raw_data_6', 'raw_data_7', 'raw_data_8', 'raw_data_9', 'raw_data_10', 'raw_data_11', 'raw_data_12', 'raw_data_13', 'raw_data_14', 'raw_data_15', 'raw_data_16', 'raw_data_17', 'raw_data_18', 'raw_data_19']
[‘2000-01.csv’, ‘2001-02.csv’, ‘2002-03.csv’, ‘2003-04.csv’, ‘2004-05.csv’, ‘2005-06.csv’, ‘2006-07.csv’, ‘2007-08.csv’, ‘2008-09.csv’, ‘2009-10.csv’, ‘2010-11.csv’, ‘2011-12.csv’, ‘2012-13.csv’, ‘2013-14.csv’, ‘2014-15.csv’, ‘2015-16.csv’, ‘2016-17.csv’, ‘2017-18.csv’, ‘2018-19.csv’]
基于上数据分析的AI足球大模型预测平台,感兴趣的可以下载。
足球预测专家推荐
链接:https://pan.baidu.com/s/13rkZcpLsti5tY4VslRt1vA?pwd=xnzp
提取码:xnzp