Skip to content

0.11.0

Choose a tag to compare

@github-actions github-actions released this 08 May 11:13
· 5 commits to main since this release
  • Feature Added ProfTreeClassifier to optimize a cost-sensitive metric using evolutionary trees (similar to ProfLogitClassifier).
  • Feature Added CSRateClassifier to optimize for a specific predicted positive rate.
  • Feature Allow CSThresholdClassifier to optimize the decision threshold at training time. Users can now either specify the decision threshold to use at prediction time or let the model choose the optimal threshold during training.
  • Feature (Experimental) When using the MaxProfit strategy, only one stochastic variable is present, and the cost/profit function is a polynomials of the stochastic variable: the metric will now be computed exactly instead of using numerical integration. This is currently supported for stochastic variables following the Normal, Log Normal, Uniform, Beta, Gamma, Chi Squared, Exponential, Weibull, Pareto, and Triangular distributions.
  • Feature (Experimental) Added support for the MaxProfit strategy metrics to be optimized through gradient descent methods in CSLogitClassifier and CSBoostClassifier.
    This is currently an experimental feature and is not recommended for use in production.
  • API Change Updated the ProfLogitClassifier interface to be more consistent
    with other models in the package. By default optimizes the maximum profit metric.
  • API Change CSLogitClassifier no longer takes a string argument for the loss function
    to be more consistent with other models in the package. Default value for the loss is None.
  • API Change MaxProfit now takes a numpy Generator instead of a RandomState instance.
  • Enhancement Metrics built with the MaxProfit
    strategy can now handle instance-dependent costs. They will automatically be averaged over the instances.
    Mathematically this is equivalent to recomputing the EMP score for each instance and then averaging the scores.
  • Enhancement Metrics built with the Cost and Savings strategies can now handle stochastic cost parameters. If the distribution allows it, the mean cost will be computed.
  • Fix Fix CSTreeClassifier and CSForestClassifier not properly training when costs were negative.
  • Fix Fix integration bounds inconsistently being calculated when the MaxProfit strategy was chosen.
  • Fix Fix CSBoostClassifier throwing errors when one or two of the Boosting libraries were not installed (XGBoost, LGBM & Catboost).
  • Fix Add name attribute to Metric class to fix issues with scikit-learn compatibility.
  • Fix Fix metadata routing not working for scikit-learn>=1.8.0
  • Fix Fix MaxProfit strategy not calculating Log Normal distributed variables correctly when using quasi monte carlo.
  • Fix Fix some models not properly being able to be pickled when using a custom metric as the loss function.
  • Fix Fix some distributions not correctly computing the expected maximum profit score when using the MaxProfit strategy when using monte carlo or quasi monte carlo method.