利用大数据分析预测MLB胜负(中)

在上一篇文章中,我们介绍作者如何分析MLB赛事,并找出影响比赛胜负较为重要的因子,而今天我们就来看看作者究竟是选择了哪些模型进行训练以及预测,并最终做出能够预测MLB胜负高达61.77%准确度的模型吧!!

模型的建构与选择

1.数据的分割

在机器学习中,我们通常需要将数据集分成三个部分,分别是

A.训练集 : 模型学习所用

B.验证集 : 模型调整参数所用

C.测试集 :模型最终测试结果所用

由於训练集跟验证集都是被模型所学习过的资料,因此我们须要特别分出一个测试集,以当作模型没看过的数据,让模型预测看看实战的结果如何

2.模型训练评估

在数据进行一系列的前处理以及分割後,我们接下来就是要让模型进行数据的训练,但究竟要选择哪个模型比较好呢?答案是「无从考据」,我们只能尽可能拿取大量的模型进行训练,因此作者在此利用了8个模型对MLB的数据进行训练,该8个模型分别如下:

Lasso (L1) penalty regularization(L1正规化)
Ridge (L2) penalty regularization(L2正规化)
Elastic net (L1+L2) penalty regularization(弹性网路正规化)
K-Nearest Neighbors classifier(KNN)
Decision tree classifier(决策树)
Random forest ensemble(随机森林)
XGBoost classifier
Stochastic gradient descent classifier(随机梯度下降)
而作者是利用「ROC中的AUC面积」及「brier分数」等评估方法来衡量究竟要选择哪个模型当作最终的预测模型

想看更详细的请到下面连结/images/emoticon/emoticon08.gif

原文出处:Guess365


<<:  Solidity实现投票功能

>>:  利用大数据分析预测MLB胜负(下)

程序语言、Ruby、Rails

新手入门笔记 我为素人,以分享角度提供个人心得笔记等,主要在帮自己做笔记。 内容有误或英文打错,非常...

突如其来的 Vimeo 方案改变

2021 年的八月,忽然收到了来自 Vimeo 的方案调整信件,当时因为 Vimeo 太常寄信了,所...

Day 14 - 寻访其他组件

在开发Vue时,官方建议使用属性及事件对其他元件做处理,不过凡事总有例外的嘛~ 还是会有一些情境中会...

全端入门Day24_後端程序撰写之多一点点的Node.js

昨天介绍了一些名词,今天继续提Node.js Node.js一点入门 今天直接贴上程序码,再去做解释...

硬碟上的资料是否有重量?

我的学生前些日子突然脑洞爆发,问我:“存满资料的硬碟是不是比空硬碟重?资料是否有重量?” 我也查了大...