Beispiel #1
0
        public string EvaluateKNN()
        {
            var recommenderKNN = new MyMediaLite.RatingPrediction.ItemKNN();

            recommenderKNN.Ratings = mydata;
            recommenderKNN.Train();

            return(recommenderKNN.DoCrossValidation().ToString());
        }
        //*********** ItemKNN Recommender - most similar items
        public List <int> getMostSimilarItems(string dataset, int itemid, int recs)
        {
            var mydata = RatingData.Read(dataset);
            //Create the recommender
            var recommenderItemKNN = new MyMediaLite.RatingPrediction.ItemKNN();

            //Give it the dataset
            recommenderItemKNN.Ratings = mydata;
            //Train it
            recommenderItemKNN.Train();
            /////////////

            var item_recs = recommenderItemKNN.GetMostSimilarItems(itemid, (uint)recs);

            // Print similar items
            foreach (var i in item_recs)
            {
                mylist.Add(i);
            }

            return(mylist);
        }
        //*********** ItemKNN Recommender
        public List <int> getBestItemsKNN(string dataset, int userid, int recs)
        {
            var mydata = RatingData.Read(dataset);
            //Create the recommender
            var recommenderItemKNN = new MyMediaLite.RatingPrediction.ItemKNN();

            //Give it the dataset
            recommenderItemKNN.Ratings = mydata;
            //Train it
            recommenderItemKNN.Train();
            /////////////

            // Make the predictions
            var user_recs = recommenderItemKNN.Recommend(userid, recs);

            // get the recommendations
            foreach (var i in user_recs)
            {
                mylist.Add(i.Item1);
            }

            return(mylist);
        }