我是一个巨大的足球迷,也对机器学习很感兴趣。作为我的ML课程的一个项目,我正在尝试建立一个模型,根据主队和客队的名称预测主队获胜的机会。(我查询我的数据集,并相应地根据以前的比赛创建数据点)两队之间)
我为所有球队提供了几个赛季的数据但是我有以下问题我想要一些建议...... EPL(英超联赛)有20个球队在主场和客场相互比赛(共有380场比赛)季节)。因此,每个赛季,任何两支球队只能互相比赛两次。
我有过去10年以上的数据,导致两队的2 * 10 = 20个数据点。但是我不想过去3年,因为我相信球队随着时间的推移会发生相当大的变化(ManCity,利物浦),这只会给系统带来更多错误。
因此,每对团队只有大约6-8个数据点。但是,对于每个数据点,我确实有几个功能(最多20+),如全时目标,半场目标,传球,投篮,黄牌,红色等,因此我可以包括近期形式,近期主页等功能形式,近期形式等。
然而,只有6-8个数据点进行训练的想法对我来说似乎不正确。关于如何解决这个问题的任何想法?(如果这首先是一个问题,即。)
谢谢!
编辑:FWIW,这是我在项目完成时编译的报告链接。 https://www.dropbox.com/s/ec4a66ytfkbsncz/report.pdf。这不是什么“好”的东西,但我认为我设法引发的一些观察结果非常酷(就像我的预测对于德甲一样非常好,因为拜仁一直赢得联赛)。
答案 0 :(得分:5)
这是一个有趣的问题,我认为它没有一个独特的解决方案。但是,如果我在你的位置,我可以尝试一些小事。
我分享你的每个课程约6-8分,因为数据太少而无法建立可靠的模型。所以我会尝试对问题进行一些不同的建模。为了获得每个班级的更多数据,而不是20个班级,我只有两个(家/远),我会添加两个功能,一个用于团队回家,另一个用于离开团队。在该设置中,您仍然可以预测哪个团队在主场或客场比赛时获胜,并且您的问题有更多数据可以产生结果。
另一个想法是从其他欧洲联赛中获取数据。由于现在团队是一个功能而不是一个类,它不应该给你的模型增加太多的噪音,你可以从额外的数据中受益(假设这些功能在另一个联赛中有效)
答案 1 :(得分:1)
不知道这是否仍然有用,但是全职目标,半场进球,传球,投篮,黄牌,红牌等功能都是您没有的新功能所需的功能分类。
我会将此视为分类问题(您希望将匹配分为3个类别之一:1,X或2)并添加更多可以应用于新匹配的功能。即:失踪球员的数量(由于受伤/红牌),每支球队在比赛前立即连续获胜/失利的数量,这是主队(已经提到过),进球得分最后几场比赛主场和客场等...
有6-8场比赛是真正的问题。这个数据集非常小,会有很多过度拟合,但如果你使用我提到的功能,我认为你也可以使用较旧的数据。
答案 2 :(得分:1)
我有一些类似的系统 - 源数据的良好基础是football-data.co.uk。 我已经在每个联赛中使用了最后N个赛季并建立了一个模型(相信我,超过3年是必须的!)。取决于您的标准功能 - 如果标准最适合或最大利润,您可以建立自己的预测模型。
一个非常好的事情是,每个联赛都是不同的,博彩公司在比利时的最爱比在第五届英格兰联赛中给予不同的主场胜利赔率,例如你可以找到真正的价值赔率。
除此之外,您可以使用您的模式编辑有趣的模型,例如betting tips以击败特定匹配的博彩公司并获得价值投注。或者你可以尝试追逐尽可能多的获胜技巧,但可能会获得更少的收入(即使获得的抽奖数量减少,抽奖也会赚很多钱)。
希望我能给你一些想法,让我们随时提问。