///
 protected override void RetrainItem(int item_id)
 {
     base.RetrainUser(item_id);
     if (UpdateItems)
     {
         for (int i = 0; i <= MaxItemID; i++)
         {
             correlation[item_id, i] = Pearson.ComputeCorrelation(ratings, EntityType.ITEM, item_id, i, Shrinkage);
         }
     }
 }
Exemple #2
0
        [Test()] public void TestComputeCorrelation()
        {
            // create test objects
            var ratings = new Ratings();

            ratings.Add(0, 1, 0.3);
            ratings.Add(0, 4, 0.2);
            ratings.Add(1, 2, 0.6);
            ratings.Add(1, 3, 0.4);
            ratings.Add(1, 4, 0.2);

            // test
            Assert.AreEqual(0, Pearson.ComputeCorrelation(ratings, EntityType.USER, 0, 1, 0));
        }
        [Test()] public void TestComputeCorrelation()
        {
            // create test objects
            var ratings = new Ratings();

            ratings.Add(0, 1, 0.3f);
            ratings.Add(0, 4, 0.2f);
            ratings.Add(1, 2, 0.6f);
            ratings.Add(1, 3, 0.4f);
            ratings.Add(1, 4, 0.2f);

            // test
            var p = new Pearson(ratings.AllUsers.Count, 0f);

            Assert.AreEqual(0, p.ComputeCorrelation(ratings, EntityType.USER, 0, 1));
        }