有趣的问题,我不是专家,但我认为你需要做以下其中一项
训练集的形状必须与测试集的形状相同,因此使用SelectKBest对其进行变换。
您所拥有的功能似乎不适用于您要预测的问题。 (足球比赛结果)
这就是所谓的数据泄漏,即从未来到过去的信息泄漏。
以下功能不适用于尚未播出的匹配项:
FTHG = Full Time Home Team Goals FTAG = Full Time Away Team Goals FTR = Full Time Result HTHG = Half Time Home Team Goals HTAG = Half Time Away Team Goals HS = Home Team Shots AS = Away Team Shots HST = Home Team Shots on Target AST = Away Team Shots on Target HF = Home Team Fouls Committed AF = Away Team Fouls Committed
使用它们训练模型将产生不切实际的良好预测。这是因为该模型基本上将学习当FTHG> FTAG然后结果是主场胜利。
问题是只有在事件结束后才知道全职主场目标,因此你没有预测能力。
您需要重新设计功能,以便仅在实际启动之前使用可用于事件的信息。
我已经开发了免费提供的足球预测API,并且必须仔细选择功能以避免数据泄漏。
例如,一些好的功能将是:
在实际事件之前可以知道这些特征。