@@ -324,44 +324,46 @@ def commit(self):
324324 predicted = self .results .predicted [self .selected_learner [0 ]]
325325 selected = [i for i , t in enumerate (zip (actual , predicted ))
326326 if t in indices ]
327- row_indices = self .results .row_indices [selected ]
328-
329- extra = []
330- class_var = self .data .domain .class_var
331- metas = self .data .domain .metas
332-
333- if self .append_predictions :
334- predicted = numpy .array (predicted [selected ], dtype = object )
335- extra .append (predicted .reshape (- 1 , 1 ))
336- var = Orange .data .DiscreteVariable (
337- "{}({})" .format (class_var .name , learner_name ),
338- class_var .values
327+ if selected :
328+ row_indices = self .results .row_indices [selected ]
329+ extra = []
330+ class_var = self .data .domain .class_var
331+ metas = self .data .domain .metas
332+
333+ if self .append_predictions :
334+ predicted = numpy .array (predicted [selected ], dtype = object )
335+ extra .append (predicted .reshape (- 1 , 1 ))
336+ var = Orange .data .DiscreteVariable (
337+ "{}({})" .format (class_var .name , learner_name ),
338+ class_var .values
339+ )
340+ metas = metas + (var ,)
341+
342+ if self .append_probabilities and \
343+ self .results .probabilities is not None :
344+ probs = self .results .probabilities [self .selected_learner [0 ],
345+ selected ]
346+ extra .append (numpy .array (probs , dtype = object ))
347+ pvars = [Orange .data .ContinuousVariable ("p({})" .format (value ))
348+ for value in class_var .values ]
349+ metas = metas + tuple (pvars )
350+
351+ X = self .data .X [row_indices ]
352+ Y = self .data .Y [row_indices ]
353+ M = self .data .metas [row_indices ]
354+ row_ids = self .data .ids [row_indices ]
355+
356+ M = numpy .hstack ((M ,) + tuple (extra ))
357+ domain = Orange .data .Domain (
358+ self .data .domain .attributes ,
359+ self .data .domain .class_vars ,
360+ metas
339361 )
340- metas = metas + (var ,)
341-
342- if self .append_probabilities and \
343- self .results .probabilities is not None :
344- probs = self .results .probabilities [self .selected_learner [0 ],
345- selected ]
346- extra .append (numpy .array (probs , dtype = object ))
347- pvars = [Orange .data .ContinuousVariable ("p({})" .format (value ))
348- for value in class_var .values ]
349- metas = metas + tuple (pvars )
350-
351- X = self .data .X [row_indices ]
352- Y = self .data .Y [row_indices ]
353- M = self .data .metas [row_indices ]
354- row_ids = self .data .ids [row_indices ]
355-
356- M = numpy .hstack ((M ,) + tuple (extra ))
357- domain = Orange .data .Domain (
358- self .data .domain .attributes ,
359- self .data .domain .class_vars ,
360- metas
361- )
362- data = Orange .data .Table .from_numpy (domain , X , Y , M )
363- data .ids = row_ids
364- data .name = learner_name
362+ data = Orange .data .Table .from_numpy (domain , X , Y , M )
363+ data .ids = row_ids
364+ data .name = learner_name
365+ else :
366+ data = None
365367
366368 else :
367369 data = None
0 commit comments