@@ -158,7 +158,7 @@ def _remove_random_state(flow):
158158 return run
159159
160160
161- def _check_detailed_evaluations (self , detailed_evaluations , num_repeats , num_folds , max_time_allowed = 60000 ):
161+ def _check_fold_evaluations (self , fold_evaluations , num_repeats , num_folds , max_time_allowed = 60000 ):
162162 '''
163163 Checks whether the right timing measures are attached to the run (before upload).
164164 Test is only performed for versions >= Python3.3
@@ -169,17 +169,17 @@ def _check_detailed_evaluations(self, detailed_evaluations, num_repeats, num_fol
169169 '''
170170 timing_measures = {'usercpu_time_millis_testing' , 'usercpu_time_millis_training' , 'usercpu_time_millis' }
171171
172- self .assertIsInstance (detailed_evaluations , dict )
172+ self .assertIsInstance (fold_evaluations , dict )
173173 if sys .version_info [:2 ] >= (3 , 3 ):
174- self .assertEquals (set (detailed_evaluations .keys ()), timing_measures )
174+ self .assertEquals (set (fold_evaluations .keys ()), timing_measures )
175175 for measure in timing_measures :
176- num_rep_entrees = len (detailed_evaluations [measure ])
176+ num_rep_entrees = len (fold_evaluations [measure ])
177177 self .assertEquals (num_rep_entrees , num_repeats )
178178 for rep in range (num_rep_entrees ):
179- num_fold_entrees = len (detailed_evaluations [measure ][rep ])
179+ num_fold_entrees = len (fold_evaluations [measure ][rep ])
180180 self .assertEquals (num_fold_entrees , num_folds )
181181 for fold in range (num_fold_entrees ):
182- evaluation = detailed_evaluations [measure ][rep ][fold ]
182+ evaluation = fold_evaluations [measure ][rep ][fold ]
183183 self .assertIsInstance (evaluation , float )
184184 self .assertGreater (evaluation , 0 ) # should take at least one millisecond (?)
185185 self .assertLess (evaluation , max_time_allowed )
@@ -292,7 +292,7 @@ def test_run_and_upload(self):
292292 self .assertTrue (check_res )
293293
294294 # todo: check if runtime is present
295- self ._check_detailed_evaluations (run .detailed_evaluations , 1 , num_folds )
295+ self ._check_fold_evaluations (run .fold_evaluations , 1 , num_folds )
296296 pass
297297
298298 def test_initialize_cv_from_run (self ):
@@ -523,18 +523,20 @@ def test__prediction_to_row(self):
523523
524524 probaY = clf .predict_proba (test_X )
525525 predY = clf .predict (test_X )
526+ sample_nr = 0 # default for this task
526527 for idx in range (0 , len (test_X )):
527- arff_line = _prediction_to_row (repeat_nr , fold_nr , idx ,
528+ arff_line = _prediction_to_row (repeat_nr , fold_nr , sample_nr , idx ,
528529 task .class_labels [test_y [idx ]],
529530 predY [idx ], probaY [idx ], task .class_labels , clf .classes_ )
530531
531532 self .assertIsInstance (arff_line , list )
532- self .assertEqual (len (arff_line ), 5 + len (task .class_labels ))
533+ self .assertEqual (len (arff_line ), 6 + len (task .class_labels ))
533534 self .assertEqual (arff_line [0 ], repeat_nr )
534535 self .assertEqual (arff_line [1 ], fold_nr )
535- self .assertEqual (arff_line [2 ], idx )
536+ self .assertEqual (arff_line [2 ], sample_nr )
537+ self .assertEqual (arff_line [3 ], idx )
536538 sum = 0.0
537- for att_idx in range (3 , 3 + len (task .class_labels )):
539+ for att_idx in range (4 , 4 + len (task .class_labels )):
538540 self .assertIsInstance (arff_line [att_idx ], float )
539541 self .assertGreaterEqual (arff_line [att_idx ], 0.0 )
540542 self .assertLessEqual (arff_line [att_idx ], 1.0 )
@@ -572,19 +574,19 @@ def test__run_task_get_arffcontent(self):
572574
573575 clf = SGDClassifier (loss = 'log' , random_state = 1 )
574576 res = openml .runs .functions ._run_task_get_arffcontent (clf , task , class_labels )
575- arff_datacontent , arff_tracecontent , _ , detailed_evaluations = res
577+ arff_datacontent , arff_tracecontent , _ , fold_evaluations , sample_evaluations = res
576578 # predictions
577579 self .assertIsInstance (arff_datacontent , list )
578580 # trace. SGD does not produce any
579581 self .assertIsInstance (arff_tracecontent , type (None ))
580582
581- self ._check_detailed_evaluations ( detailed_evaluations , num_repeats , num_folds )
583+ self ._check_fold_evaluations ( fold_evaluations , num_repeats , num_folds )
582584
583585 # 10 times 10 fold CV of 150 samples
584586 self .assertEqual (len (arff_datacontent ), num_instances * num_repeats )
585587 for arff_line in arff_datacontent :
586588 # check number columns
587- self .assertEqual (len (arff_line ), 7 )
589+ self .assertEqual (len (arff_line ), 8 )
588590 # check repeat
589591 self .assertGreaterEqual (arff_line [0 ], 0 )
590592 self .assertLessEqual (arff_line [0 ], num_repeats - 1 )
@@ -595,9 +597,9 @@ def test__run_task_get_arffcontent(self):
595597 self .assertGreaterEqual (arff_line [2 ], 0 )
596598 self .assertLessEqual (arff_line [2 ], num_instances - 1 )
597599 # check confidences
598- self .assertAlmostEqual (sum (arff_line [3 :5 ]), 1.0 )
599- self .assertIn (arff_line [5 ], ['won' , 'nowin' ])
600+ self .assertAlmostEqual (sum (arff_line [4 :6 ]), 1.0 )
600601 self .assertIn (arff_line [6 ], ['won' , 'nowin' ])
602+ self .assertIn (arff_line [7 ], ['won' , 'nowin' ])
601603
602604 def test_get_run (self ):
603605 # this run is not available on test
@@ -615,7 +617,7 @@ def test_get_run(self):
615617 (7 , 0.666365 ),
616618 (8 , 0.56759 ),
617619 (9 , 0.64621 )]:
618- self .assertEqual (run .detailed_evaluations ['f_measure' ][0 ][i ], value )
620+ self .assertEqual (run .fold_evaluations ['f_measure' ][0 ][i ], value )
619621 assert ('weka' in run .tags )
620622 assert ('stacking' in run .tags )
621623
@@ -742,11 +744,11 @@ def test_run_on_dataset_with_missing_labels(self):
742744 model = Pipeline (steps = [('Imputer' , Imputer (strategy = 'median' )),
743745 ('Estimator' , DecisionTreeClassifier ())])
744746
745- data_content , _ , _ , _ = _run_task_get_arffcontent (model , task , class_labels )
747+ data_content , _ , _ , _ , _ = _run_task_get_arffcontent (model , task , class_labels )
746748 # 2 folds, 5 repeats; keep in mind that this task comes from the test
747749 # server, the task on the live server is different
748750 self .assertEqual (len (data_content ), 4490 )
749751 for row in data_content :
750752 # repeat, fold, row_id, 6 confidences, prediction and correct label
751- self .assertEqual (len (row ), 11 )
753+ self .assertEqual (len (row ), 12 )
752754
0 commit comments