Skip to content

Commit 5cbd56c

Browse files
committed
FIX#266 first commit for testing regression models
mainly to see diff on travis-CI
1 parent ea081cf commit 5cbd56c

File tree

14 files changed

+356
-239
lines changed

14 files changed

+356
-239
lines changed

autosklearn/pipeline/components/regression/ridge_regression.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ def fit(self, X, Y):
2222
fit_intercept=self.fit_intercept,
2323
tol=self.tol,
2424
copy_X=False,
25-
normalize=False)
25+
normalize=False,
26+
random_state=self.random_state)
2627
self.estimator.fit(X, Y)
2728
return self
2829

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,24 @@
1-
import unittest
1+
import sklearn.ensemble
22

33
from autosklearn.pipeline.components.regression.adaboost import \
44
AdaboostRegressor
5-
from autosklearn.pipeline.util import _test_regressor
5+
from .test_base import BaseRegressionComponentTest
66

7-
import sklearn.metrics
87

8+
class AdaBoostComponentTest(BaseRegressionComponentTest):
99

10-
class AdaBoostComponentTest(unittest.TestCase):
11-
def test_default_configuration(self):
12-
for i in range(2):
13-
predictions, targets = \
14-
_test_regressor(AdaboostRegressor, dataset='boston')
15-
self.assertAlmostEqual(0.60525743737887405,
16-
sklearn.metrics.r2_score(targets,
17-
predictions))
10+
__test__ = True
1811

19-
def test_default_configuration_sparse(self):
20-
for i in range(2):
21-
predictions, targets = \
22-
_test_regressor(AdaboostRegressor, sparse=True, dataset='boston')
23-
self.assertAlmostEqual(0.22111559712318207,
24-
sklearn.metrics.r2_score(targets,
25-
predictions))
12+
res = dict()
13+
res["default_boston"] = 0.60525743737887405
14+
res["default_boston_iterative"] = -1
15+
res["default_boston_sparse"] = 0.22111559712318207
16+
res["default_boston_iterative_sparse"] = 0.0
17+
res["default_diabetes"] = 0.25129853514492517
18+
res["default_diabetes_iterative"] = -1
19+
res["default_diabetes_sparse"] = 0.090755670764629537
20+
res["default_diabetes_iterative_sparse"] = 0.0
21+
22+
sk_mod = sklearn.ensemble.AdaBoostRegressor
23+
24+
module = AdaboostRegressor
Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,24 @@
1-
import unittest
1+
import sklearn.linear_model
22

33
from autosklearn.pipeline.components.regression.ard_regression import \
44
ARDRegression
5-
from autosklearn.pipeline.util import _test_regressor
5+
from .test_base import BaseRegressionComponentTest
66

7-
import sklearn.metrics
87

8+
class ARDRegressionComponentTest(BaseRegressionComponentTest):
99

