【问题标题】:use Lenskit to predicate the book rating使用 Lenskit 预测图书评级
【发布时间】:2015-05-03 11:14:00
【问题描述】:

我有一个“csv”文件,其中包含用户 ID、他/她读过的书、每本书的评分。我想使用 Lenskit 来预测用户的图书评分。 例如,用户 A 已经阅读了 3 本书,A,B,C,我想对书 A 的评分进行谓词,并查看该谓词与真实评分的接近程度。 谁能给我一些关于如何使用 Lenskit 来做到这一点的想法。我没有开发任何网站,我的所有代码都只是 Eclipse 中的普通 java 文件。

【问题讨论】:

    标签: java plugins prediction collaborative-filtering lenskit


    【解决方案1】:

    首先,执行此操作的传统方法是通过cross-validation,您可以在其中将数据进行稳健的随机拆分,将数据分为训练数据和测试数据。

    LensKit Evaluator 支持这样做。 Quick Start 描述了如何开始;还有一个quick start,其中包含当前运行评估的最佳实践。

    因此,您需要设置执行以下操作的评估:

    1. 对数据进行分区以供评估
    2. 在您要使用的 LensKit 算法上运行它

    【讨论】:

    • 谢谢。所以我只需下载 Lenskit 并将其导入到我在 Eclipse 中的 java 项目中?然后我可以将 Lensk 中的算法与我的日期集一起使用?
    • @user3369592 基本上,是的。我建议使用 Maven、Gradle、Ivy 或类似工具从 Maven Central 导入 LensKit,而不是手动下载和导入。相关的 Maven sn-p 在这里:lenskit.org/download
    • 当我使用 Intellij 使用这个演示 github.com/lenskit/lenskit-hello 时,intellij 给了我错误:EventDAO dao = new SimpleFileRatingDAO(inputFile, delimiter); SimpleFileRatingDAO 已弃用。
    • @user3369592 要清楚,这是警告,而不是错误;代码仍然可以正常工作。但是SimpleFileRatingDAO 已被弃用,取而代之的是TextEventDAO;我们只是还没有更新文档和示例。
    • @user3369592 lenskit-hello 项目在命令行上获取用户 ID,并为这些用户输出建议。尝试将“100”作为命令行参数传递。
    猜你喜欢
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-19
    • 2020-04-27
    • 2017-06-16
    • 2020-08-17
    • 2017-12-31
    相关资源
    最近更新 更多