Ejemplo n.º 1
0
 def test_copy(self):
     # train model #1
     metric = Metric({"name": "logloss"})
     cat = CatBoostAlgorithm(self.params)
     cat.fit(self.X, self.y)
     y_predicted = cat.predict(self.X)
     loss = metric(self.y, y_predicted)
     # create model #2
     cat2 = CatBoostAlgorithm(self.params)
     # model #2 is initialized in constructor
     self.assertTrue(cat2.model is not None)
     # do a copy and use it for predictions
     cat2 = cat.copy()
     self.assertEqual(type(cat), type(cat2))
     y_predicted = cat2.predict(self.X)
     loss2 = metric(self.y, y_predicted)
     self.assertEqual(loss, loss2)
     # fit model #1, there should be improvement in loss
     cat.fit(self.X, self.y)
     y_predicted = cat.predict(self.X)
     loss3 = metric(self.y, y_predicted)
     self.assertTrue(loss3 < loss)
     # the loss of model #2 should not change
     y_predicted = cat2.predict(self.X)
     loss4 = metric(self.y, y_predicted)
     assert_almost_equal(loss2, loss4)
Ejemplo n.º 2
0
 def test_copy(self):
     # train model #1
     metric = Metric({"name": "logloss"})
     cat = CatBoostAlgorithm(self.params)
     cat.fit(self.X, self.y)
     y_predicted = cat.predict(self.X)
     loss = metric(self.y, y_predicted)
     # create model #2
     cat2 = CatBoostAlgorithm(self.params)
     # model #2 is initialized in constructor
     self.assertTrue(cat2.model is not None)
     # do a copy and use it for predictions
     cat2 = cat.copy()
     self.assertEqual(type(cat), type(cat2))
     y_predicted = cat2.predict(self.X)
     loss2 = metric(self.y, y_predicted)
     self.assertEqual(loss, loss2)