def test_score(self): import types svdpp = SVDpp() svdpp.fit(self.df) self.assertTrue(isinstance(svdpp.get_score(10, 100), types.FloatType)) self.assertTrue(isinstance(svdpp.get_score(12, 110), types.FloatType))
def test_train(self): svdpp = SVDpp() self.assertFalse(hasattr(svdpp, 'U_bias')) svdpp.fit(self.df_big) self.assertTrue(hasattr(svdpp, 'U_bias')) self.assertEqual(svdpp.U.shape, (len(self.df_big.user.unique()), 40)) self.assertEqual(svdpp.V.shape, (len(self.df_big.item.unique()), 20)) self.assertEqual(svdpp.U_bias.shape, (len(self.df_big.user.unique()), 1)) self.assertEqual(svdpp.V_bias.shape, (len(self.df_big.item.unique()), 1)) self.assertEqual(svdpp.global_mean.shape, (1, 1))
def test_train(self): svdpp = SVDpp() self.assertFalse(hasattr(svdpp, "U_bias")) svdpp.fit(self.df_big) self.assertTrue(hasattr(svdpp, "U_bias")) #did graphchi changed the output format? it used to be 40 for users... self.assertEqual(svdpp.U.shape, (len(self.df_big.user.unique()), 20)) self.assertEqual(svdpp.V.shape, (len(self.df_big.item.unique()), 20)) self.assertEqual(svdpp.U_bias.shape, (len(self.df_big.user.unique()), 1)) self.assertEqual(svdpp.V_bias.shape, (len(self.df_big.item.unique()), 1)) self.assertEqual(svdpp.global_mean.shape, (1, 1))