我正在尝试根据历史数据集预测比赛获胜者,如下所示,
该数据集包括 IPL 赛季,Team_Name_id vs Opponent Team 是 IPL 中的球队名称。我已将匹配 id 设置为 Row id 并创建了模型。运行实时测试时,结果不如预期(如下所示)
目标设置为 Match_winner_id。我是否缺少任何配置?请帮忙
我正在尝试根据历史数据集预测比赛获胜者,如下所示,
该数据集包括 IPL 赛季,Team_Name_id vs Opponent Team 是 IPL 中的球队名称。我已将匹配 id 设置为 Row id 并创建了模型。运行实时测试时,结果不如预期(如下所示)
目标设置为 Match_winner_id。我是否缺少任何配置?请帮忙
该模型工作正常。只有两个问题:
数据质量
预测模型需要高质量的输入数据,以对模型进行逆向工程来解释给定结果。此输入数据应包含可用于预测给定不同输入数据集的结果的信息。
例如,在预测房价时,它需要知道郊区(类别)、卧室/浴室/停车位的数量、建筑物的年龄和售价。然后,它可以预测其他具有稍微不同的变量组合的房屋的售价。
但是,根据您的屏幕截图,您将提供以下信息(可能还有更多信息)来进行预测:
您提供的可用于预测未来比赛的信息非常少。真的只有球队和场地。其他一切要么是游戏本身的一部分,要么无关紧要。
只选择两支球队中的一支
当 ML 模型查看您的数据并尝试进行预测时,它会查看您提供的所有数据。例如,它可能会注意到,对于给定的场地和赛季,Team 8 的获胜倾向更高。因此,鉴于场地和赛季,它将有利于第 8 队获胜。该模型没有概念认为唯一可能的结果是 C 和 D 列中给出的两支球队之一。
您正在预测两个给定的团队,并且将团队列在 C 列或 D 列中,这没有任何意义 -如果您在列之间交换团队,结果是相同的,但模型没有这个概念。此外,关于 Team 1 vs Team 2 的信息与 Team 3 vs Team 4 完全无关。
你应该做的是为每个团队创建一个数据集,列出他们所有的比赛,加上一个显示结果的列——一个布尔值(赢/输)或一个代表他们赢的跑数的值(其中负数是亏损)。然后,您将要求他们的模型预测该团队的结果,给定输入数据,这将是赢/输或高于/低于另一支球队的分数。
但核心是,我认为您的输入数据没有足够丰富的内容来做出明智的预测。问问自己:“如果我要猜测哪支球队会获胜,我想知道什么数据?” 可能是过去的结果、天气状况、每支球队的球员、他们上周打了多少场比赛等。这些信息都没有作为输入数据的每一行提供。