【问题标题】:Interpreting results from lightFM解释 lightFM 的结果
【发布时间】:2017-06-13 15:49:54
【问题描述】:

我在用户项目事务数据集上构建了一个推荐模型,其中每个事务由 1 表示。

model = LightFM(learning_rate=0.05, loss='warp')

这是结果

Train precision at k=3:  0.115301
Test precision at k=3:  0.0209936

Train auc score:  0.978294
Test auc score : 0.810757

Train recall at k=3:  0.238312330233
Test recall at k=3:  0.0621618086561

谁能帮我解释一下这个结果?我是如何获得如此好的 auc 分数和如此糟糕的精度/召回率的? 'bpr' 贝叶斯个性化排名的准确率/召回率变得更差。

预测任务

users = [0]
items = np.array([13433, 13434, 13435, 13436, 13437, 13438, 13439, 13440])
model.predict(users, item)

结果

array([-1.45337546, -1.39952552, -1.44265926, -0.83335167, -0.52803332,
   -1.06252205, -1.45194077, -0.68543684])

如何解释预测分数?

谢谢

【问题讨论】:

    标签: svm recommendation-engine collaborative-filtering matrix-factorization


    【解决方案1】:

    谈到 AUC 的precision@K 之间的区别,您可能想在这里看看我的答案:Evaluating the LightFM Recommendation Model

    分数本身没有明确的尺度,也无法解释。它们仅在为给定用户定义项目排名的情况下才有意义,分数越高表示预测的偏好越强。

    【讨论】:

    • 是否有可能以某种方式获得费率作为预测?我的意思是,如果我们给模型训练速率(在 1 到 10 之间),我们怎样才能得到相同的输出呢?谢谢
    猜你喜欢
    • 2017-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-22
    相关资源
    最近更新 更多