Several enhancements on the scoring/evaluation recipes, most of them for consistency sake (regarding the preexisting Score/Evaluation recipes on saved models in DSS).
Scoring:
write the scored dataset by chunks
add parameters: ability to pick the input columns to keep; ability to choose whether to output the probabilities columns
fix behavior: if rows of the scored dataset match a leaf with a prediction equals to None, leave the prediction/probabilities columns empty. Label should be filled however
Evaluation:
remove the parameter chunksize as it is not used
add parameters: ability to pick the input columns to keep; ability to choose whether to output the probabilities columns; ability to choose whether to output prediction_correct column
fix behavior: if new values for the target classes are found in the scored dataset, unlike in the scoring recipe, do not compute prediction/probabilities/prediction_correct (leave these columns empty for these rows, same as in DSS). Label column should be filled however
This PR also does some modifications to tree.py:
Add a new hierarchy: creating two new classes inheriting from Tree (ScoringTree, "lighter" class for recipes, and InteractiveTree, used for training in the Interactive Builder webapp).
When loading a tree from a file in the webapp, its target values, and the stats of each one of its nodes is now always recomputed
Integration tests on the scoring lib and Tree class have been updated accordingly in python-tests.
Several enhancements on the scoring/evaluation recipes, most of them for consistency sake (regarding the preexisting Score/Evaluation recipes on saved models in DSS).
Scoring:
prediction
equals toNone
, leave the prediction/probabilities columns empty. Label should be filled howeverEvaluation:
prediction_correct
columnprediction_correct
(leave these columns empty for these rows, same as in DSS). Label column should be filled howeverThis PR also does some modifications to
tree.py
:Tree
(ScoringTree
, "lighter" class for recipes, andInteractiveTree
, used for training in the Interactive Builder webapp).Integration tests on the scoring lib and
Tree
class have been updated accordingly inpython-tests
.