10-
class ARDRegressionComponentTest(unittest.TestCase):
11-
def test_default_configuration(self):
12-
for i in range(2):
13-
predictions, targets = \
14-
_test_regressor(ARDRegression, dataset='boston')
15-
self.assertAlmostEqual(0.70316694175513961,
16-
sklearn.metrics.r2_score(targets,
17-
predictions))
10+
__test__ = True
11+
12+
res = dict()
13+
res["default_boston"] = 0.70316694175513961
14+
res["default_boston_iterative"] = -1
15+
res["default_boston_sparse"] = -1
16+
res["default_boston_iterative_sparse"] = 0.0
17+
res["default_diabetes"] = 0.4172236487551515
18+
res["default_diabetes_iterative"] = -1
19+
res["default_diabetes_sparse"] = -1
20+
res["default_diabetes_iterative_sparse"] = 0.0
21+
22+
sk_mod = sklearn.linear_model.ARDRegression
23+
24+
module = ARDRegression
Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
import unittest
2+
3+
from autosklearn.pipeline.util import _test_regressor, \
4+
_test_regressor_iterative_fit
5+
6+
from autosklearn.pipeline.constants import *
7+
8+
import sklearn.metrics
9+
import numpy as np
10+
11+
12+
class BaseRegressionComponentTest(unittest.TestCase):
13+
14+
res = None
15+
16+
module = None
17+
sk_module = None
18+
19+
# Magic command to not run tests on base class
20+
__test__ = False
21+
22+
def test_default_boston(self):
23+
for i in range(2):
24+
predictions, targets = \
25+
_test_regressor(dataset="boston",
26+
Regressor=self.module)
27+
28+
self.assertAlmostEqual(self.res["default_boston"],
29+
sklearn.metrics.r2_score(targets,
30+
predictions),
31+
places=self.res.get(
32+
"default_boston_places", 7))
33+
34+
def test_default_boston_iterative_fit(self):
35+
if not hasattr(self.module, 'iterative_fit'):
36+
return
37+
38+
for i in range(2):
39+
predictions, targets = \
40+
_test_regressor_iterative_fit(dataset="boston",
41+
Regressor=self.module)
42+
self.assertAlmostEqual(self.res["default_boston_iterative"],
43+
sklearn.metrics.r2_score(targets,
44+
predictions),
45+
places=self.res.get(
46+
"default_boston_iterative_places", 7))
47+
48+
def test_default_boston_iterative_sparse_fit(self):
49+
if not hasattr(self.module, 'iterative_fit'):
50+
return
51+
52+
for i in range(2):
53+
predictions, targets = \
54+
_test_regressor_iterative_fit(dataset="boston",
55+
Regressor=self.module,
56+
sparse=True)
57+
self.assertAlmostEqual(self.res["default_boston_iterative_sparse"],
58+
sklearn.metrics.r2_score(targets,
59+
predictions),
60+
places=self.res.get(
61+
"default_boston_iterative_sparse_places", 7))
62+
63+
def test_default_boston_sparse(self):
64+
if SPARSE not in self.module.get_properties()["input"]:
65+
return
66+
67+
for i in range(2):
68+
predictions, targets = \
69+
_test_regressor(dataset="boston",
70+
Regressor=self.module,
71+
sparse=True)
72+
self.assertAlmostEqual(self.res["default_boston_sparse"],
73+
sklearn.metrics.r2_score(targets,
74+
predictions),
75+
places=self.res.get(
76+
"default_boston_sparse_places", 7))
77+
78+
def test_default_diabetes(self):
79+
for i in range(2):
80+
predictions, targets = \
81+
_test_regressor(dataset="diabetes",
82+
Regressor=self.module)
83+
84+
self.assertAlmostEqual(self.res["default_diabetes"],
85+
sklearn.metrics.r2_score(targets,
86+
predictions),
87+
places=self.res.get(
88+
"default_diabetes_places", 7))
89+
90+
def test_default_diabetes_iterative_fit(self):
91+
if not hasattr(self.module, 'iterative_fit'):
92+
return
93+
94+
for i in range(2):
95+
predictions, targets = \
96+
_test_regressor_iterative_fit(dataset="diabetes",
97+
Regressor=self.module)
98+
self.assertAlmostEqual(self.res["default_diabetes_iterative"],
99+
sklearn.metrics.r2_score(targets,
100+
predictions),
101+
places=self.res.get(
102+
"default_diabetes_iterative_places", 7))
103+
104+
def test_default_diabetes_iterative_sparse_fit(self):
105+
if not hasattr(self.module, 'iterative_fit'):
106+
return
107+
108+
for i in range(2):
109+
predictions, targets = \
110+
_test_regressor_iterative_fit(dataset="diabetes",
111+
Regressor=self.module,
112+
sparse=True)
113+
self.assertAlmostEqual(self.res["default_diabetes_iterative_sparse"],
114+
sklearn.metrics.r2_score(targets,
115+
predictions),
116+
places=self.res.get(
117+
"default_diabetes_iterative_sparse_places", 7))
118+
119+
def test_default_diabetes_sparse(self):
120+
if SPARSE not in self.module.get_properties()["input"]:
121+
return
122+
123+
for i in range(2):
124+
predictions, targets = \
125+
_test_regressor(dataset="diabetes",
126+
Regressor=self.module,
127+
sparse=True)
128+
self.assertAlmostEqual(self.res["default_diabetes_sparse"],
129+
sklearn.metrics.r2_score(targets,
130+
predictions),
131+
places=self.res.get(
132+
"default_diabetes_sparse_places", 7))
Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
1-
import unittest
1+
import sklearn.tree
22

3-
from autosklearn.pipeline.components.regression.decision_tree import DecisionTree
4-
from autosklearn.pipeline.util import _test_regressor
3+
from autosklearn.pipeline.components.regression.decision_tree import \
4+
DecisionTree
5+
from .test_base import BaseRegressionComponentTest
56

6-
import sklearn.metrics
77

8+
class DecisionTreeComponentTest(BaseRegressionComponentTest):
89

9-
class DecisionTreetComponentTest(unittest.TestCase):
10-
def test_default_configuration(self):
11-
for i in range(2):
12-
predictions, targets = _test_regressor(DecisionTree,)
13-
self.assertAlmostEqual(0.1564592449511697,
14-
sklearn.metrics.r2_score(targets,
15-
predictions))
10+
__test__ = True
1611

17-
def test_default_configuration_sparse(self):
18-
for i in range(2):
19-
predictions, targets = _test_regressor(DecisionTree, sparse=True)
20-
self.assertAlmostEqual(-0.020818312539637507,
21-
sklearn.metrics.r2_score(targets,
22-
predictions))
12+
res = dict()
13+
res["default_boston"] = 0.35616796434879905
14+
res["default_boston_iterative"] = -1
15+
res["default_boston_sparse"] = 0.18031669797027394
16+
res["default_boston_iterative_sparse"] = 0.0
17+
res["default_diabetes"] = 0.1564592449511697
18+
res["default_diabetes_iterative"] = -1
19+
res["default_diabetes_sparse"] = -0.020818312539637507
20+
res["default_diabetes_iterative_sparse"] = 0.0
21+
22+
sk_mod = sklearn.tree.DecisionTreeRegressor
23+
24+
module = DecisionTree
Lines changed: 16 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,24 @@
1-
import unittest
1+
import sklearn.ensemble
22

