Предикация рейтинга книг с использованием ленскита
Я прочитал этот веб-сайт: 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 я рекомендую отправлять по электронной почте список рассылки с указанием именно тех команд, которые вы выполняете, а также результатов или ошибок, которые вы получаете.