allow user to pass lb and ub as lists in RiskScoreOptimizier constructor and starRaySearchModel constructor to enforce feature-wise constraints, helpful for monotonicity.
Additional functionalities include (these don't affect the core algorithm):
FasterRisk() in fasterrisk_wrapper.py to put together things in core algorithm as one class (RiskScoreOptimizer for training, RiskScoreClassifier for prediction, and diverse sparse solutions like multipliers, beta0, betas, prints/visualizations of score cards, selection of models).
Score card visualization code in score_visual.py, functionality is implemented as a method for FasterRisk() class, which can be called to visualize score cards for every model in diverse sparse pool.
Helper functions to allow users to set lb and ub for individual features to enforce monotonicity constraints.
BinBinarizer() class in binarization_util.py to allow for .fit and .transform on datasets and calculation of group indices (fit on training, transform on test).
Examples
See added_functionalities_example.ipynb
Requirements
Documented in requirements.txt, but I think all the newly needed packages are Pillow==9.4.0 and matplotlib==3.7.0 for score card visualization. No need to merge this, just for reference.
Changes to core algorithm:
lb
andub
as lists inRiskScoreOptimizier
constructor andstarRaySearchModel
constructor to enforce feature-wise constraints, helpful for monotonicity.Additional functionalities include (these don't affect the core algorithm):
FasterRisk()
infasterrisk_wrapper.py
to put together things in core algorithm as one class (RiskScoreOptimizer
for training,RiskScoreClassifier
for prediction, and diverse sparse solutions likemultipliers
,beta0
,betas
, prints/visualizations of score cards, selection of models).score_visual.py
, functionality is implemented as a method forFasterRisk()
class, which can be called to visualize score cards for every model in diverse sparse pool.BinBinarizer()
class inbinarization_util.py
to allow for.fit
and.transform
on datasets and calculation of group indices (fit on training, transform on test).Examples
See
added_functionalities_example.ipynb
Requirements
Documented in
requirements.txt
, but I think all the newly needed packages arePillow==9.4.0
andmatplotlib==3.7.0
for score card visualization. No need to merge this, just for reference.