33
from autosklearn.pipeline.components.regression.extra_trees import \
44
ExtraTreesRegressor
5-
from autosklearn.pipeline.util import _test_regressor, _test_regressor_iterative_fit
5+
from .test_base import BaseRegressionComponentTest
66

7-
import sklearn.metrics
87

8+
class ExtraTreesComponentTest(BaseRegressionComponentTest):
99

10-
class ExtraTreesComponentTest(unittest.TestCase):
11-
def test_default_configuration(self):
12-
for i in range(2):
13-
predictions, targets = \
14-
_test_regressor(ExtraTreesRegressor)
15-
self.assertAlmostEqual(0.43258995365114405,
16-
sklearn.metrics.r2_score(targets,
17-
predictions))
10+
__test__ = True
1811

19-
def test_default_configuration_sparse(self):
20-
for i in range(2):
21-
predictions, targets = \
22-
_test_regressor(ExtraTreesRegressor, sparse=True)
23-
self.assertAlmostEqual(0.28016012771570553,
24-
sklearn.metrics.r2_score(targets,
25-
predictions))
12+
res = dict()
13+
res["default_boston"] = 0.77744792837581866
14+
res["default_boston_iterative"] = 0.77744792837581866
15+
res["default_boston_sparse"] = 0.32936702992375644
16+
res["default_boston_iterative_sparse"] = 0.32936702992375644
17+
res["default_diabetes"] = 0.43258995365114405
18+
res["default_diabetes_iterative"] = 0.43258995365114405
19+
res["default_diabetes_sparse"] = 0.28016012771570553
20+
res["default_diabetes_iterative_sparse"] = 0.28016012771570553
2621

27-
def test_default_configuration_iterative_fit(self):
28-
for i in range(2):
29-
predictions, targets = \
30-
_test_regressor_iterative_fit(ExtraTreesRegressor)
31-
self.assertAlmostEqual(0.43258995365114405,
32-
sklearn.metrics.r2_score(targets,
33-
predictions))
22+
sk_mod = sklearn.ensemble.ExtraTreesRegressor
23+
24+
module = ExtraTreesRegressor
Lines changed: 36 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,37 @@
1-
import unittest
2-
3-
from autosklearn.pipeline.components.regression.gaussian_process import GaussianProcess
4-
from autosklearn.pipeline.util import _test_regressor
5-
6-
import sklearn.metrics
7-
8-
9-
class GaussianProcessComponentTest(unittest.TestCase):
10-
def test_default_configuration(self):
11-
# Only twice to reduce the number of warning printed to the command line
12-
for i in range(2):
13-
# Float32 leads to numeric instabilities
14-
predictions, targets = _test_regressor(GaussianProcess,
15-
dataset='boston')
16-
# My machine: 0.574913739659292
17-
# travis-ci: 0.49562471963524557
18-
self.assertLessEqual(
19-
sklearn.metrics.r2_score(y_true=targets, y_pred=predictions),
20-
0.6)
21-
self.assertGreaterEqual(
22-
sklearn.metrics.r2_score(y_true=targets, y_pred=predictions),
23-
0.4)
1+
import sklearn.gaussian_process
242

3+
from autosklearn.pipeline.components.regression.gaussian_process import \
4+
GaussianProcess
5+
6+
from .test_base import BaseRegressionComponentTest
7+
8+
9+
class GaussianProcessComponentTest(BaseRegressionComponentTest):
10+
11+
__test__ = True
12+
13+
res = dict()
14+
res["default_boston"] = 0.57493264555230272
15+
res["default_boston_iterative"] = -1
16+
res["default_boston_sparse"] = -1
17+
res["default_boston_iterative_sparse"] = 0.0
18+
res["default_diabetes"] = -7.4131230585194885e-06
19+
res["default_diabetes_iterative"] = -1
20+
res["default_diabetes_sparse"] = -1
21+
res["default_diabetes_iterative_sparse"] = 0.0
22+
23+
sk_mod = sklearn.gaussian_process.GaussianProcessRegressor
24+
25+
module = GaussianProcess
26+
27+
"""
28+
# Leave this here for future reference
29+
# My machine: 0.574913739659292
30+
# travis-ci: 0.49562471963524557
31+
self.assertLessEqual(
32+
sklearn.metrics.r2_score(y_true=targets, y_pred=predictions),
33+
0.6)
34+
self.assertGreaterEqual(
35+
sklearn.metrics.r2_score(y_true=targets, y_pred=predictions),
36+
0.4)
37+
"""

0 commit comments

Comments
 (0)