@@ -869,6 +869,7 @@ def test_output_wrt_shown_probs_1(self):
869869 self .send_signal (widget .Inputs .predictors , bayes01 , 0 )
870870 self .send_signal (widget .Inputs .predictors , bayes12 , 1 )
871871 self .send_signal (widget .Inputs .predictors , bayes012 , 2 )
872+ widget .controls .show_probability_errors .setChecked (False )
872873
873874 for i , pred in enumerate (widget .predictors ):
874875 p = pred .results .unmapped_probabilities
@@ -918,6 +919,7 @@ def test_output_wrt_shown_probs_2(self):
918919 self .send_signal (widget .Inputs .data , iris012 )
919920 self .send_signal (widget .Inputs .predictors , bayes01 , 0 )
920921 self .send_signal (widget .Inputs .predictors , bayes012 , 1 )
922+ widget .controls .show_probability_errors .setChecked (False )
921923
922924 for i , pred in enumerate (widget .predictors ):
923925 p = pred .results .unmapped_probabilities
@@ -968,7 +970,7 @@ def test_output_regression(self):
968970 MeanLearner ()(self .housing ), 1 )
969971 out = self .get_output (widget .Outputs .predictions )
970972 np .testing .assert_equal (
971- out .metas ,
973+ out .metas [:, [ 0 , 2 ]] ,
972974 np .hstack ([pred .results .predicted .T for pred in widget .predictors ]))
973975
974976 def test_classless (self ):
@@ -1188,6 +1190,43 @@ def test_migrate_shown_scores(self):
11881190 self .widget .migrate_settings (settings , 1 )
11891191 self .assertTrue (settings ["score_table" ]["show_score_hints" ]["Sensitivity" ])
11901192
1193+ def test_output_error_reg (self ):
1194+ data = self .housing
1195+ lin_reg = LinearRegressionLearner ()
1196+ self .send_signal (self .widget .Inputs .data , data )
1197+ self .send_signal (self .widget .Inputs .predictors , lin_reg (data ), 0 )
1198+ self .send_signal (self .widget .Inputs .predictors ,
1199+ LinearRegressionLearner (fit_intercept = False )(data ), 1 )
1200+ pred = self .get_output (self .widget .Outputs .predictions )
1201+
1202+ names = ["" , " (error)" ]
1203+ names = [f"{ n } { i } " for i in ("" , " (1)" ) for n in names ]
1204+ names = [f"{ lin_reg .name } { x } " for x in names ]
1205+ self .assertEqual (names , [m .name for m in pred .domain .metas ])
1206+ self .assertAlmostEqual (pred .metas [0 , 1 ], 6.0 , 1 )
1207+ self .assertAlmostEqual (pred .metas [0 , 3 ], 5.1 , 1 )
1208+
1209+ def test_output_error_cls (self ):
1210+ data = self .iris
1211+ log_reg = LogisticRegressionLearner ()
1212+ self .send_signal (self .widget .Inputs .predictors , log_reg (data ), 0 )
1213+ self .send_signal (self .widget .Inputs .predictors ,
1214+ LogisticRegressionLearner (penalty = "l1" )(data ), 1 )
1215+ with data .unlocked (data .Y ):
1216+ data .Y [1 ] = np .nan
1217+ self .send_signal (self .widget .Inputs .data , data )
1218+ pred = self .get_output (self .widget .Outputs .predictions )
1219+
1220+ names = ["" ] + [f" ({ v } )" for v in
1221+ list (data .domain .class_var .values ) + ["error" ]]
1222+ names = [f"{ n } { i } " for i in ("" , " (1)" ) for n in names ]
1223+ names = [f"{ log_reg .name } { x } " for x in names ]
1224+ self .assertEqual (names , [m .name for m in pred .domain .metas ])
1225+ self .assertAlmostEqual (pred .metas [0 , 4 ], 0.018 , 3 )
1226+ self .assertAlmostEqual (pred .metas [0 , 9 ], 0.113 , 3 )
1227+ self .assertTrue (np .isnan (pred .metas [1 , 4 ]))
1228+ self .assertTrue (np .isnan (pred .metas [1 , 9 ]))
1229+
11911230
11921231class SelectionModelTest (unittest .TestCase ):
11931232 def setUp (self ):
0 commit comments