def test_classification_toy(): # Check classification on a toy dataset. for alg in ['SAMME', 'SAMME.R']: clf = SMOTEBoost(algorithm=alg, k_neighbors=3, random_state=0) clf.fit(X, y_class) assert_array_equal(clf.predict(T), y_t_class) assert_array_equal(np.unique(np.asarray(y_t_class)), clf.classes_) assert_equal(clf.predict_proba(T).shape, (len(T), 2)) assert_equal(clf.decision_function(T).shape, (len(T),))
def test_imb_performance(): from maatpy.dataset import simulate_dataset from sklearn.metrics import cohen_kappa_score from sklearn.model_selection import StratifiedShuffleSplit imb = simulate_dataset(n_samples=100, n_features=2, n_classes=2, weights=[0.9, 0.1], random_state=0) sss = StratifiedShuffleSplit(n_splits=5, test_size=0.3, random_state=0) sss.get_n_splits(imb.data, imb.target) for train_index, test_index in sss.split(imb.data, imb.target): X_train, X_test = imb.data[train_index], imb.data[test_index] y_train, y_test = imb.target[train_index], imb.target[test_index] adaboost = AdaBoostClassifier(random_state=0) adaboost.fit(X_train, y_train) adaboost_score = cohen_kappa_score(adaboost.predict(X_test), y_test) clf = SMOTEBoost(random_state=0) clf.fit(X_train, y_train) score = cohen_kappa_score(clf.predict(X_test), y_test) assert score >= adaboost_score, "Failed with score = %f; AdaBoostClassifier score= %f" % (score, adaboost_score)