def test_decision_function(self): from lale.lib.imblearn import SMOTE from lale.operators import make_pipeline from lale.lib.sklearn import RandomForestClassifier smote = SMOTE(operator=make_pipeline(RandomForestClassifier())) trained = smote.fit(self.X_train, self.y_train) trained.predict(self.X_test) with self.assertRaises(AttributeError): trained.decision_function(self.X_test)
def test_random_forest_classifier(self): ranges, dists = RandomForestClassifier.get_param_ranges() expected_ranges = { "n_estimators": (10, 100, 100), "criterion": ["entropy", "gini"], "max_depth": (3, 5, None), "min_samples_split": (2, 5, 2), "min_samples_leaf": (1, 5, 1), "max_features": (0.01, 1.0, 0.5), } self.maxDiff = None self.assertEqual(ranges, expected_ranges)
def test_max_samples(self): with self.assertRaisesRegex(jsonschema.ValidationError, "argument 'max_samples' was unexpected"): _ = RandomForestClassifier(max_samples=0.01)
def test_ccp_alpha(self): with self.assertRaisesRegex(jsonschema.ValidationError, "argument 'ccp_alpha' was unexpected"): _ = RandomForestClassifier(ccp_alpha=0.01)
def test_n_estimators(self): default = RandomForestClassifier.hyperparam_defaults()["n_estimators"] self.assertEqual(default, 10)
def test_with_defaults(self): trainable = RandomForestClassifier() trained = trainable.fit(self.train_X, self.train_y) _ = trained.predict(self.test_X)
def test_max_samples(self): trainable = RandomForestClassifier(max_samples=0.01) trained = trainable.fit(self.train_X, self.train_y) predicted = trained.predict(self.test_X)
def test_ccp_alpha(self): trainable = RandomForestClassifier(ccp_alpha=0.01) trained = trainable.fit(self.train_X, self.train_y) predicted = trained.predict(self.test_X)