def test_drcif_on_unit_test_data(): """Test of DrCIF on unit test data.""" # load unit test data X_train, y_train = load_unit_test(split="train", return_X_y=True) X_test, y_test = load_unit_test(split="test", return_X_y=True) indices = np.random.RandomState(0).choice(len(y_train), 10, replace=False) # train DrCIF drcif = DrCIF(n_estimators=10, random_state=0, save_transformed_data=True) drcif.fit(X_train, y_train) # assert probabilities are the same probas = drcif.predict_proba(X_test.iloc[indices]) testing.assert_array_equal(probas, drcif_unit_test_probas) # test train estimate train_probas = drcif._get_train_probs(X_train, y_train) train_preds = drcif.classes_[np.argmax(train_probas, axis=1)] assert accuracy_score(y_train, train_preds) >= 0.85
def test_drcif_train_estimate(): """Test of DrCIF on unit test data.""" # load unit test data X_train, y_train = load_unit_test(split="train") # train DrCIF drcif = DrCIF( n_estimators=2, n_intervals=2, att_subsample_size=2, random_state=0, save_transformed_data=True, ) drcif.fit(X_train, y_train) # test train estimate train_probas = drcif._get_train_probs(X_train, y_train) assert train_probas.shape == (20, 2) train_preds = drcif.classes_[np.argmax(train_probas, axis=1)] assert accuracy_score(y_train, train_preds) >= 0.6