예제 #1
0
        public void TrainAndTest(string trainSet, string testSet)
        {
            // step 1: dataset
            var config = new CsvConfiguration();
            config.Delimiter = ";";

            var trainReader = new CsvReader<ItemRanking>(trainSet, config, new ItemRankingMap());
            var testReader = new CsvReader<ItemRanking>(testSet, config, new ItemRankingMap());
            var dataset = new Dataset<ItemRanking>(trainReader, testReader);

            // step 2: recommender
            var algorithm = new SoftMarginRankingMF();
            var recommender = new MediaLiteItemRecommender(algorithm);

            // step3: evaluation
            var ep = new EvaluationPipeline<ItemRanking>(new ItemRankingEvaluationContext(recommender, dataset));
            ep.Evaluators.Add(new MediaLiteItemRankingEvaluators(algorithm));

            ep.Run();
        }
예제 #2
0
        public void TrainAndTest(string trainSet, string testSet)
        {
            // step 1: dataset
            var config = new CsvConfiguration();

            config.Delimiter = ";";

            var trainReader = new CsvReader <ItemRanking>(trainSet, config, new ItemRankingMap());
            var testReader  = new CsvReader <ItemRanking>(testSet, config, new ItemRankingMap());
            var dataset     = new Dataset <ItemRanking>(trainReader, testReader);

            // step 2: recommender
            var algorithm   = new SoftMarginRankingMF();
            var recommender = new MediaLiteItemRecommender(algorithm);

            // step3: evaluation
            var ep = new EvaluationPipeline <ItemRanking>(new ItemRankingEvaluationContext(recommender, dataset));

            ep.Evaluators.Add(new MediaLiteItemRankingEvaluators(algorithm));

            ep.Run();
        }