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); }