Exemple #1
0
    def test_quantile_regression(self, boston_X, boston_y):
        X_train, X_test, y_train, y_test = train_test_split(boston_X, boston_y)
        forest = RangerForestRegressor(quantiles=False)
        forest.fit(X_train, y_train)
        assert not hasattr(forest, "random_node_values_")
        with pytest.raises(ValueError):
            forest.predict_quantiles(X_test, quantiles=[0.2, 0.5, 0.8])
        forest = RangerForestRegressor(quantiles=True)
        forest.fit(X_train, y_train)
        assert hasattr(forest, "random_node_values_")
        quantiles_lower = forest.predict_quantiles(X_test, quantiles=[0.1])
        quantiles_upper = forest.predict_quantiles(X_test, quantiles=[0.9])
        assert np.less(quantiles_lower, quantiles_upper).all()
        assert quantiles_upper.ndim == 1
        quantiles = forest.predict_quantiles(X_test, quantiles=[0.1, 0.9])
        assert quantiles.shape == (X_test.shape[0], 2)
        assert np.sum(np.isnan(quantiles_lower)) == 0
        assert np.sum(np.isnan(quantiles_upper)) == 0

        # test predict method
        pred = forest.predict(X_test, quantiles=[0.2, 0.5])
        assert pred.shape == (X_test.shape[0], 2)
        assert np.sum(np.isnan(pred)) == 0
        pred = forest.predict(X_test, quantiles=[0.2])
        assert pred.ndim == 1
        assert np.sum(np.isnan(pred)) == 0

        # test with single record
        boston_X_record = boston_X[0:1, :]
        pred = forest.predict(boston_X_record, quantiles=[0.2, 0.5])
        assert pred.shape == (1, 2)
        assert np.sum(np.isnan(pred)) == 0
 def test_quantile_regression(self, boston_X, boston_y):
     X_train, X_test, y_train, y_test = train_test_split(boston_X, boston_y)
     rfr = RangerForestRegressor(quantiles=False)
     rfr.fit(X_train, y_train)
     assert not hasattr(rfr, "random_node_values_")
     with pytest.raises(ValueError):
         rfr.predict_quantiles(X_test)
     rfr = RangerForestRegressor(quantiles=True)
     rfr.fit(X_train, y_train)
     assert hasattr(rfr, "random_node_values_")
     quantiles_lower = rfr.predict_quantiles(X_test, quantiles=[0.1])
     quantiles_upper = rfr.predict_quantiles(X_test, quantiles=[0.9])
     assert np.less(quantiles_lower, quantiles_upper).all()
     assert quantiles_upper.ndim == 1
     quantiles = rfr.predict_quantiles(X_test, quantiles=[0.1, 0.9])
     assert quantiles.ndim == 2