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+
10+
11+ class BaseRegressionComponentTest (unittest .TestCase ):
12+
13+ res = None
14+
15+ module = None
16+ sk_module = None
17+
18+ # Magic command to not run tests on base class
19+ __test__ = False
20+
21+ def test_default_boston (self ):
22+ for i in range (2 ):
23+ predictions , targets = \
24+ _test_regressor (dataset = "boston" ,
25+ Regressor = self .module )
26+
27+ if "default_boston_le_ge" in self .res :
28+ # Special treatment for Gaussian Process Regression
29+ self .assertLessEqual (
30+ sklearn .metrics .r2_score (y_true = targets ,
31+ y_pred = predictions ),
32+ self .res ["default_boston_le_ge" ][0 ])
33+ self .assertGreaterEqual (
34+ sklearn .metrics .r2_score (y_true = targets ,
35+ y_pred = predictions ),
36+ self .res ["default_boston_le_ge" ][1 ])
37+ else :
38+ self .assertAlmostEqual (self .res ["default_boston" ],
39+ sklearn .metrics .r2_score (targets ,
40+ predictions ),
41+ places = self .res .get (
42+ "default_boston_places" , 7 ))
43+
44+ def test_default_boston_iterative_fit (self ):
45+ if not hasattr (self .module , 'iterative_fit' ):
46+ return
47+
48+ for i in range (2 ):
49+ predictions , targets = \
50+ _test_regressor_iterative_fit (dataset = "boston" ,
51+ Regressor = self .module )
52+ self .assertAlmostEqual (self .res ["default_boston_iterative" ],
53+ sklearn .metrics .r2_score (targets ,
54+ predictions ),
55+ places = self .res .get (
56+ "default_boston_iterative_places" , 7 ))
57+
58+ def test_default_boston_iterative_sparse_fit (self ):
59+ if not hasattr (self .module , 'iterative_fit' ):
60+ return
61+ if SPARSE not in self .module .get_properties ()["input" ]:
62+ return
63+
64+ for i in range (2 ):
65+ predictions , targets = \
66+ _test_regressor_iterative_fit (dataset = "boston" ,
67+ Regressor = self .module ,
68+ sparse = True )
69+ self .assertAlmostEqual (self .res ["default_boston_iterative_sparse" ],
70+ sklearn .metrics .r2_score (targets ,
71+ predictions ),
72+ places = self .res .get (
73+ "default_boston_iterative_sparse_places" , 7 ))
74+
75+ def test_default_boston_sparse (self ):
76+ if SPARSE not in self .module .get_properties ()["input" ]:
77+ return
78+
79+ for i in range (2 ):
80+ predictions , targets = \
81+ _test_regressor (dataset = "boston" ,
82+ Regressor = self .module ,
83+ sparse = True )
84+ self .assertAlmostEqual (self .res ["default_boston_sparse" ],
85+ sklearn .metrics .r2_score (targets ,
86+ predictions ),
87+ places = self .res .get (
88+ "default_boston_sparse_places" , 7 ))
89+
90+ def test_default_diabetes (self ):
91+ for i in range (2 ):
92+ predictions , targets = \
93+ _test_regressor (dataset = "diabetes" ,
94+ Regressor = self .module )
95+
96+ self .assertAlmostEqual (self .res ["default_diabetes" ],
97+ sklearn .metrics .r2_score (targets ,
98+ predictions ),
99+ places = self .res .get (
100+ "default_diabetes_places" , 7 ))
101+
102+ def test_default_diabetes_iterative_fit (self ):
103+ if not hasattr (self .module , 'iterative_fit' ):
104+ return
105+
106+ for i in range (2 ):
107+ predictions , targets = \
108+ _test_regressor_iterative_fit (dataset = "diabetes" ,
109+ Regressor = self .module )
110+ self .assertAlmostEqual (self .res ["default_diabetes_iterative" ],
111+ sklearn .metrics .r2_score (targets ,
112+ predictions ),
113+ places = self .res .get (
114+ "default_diabetes_iterative_places" , 7 ))
115+
116+ def test_default_diabetes_iterative_sparse_fit (self ):
117+ if not hasattr (self .module , 'iterative_fit' ):
118+ return
119+ if SPARSE not in self .module .get_properties ()["input" ]:
120+ return
121+
122+ for i in range (2 ):
123+ predictions , targets = \
124+ _test_regressor_iterative_fit (dataset = "diabetes" ,
125+ Regressor = self .module ,
126+ sparse = True )
127+ self .assertAlmostEqual (self .res ["default_diabetes_iterative_sparse" ],
128+ sklearn .metrics .r2_score (targets ,
129+ predictions ),
130+ places = self .res .get (
131+ "default_diabetes_iterative_sparse_places" , 7 ))
132+
133+ def test_default_diabetes_sparse (self ):
134+ if SPARSE not in self .module .get_properties ()["input" ]:
135+ return
136+
137+ for i in range (2 ):
138+ predictions , targets = \
139+ _test_regressor (dataset = "diabetes" ,
140+ Regressor = self .module ,
141+ sparse = True )
142+ self .assertAlmostEqual (self .res ["default_diabetes_sparse" ],
143+ sklearn .metrics .r2_score (targets ,
144+ predictions ),
145+ places = self .res .get (
146+ "default_diabetes_sparse_places" , 7 ))
0 commit comments