def test_weighted_decision_path_regression(): X_train, X_test, y_train, y_test = load_scaled_boston() mtr = MondrianTreeRegressor(random_state=0) mtr.fit(X_train, y_train) check_weighted_decision_path_regression(mtr, X_test) mtr.partial_fit(X_train, y_train) check_weighted_decision_path_regression(mtr, X_test)
def test_tree_attributes(): rng = np.random.RandomState(0) X = rng.randn(20, 5) y = np.sum(X[:, :4], axis=1) mr = MondrianTreeRegressor(random_state=0) mr.fit(X, y) check_tree_attributes(X, y, 0, mr.tree_) mr.partial_fit(X, y) check_tree_attributes(X, y, mr.tree_.root, mr.tree_, False)
def test_mean_std_reg_convergence(): X_train, _, y_train, _ = load_scaled_boston() mr = MondrianTreeRegressor(random_state=0) mr.fit(X_train, y_train) check_mean_std_reg_convergence(mr, X_train, y_train) n_s = int(len(X_train) / 2) mr.partial_fit(X_train[:n_s], y_train[:n_s]) mr.partial_fit(X_train[n_s:], y_train[n_s:]) check_mean_std_reg_convergence(mr, X_train, y_train)
def test_reg_boston(): """Consistency on boston house prices""" mtr = MondrianTreeRegressor(random_state=0) boston = load_boston() X, y = boston.data, boston.target mtr.fit(X, y) score = mean_squared_error(mtr.predict(X), y) assert_less(score, 1, "Failed with score = {0}".format(score)) mtr.partial_fit(X, y) score = mean_squared_error(mtr.predict(X), y) assert_less(score, 1, "Failed with score = {0}".format(score))