0

    1.3 用 Pandas.read_csv() 接口读取数据

    2024.03.06 | admin | 49次围观

      足球是世界上最火爆的运动之一,如何运用机器学习来预测足球比赛结果,是每一个足球爱好者所向往的!

      本场 Chat 适合有 Python 基础的机器学习初学者,我们带你一起熟悉机器学习的开发流程,帮你快速建立起自己的英超比赛预测模型!

      你将获取到如下内容:

    人工智能在线建模平台介绍;

    熟悉机器学习开发流程;

    熟悉 Python 数据挖掘库 NumPy、Pandas、Scikit-Learn 等开发库的基本使用;

    熟悉常见分类算法(逻辑回归、SVM 和 XGBoost)及其评价指标;

    部署完成一个属于自己的预测模型。

      足球是世界上最火爆的运动之一,世界杯期间也往往是球迷们最亢奋的时刻。比赛狂欢季除了炸出了熬夜看球的铁杆粉丝,也让足球竞猜也成了大家茶余饭后最热衷的话题。甚至连原来不怎么看足球的人,也是暗中努力恶补了很多足球相关知识,想通过赛事竞猜先赚一个小目标。今天我们将介绍如何用机器学习来预测足球比赛结果!

      本 Chat 采用 Python 编程语言,使用 人工智能建模平台 Mo 作为在线开发环境进行编程,通过获取 2000 年到 2018 年共 19 年英超的比赛数据,然后基于监督学习中逻辑回归模型、支持向量机模型和 XGBoost 模型,对英超比赛结果进行预测。

      下面我们一起来看看预测英超比赛结果的机器学习步骤:

    主要流程步骤

    获取数据和读取数据的信息

    数据清洗和预处理

    特征工程

    建立机器学习模型并进行预测

    总结与展望

    1. 获取数据和读取数据的信息

      首先我们进入 Mo 工作台,创建一个空白项目,点击 开始开发 ,进入内嵌 JupyterLab 的 Notebook 开发环境。

      

      

      接着我们需要在项目中上传数据集。

      英超每年举办一个赛季,在每年的 8 月到第二年的 5 月进行,共有 20 支球队,实行主客场双循环赛制,每个赛季共 38 轮比赛(其中 19 场主场比赛,19 场客场比赛),每轮比赛共计 10 场比赛,所以每个赛季,英超共有 380 场比赛。

      数据集地址

      数据集中特征说明文档

      如果您已经在 MO 平台新建项目,可以在平台直接导入数据集,流程如下:

      

    1.1 读取 csv 数据接口解释

    采用 Pandas 读取、写入数据 API 汇总网址读取 csv 数据一般采用 pandas.readcsv():pandas.readcsv(filepathorbuffer, sep =',' , delimiter = None)

    filepathorbuffer:文件路径

    sep:指定分隔符,默认是逗号

    delimiter:定界符,备选分隔符(如果指定改参数,则sep失效)

    usecols: 指定读取的列名,列表形式

      下面开始我们的表演:

      1.2 时间列表

      获取每一年的数据后,将每一年的年份放入到 time_list 列表中:

      ['2000','2001','2002','2003','2004','2005','2006','2007','2008','2009','2010','2011','2012','2013','2014','2015','2016','2017','2018']

    1.3 用 Pandas.read_csv() 接口读取数据

      读取时将数据与 res_name 中的元素名一一对应。

      1.4 删除特定文件的空值

      经过查看第 15 个文件读取的第 381 行为空值,故采取删除行空值操作。

    1.4.1 删除空值的接口

    Pandas.dropna(axis=0,how='any')

    axis: 0 表示是行;1表示是列

    how:'all'表示只去掉所有值均缺失的行、列;any表示只去掉有缺失值的行、列

    1.4.2 接口运用

      5 rows × 68 columns

    1.5 删除行数不是 380 的文件名

      考虑到英超一般是 19 个球队,每个球队需要打 20 场球,故把行数不是 380 的数据删除掉,并找到器原 CSV 文件一一对应。

      1.6 查看某一个数据集前n行数据

    文件名.head(n)n:默认是5,想获取多少行数据就填写数字值。

      读取数据前五行操作:

      5 rows × 45 columns

      读取数据前10行:

    1.3 用 Pandas.read_csv() 接口读取数据
    版权声明

    本文仅代表作者观点,不代表xx立场。
    本文系作者授权xxx发表,未经许可,不得转载。

    发表评论