def test_process__predict(self): X = self.X y = self.y lm = LinearRegression() gm = GaussianMixture() lm_strategy = AdapterForFitPredictAdaptee(lm) gm_strategy = AdapterForFitPredictAdaptee(gm) step_lm = Process(lm_strategy) step_gm = Process(gm_strategy) step_lm.fit(X=X, y=y) step_gm.fit(X=X) result_lm = step_lm.predict(X=X) result_gm = step_gm.predict(X=X) self.assertEqual(list(result_lm.keys()), ['predict']) self.assertEqual(sorted(list(result_gm.keys())), sorted(['predict', 'predict_proba']))
def test_process__fit_dbscan(self): X = self.X y = self.y db = DBSCAN() stepstrategy = AdapterForAtomicFitPredictAdaptee(db) step = Process(stepstrategy) self.assertEqual(hasattr(step, 'core_sample_indices_'), False) result_fit = step.fit(X=X) self.assertEqual(hasattr(step, 'core_sample_indices_'), False) self.assertEqual(step, result_fit) result_predict = step.predict(X=X)['predict'] self.assertEqual(hasattr(step, 'core_sample_indices_'), True) self.assertEqual(result_predict.shape, (self.size, ))