如果用户有多行数据,我如何预测用户的单个值

NGRichterNGRichter 成员职位:1新手
你好,

我正在写一篇关于游戏过程挖掘的学士论文,我有点卡住了。
我想根据某个用户的事件日志预测他/她的技能水平。
我拥有的数据是这样的:

用户 水平 ActionID 行动 时间戳 其他
User1 1 1 开始 2019-05-22 13:22:55 x
User1 1 2 修改 2019-05-22 12:22:57 x
User1 1 3. 执行 2019-05-22 12:23:05 x
... ... ... ... ... ...
User1 7 65 修改 2019-05-22 12:29:50 x
User1 7 66 修改 2019-05-22 12:29:57 x
User1 7 67 执行 2019-05-22 12:30:02 x
...
... ... ... ... ...
User2 5 168 执行 2019-05-23 15:03:15 x
User2 5 169 失败的 2019-05-23 15:03:15 x
... ... ... ... ... ...

我也有一个单独的数据表包含用户值和技能水平,这可以包括在数据表是有需要的。
谁能帮我指出正确的方向,因为我不知道该怎么做。
最好的输出是这样的表:

用户 技能
User1 8.2
User2 6.4
User3 2.9
... ...

技能值也可以与初学者,中级和专家交换。
如果您需要更多的信息或数据,请询问。

问候,

NGRichter

答案

  • jacobcybulskijacobcybulski 委员,大学教授职位:391独角兽
    我假设用户技能会随着时间而改变?如果是这样,这是一个时间序列问题,也就是说,你可以把技能附加到每个例子上,并创建一个预测模型。如果技能不会随着时间的推移而改变,而是从一组示例中派生出来,比如10个,那么您可以将预测器属性复制10次,每一行都附加为一组新的属性,然后使用技能作为标签在这些新属性上训练模型。我相信我们可以比这更聪明,例如,你可以尝试创建关联或序列分析,以某种方式嵌入其中的技能水平,但这将是相当复杂的,因为这是一个多元情况。

    雅各
  • jacobcybulskijacobcybulski 委员,大学教授职位:391独角兽
    我不想这么建议,但如果你想深入了解,可以看看深度学习扩展,它使用了学习的张量模型,它的帮助功能有一个例子,看起来和你的很像。除非你在机器学习方面更先进,否则我会犹豫是否使用它,所以你的判断适用于这里。

    雅各
  • Telcontar120Telcontar120 主持人,RapidMiner认证分析师,RapidMiner认证专家,会员职位:1635年独角兽
    无论哪种情况,你要做的第一件事就是提出某种性能定义和衡量它的方法。在RapidMiner中,这被称为“标签”,您将需要创建/追加到您的记录,并使用设置角色操作符来定义它。没有一个受监督的机器学习操作员将在没有定义的性能标签的情况下工作。
    在游戏中,你可以简单地将技能水平定义为用户所玩游戏的输赢比。但还有许多更复杂的系统可用,如国际象棋或类似游戏的Elo评级系统,在这种情况下,对手的技能也会被考虑在内。提出正确的性能定义对于解决问题至关重要。

    布莱恩·T。
    Lindon合资企业
    乐鱼平台进入数据科学咨询由认证的RapidMiner专家
    SGolbert
登录注册置评。