The idea behind the Treatment class (currently on the dev branch) is to represent each of the transformations we apply to coinstallation graph separately, for clarity and modularity.
In this vein, we should convert the tie-breaking logic from _build_sorted_result_list into a Treatment which modifies the weights in the treated graph so as to break ties, ie resulting in a matrix with no repeated scores along any row. This would then be applied as the final treatment when building the treated graph.
This resolves #42 (assuming the ranking strings are not used elsewhere), since recommend() can then simply sort scores without worrying about ties.
The idea behind the
Treatment
class (currently on thedev branch
) is to represent each of the transformations we apply to coinstallation graph separately, for clarity and modularity.In this vein, we should convert the tie-breaking logic from
_build_sorted_result_list
into aTreatment
which modifies the weights in the treated graph so as to break ties, ie resulting in a matrix with no repeated scores along any row. This would then be applied as the final treatment when building the treated graph.This resolves #42 (assuming the ranking strings are not used elsewhere), since
recommend()
can then simply sort scores without worrying about ties.