@@ -53,6 +53,9 @@ def test_STEMClassifier():
5353 importances_by_points = model .assign_feature_importances_by_points (verbosity = 0 , n_jobs = 1 )
5454 assert importances_by_points .shape [0 ] > 0
5555 assert importances_by_points .shape [1 ] == len (x_names ) + 3
56+
57+ ## Then predict on limited samples?
58+ pred = model .predict (X_test .sample (n = 1 , replace = False ))
5659
5760
5861def test_parallel_STEMClassifier ():
@@ -85,7 +88,9 @@ def test_parallel_STEMClassifier():
8588 assert importances_by_points .shape [0 ] > 0
8689 assert importances_by_points .shape [1 ] == len (x_names ) + 3
8790
88-
91+ ## Then predict on limited samples?
92+ pred = model .predict (X_test .sample (n = 1 , replace = False ))
93+
8994def test_STEMRegressor ():
9095 model = make_STEMRegressor ()
9196 y_train .loc [:] = np .where (y_train > 0 , 1 , 0 )
@@ -116,7 +121,9 @@ def test_STEMRegressor():
116121 assert importances_by_points .shape [0 ] > 0
117122 assert importances_by_points .shape [1 ] == len (x_names ) + 3
118123
119-
124+ ## Then predict on limited samples?
125+ pred = model .predict (X_test .sample (n = 1 , replace = False ))
126+
120127def test_AdaSTEMClassifier ():
121128 model = make_AdaSTEMClassifier ()
122129 y_train .loc [:] = np .where (y_train > 0 , 1 , 0 )
@@ -147,6 +154,9 @@ def test_AdaSTEMClassifier():
147154 assert importances_by_points .shape [0 ] > 0
148155 assert importances_by_points .shape [1 ] == len (x_names ) + 3
149156
157+ ## Then predict on limited samples?
158+ pred = model .predict (X_test .sample (n = 1 , replace = False ))
159+
150160
151161def test_AdaSTEMRegressor ():
152162 model = make_AdaSTEMRegressor ()
@@ -188,7 +198,9 @@ def test_AdaSTEMRegressor():
188198 # score
189199 score_df = model .score (X_test , y_test )
190200
191-
201+ ## Then predict on limited samples?
202+ pred = model .predict (X_test .sample (n = 1 , replace = False ))
203+
192204def test_parallel_AdaSTEMClassifier ():
193205 model = make_parallel_AdaSTEMClassifier ()
194206 y_train .loc [:] = np .where (y_train > 0 , 1 , 0 )
@@ -219,8 +231,53 @@ def test_parallel_AdaSTEMClassifier():
219231 assert importances_by_points .shape [0 ] > 0
220232 assert importances_by_points .shape [1 ] == len (x_names ) + 3
221233
234+ ## Then predict on limited samples?
235+ pred = model .predict (X_test .sample (n = 1 , replace = False ))
236+
237+
238+ def test_AdaSTEMRegressor_return_ensemble ():
239+ model = make_AdaSTEMRegressor ()
240+ y_train .loc [:] = np .where (y_train > 0 , 1 , 0 )
241+ model = model .fit (X_train , y_train )
242+
243+ pred_mean , pred_std = model .predict (X_test .reset_index (drop = True ), return_std = True , verbosity = 1 , n_jobs = 1 )
244+ assert np .sum (~ np .isnan (pred_mean )) > 0
245+ assert np .sum (~ np .isnan (pred_std )) > 0
246+
247+ pred_ = model .predict (X_test , aggregation = 'median' )
248+ assert len (pred_ ) == len (X_test )
249+ assert np .sum (np .isnan (pred_ )) / len (pred_ ) <= 0.3
250+
251+ pred_return_by_separate_ensembles = model .predict (X_test , return_by_separate_ensembles = True )
252+ assert pred_return_by_separate_ensembles .shape [1 ]== model .ensemble_fold
253+
254+ pred = model .predict (X_test )
255+ assert len (pred ) == len (X_test )
256+ assert np .sum (np .isnan (pred )) / len (pred ) <= 0.3
257+
258+ pred_df = pd .DataFrame (
259+ {"y_true" : np .array (y_test ).flatten (), "y_pred" : np .where (pred < 0 , 0 , pred ).flatten ()}
260+ ).dropna ()
261+ assert len (pred_df ) > 0
262+
263+ eval = AdaSTEM .eval_STEM_res ("hurdle" , pred_df .y_true , pred_df .y_pred )
264+ assert eval ["AUC" ] >= 0.5
265+ assert eval ["kappa" ] >= 0.2
266+ assert eval ["Spearman_r" ] >= 0.2
222267
268+ model .calculate_feature_importances ()
269+ assert model .feature_importances_ .shape [0 ] > 0
223270
271+ importances_by_points = model .assign_feature_importances_by_points (verbosity = 0 , n_jobs = 1 )
272+ assert importances_by_points .shape [0 ] > 0
273+ assert importances_by_points .shape [1 ] == len (x_names ) + 3
274+
275+ # score
276+ score_df = model .score (X_test , y_test )
277+
278+ ## Then predict on limited samples?
279+ pred = model .predict (X_test .sample (n = 1 , replace = False ))
280+
224281def test_SphereAdaClassifier ():
225282 model = make_SphereAdaClassifier ()
226283 y_train .loc [:] = np .where (y_train > 0 , 1 , 0 )
@@ -255,6 +312,9 @@ def test_SphereAdaClassifier():
255312 assert importances_by_points .shape [0 ] > 0
256313 assert importances_by_points .shape [1 ] == len (x_names ) + 3
257314
315+ ## Then predict on limited samples?
316+ pred = model .predict (X_test .sample (n = 1 , replace = False ))
317+
258318def test_parallel_SphereAdaClassifier ():
259319 model = make_parallel_SphereAdaClassifier ()
260320 y_train .loc [:] = np .where (y_train > 0 , 1 , 0 )
@@ -286,7 +346,9 @@ def test_parallel_SphereAdaClassifier():
286346 assert importances_by_points .shape [0 ] > 0
287347 assert importances_by_points .shape [1 ] == len (x_names ) + 3
288348
289-
349+ ## Then predict on limited samples?
350+ pred = model .predict (X_test .sample (n = 1 , replace = False ))
351+
290352def test_SphereAdaSTEMRegressor ():
291353 model = make_SphereAdaSTEMRegressor ()
292354 y_train .loc [:] = np .where (y_train > 0 , 1 , 0 )
@@ -317,7 +379,9 @@ def test_SphereAdaSTEMRegressor():
317379 assert importances_by_points .shape [0 ] > 0
318380 assert importances_by_points .shape [1 ] == len (x_names ) + 3
319381
320-
382+ ## Then predict on limited samples?
383+ pred = model .predict (X_test .sample (n = 1 , replace = False ))
384+
321385def test_AdaSTEMRegressor_Hurdle_for_AdaSTEM ():
322386 model = make_AdaSTEMRegressor_Hurdle_for_AdaSTEM ()
323387 model = model .fit (X_train , y_train )
@@ -339,7 +403,9 @@ def test_AdaSTEMRegressor_Hurdle_for_AdaSTEM():
339403 assert eval ["kappa" ] >= 0.1
340404 assert eval ["Spearman_r" ] >= 0.1
341405
342-
406+ ## Then predict on limited samples?
407+ pred = model .predict (X_test .sample (n = 1 , replace = False ))
408+
343409
344410# def test_AdaSTEMRegressor_median():
345411# model = make_AdaSTEMRegressor()
0 commit comments