使用lenskit预订评级预测

时间:2015-03-13 01:53:32

标签: lenskit

我读了这个网站:http://lenskit.org/documentation/evaluator/quickstart/我首先尝试使用脚本“$ lenskit eval”运行它,我刚刚在我的hello-lenskit示例中创建了一个新的groovy文件并使用命令行运行它但没有任何内容发生了。然后我尝试在Java程序(hello-lenskit.java)中使用它。 我遇到了一些错误。

    File dataFile = new File("ml-100k/u.data");
    PreferenceDomain domain = new PreferenceDomain(1.0,5.0,1.0);
    DataSource data = new CSVDataSource("ml-100k",dataFile,"\t",domain);//give me an error CSVDataSource is not public and can not be accessed from the outside package.
    CrossfoldTask cross = new CrossfoldTask();

    LenskitConfiguration config1 = new LenskitConfiguration();
    config1.bind(ItemScorer.class)
            .to(UserMeanItemScorer.class);
    AlgorithmInstance alg1 = new AlgorithmInstance("PersMean",config1);
    evl.addAlgorithm(alg1);

    LenskitConfiguration config2 = new LenskitConfiguration();
    config2.bind(ItemScorer.class)
            .to(ItemItemScorer.class);
    config2.bind(UserVectorNormalizer.class)
            .to(BaselineSubtractingUserVectorNormalizer.class);
    config2.within(UserVectorNormalizer.class)
            .bind(BaselineScorer.class,ItemScorer.class)
            .to(ItemMeanRatingItemScorer.class);
    AlgorithmInstance alg2 = new AlgorithmInstance("ItemItem",config2);
    evl.addAlgorithm(alg2);

    evl.addMetric(RMSEPredictMetric.class);
    File file = new File("eval-results.csv");
    evl.setOutput(file);

接下来我该怎么办?我怎么能产生整体评级错误?

1 个答案:

答案 0 :(得分:1)

手动使用LensKit评估命令很困难,没有记录,不推荐使用。

SimpleEvaluator是从Java应用程序中的LensKit推荐器获得整体准确性的最佳方法。

有关调试LensKit运行的进一步帮助,我建议使用您正在运行的命令以及您获得的输出或错误通过电子邮件发送邮件列表。