Предикация рейтинга книг с использованием ленскита

Я прочитал этот веб-сайт: http://lenskit.org/documentation/evaluator/quickstart/ Сначала я попытался запустить его, используя скрипт " $ lenskit eval ", и я только что создал новый groovy-файл в своем примере hello-lenskit и запустил его используя командную строку, но ничего не произошло. Затем я попытался использовать его в программе 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 ответ

Решение

Использование команд оценки LensKit вручную сложно, недокументировано и не рекомендуется.

SimpleEvaluator - это лучший способ получить общую точность от рекомендации LensKit в приложении Java.

Для дальнейшей помощи в отладке запусков LensKit я рекомендую отправлять по электронной почте список рассылки с указанием именно тех команд, которые вы выполняете, а также результатов или ошибок, которые вы получаете.

Другие вопросы по тегам