8

我打算使用 SlopeOne 算法来预测玩家是否可以在游戏中完成给定级别?

这是场景:

  1. 许多玩家在游戏中玩并尝试完成 100 个关卡。
  2. 每个玩家都可以根据需要多次玩一个关卡,直到他们通过关卡。
  3. 系统会跟踪级别和每个级别的重试次数。
  4. 每个游戏关卡都属于 3 个类别之一(简单、中等、困难)
  5. 每个类别的关卡分布近似为 33%,这意味着 33% 的关卡是简单的,33% 的关卡是困难的,等等。

使用此信息:

当一个新玩家开始玩游戏时,经过几个关卡后,我希望能够预测玩家可以轻松越过哪些关卡,以及他/她不能轻松越过哪些关卡。

凭借这种预测能力,我想展示用户能够以 50% 的概率跨越的游戏关卡。

我可以为此使用 SlopeOne 算法吗?

推理是我看到我想说的电影评级系统之间有很多相似之处。

n 个用户,m 个项目和 N 个评分来预测给定项目的用户评分。

同样,就我而言,我有

n 个用户,m 个级别和 N 次重试...

唯一的区别是在电影评级系统中,评级固定在 1-5 的范围内,在我的情况下,重试范围可以从 1-x(x 可能高达 30)

虽然理论上有人可以重试 30 次以上,但现在我可以从将上限固定为 30 开始,并在获得更多数据后进行调整。

谢谢。

4

2 回答 2

2

我认为它可能会起作用,但我会先将 log 应用于尝试次数(你不能做 log(0) 所以重试不起作用)。如果有人觉得某个关卡容易,他们会尝试一两次,而觉得难的人通常必须一遍又一遍地做。did it in 1 go vs 2 go 之间的差异远大于 20 go vs 21 go。这将消除对 go 值数量进行任意限制的需要。

于 2011-04-07T19:22:53.417 回答
0

我不知道该算法有多合适,但我在 python 中实现它时发现了这一点http://www.serpentine.com/blog/2006/12/12/collaborative-filtering-made-easy/

于 2011-02-04T17:15:35.237 回答