Skip to content

Releases: ShimantoRahman/empulse

0.7.0

05 Feb 19:03
Compare
Choose a tag to compare

Full Changelog: 0.6.0...0.7.0

  • MajorFeature: Add empulse.models.CSTreeClassifier, empulse.models.CSForestClassifier,
    and empulse.models.CSBaggingClassifier to support cost-sensitive decision tree and ensemble models
  • Enhancement: Add support for scikit-learn 1.5.2 (previously Empulse only supported scikit-learn 1.6.0 and above).
  • API: Removed the emp_score and emp functions from the empulse.metrics module.
    Use the empulse.metrics.Metric class instead to define custom expected maximum profit measures.
    For more information, read the User Guide.
  • API: Removed numba as a dependency for Empulse. This will reduce the installation time and the size of the package.
  • Fix: Fix empulse.metrics.Metric when defining stochastic variable with fixed values.
  • Fix: Fix empulse.metrics.Metric when stochastic variable has infinite bounds.
  • Fix: Fix empulse.models.CSThresholdClassifier
    when costs of predicting positive and negative classes are equal.
  • Fix: Fix documentation linking issues to sklearn

0.6.0

28 Jan 22:42
Compare
Choose a tag to compare
  • Add Metric class to easily build your own value-driven and cost-sensitive metrics

  • Add support for LightGBM and Catboost models in CSBoostClassifier and B2BoostClassifier

  • make_objective_churn and make_objective_acquisition
    now take a model argument to calculate the objective for either XGBoost, LightGBM or Catboost models.

  • XGBoost is now an optional dependency together with LightGBM and Catboost. To install the package with
    XGBoost, LightGBM and Catboost support, use the following command: pip install empulse[optional]

  • Renamed y_pred_baseline and y_proba_baseline to baseline in savings_score
    and expected_savings_score. It now accepts the following arguments:

    • If 'zero_one', the baseline model is a naive model that predicts all zeros or all ones
      depending on which is better.
    • If 'prior', the baseline model is a model that predicts the prior probability of
      the majority or minority class depending on which is better (not available for savings score).
    • If array-like, target probabilities of the baseline model.
  • Add parameter validation for all models and samplers

  • Make all arguments of dataset loaders keyword-only

  • Update the descriptions attached to each dataset to match information found in the user guide

  • Improve type hints for functions and classes

Full Changelog: 0.5.2...0.6.0

0.5.2

12 Jan 22:27
Compare
Choose a tag to compare
  • Allow savings_score and expected_savings_score
    to calculate the savings score over the baseline model instead of a naive model,
    by setting the y_pred_baseline and y_proba_baseline parameters, respectively.
  • Reworked the user guide documentation to better explain the usage of value-driven
    and cost-sensitive models, samplers and metrics
  • CSLogitClassifier and ProfLogitClassifier
    by default do not perform soft-thresholding on the regression coefficients.
    This can be enabled by setting the soft_threshold parameter to True.
  • Prevent division by zero errors in expected_cost_loss

Full Changelog: 0.5.1...0.5.2

0.5.1

05 Jan 14:33
Compare
Choose a tag to compare
  • Fix documentation build issue

Full Changelog: 0.5.0...0.5.1

0.5.0

05 Jan 13:57
Compare
Choose a tag to compare
  • Added supported for python 3.13
  • Added cost-sensitive models
    • CSLogitClassifier
    • CSBoostClassifier
    • RobustCSClassifier
    • CSThresholdClassifier
  • Added cost-sensitive metrics
    • cost_loss
    • expected_cost_loss
    • expected_log_cost_loss
    • savings_score
    • expected_savings_score
  • Added cost-sensitive sampler
    • CostSensitiveSampler
  • Added datasets module
  • rename metric arguments which expect target score from y_pred to y_score and
    target probabilities from y_pred to y_proba.
  • Allow all cost-sensitive models and samplers to accept cost parameters during initialization

Full Changelog: 0.4.6...0.5.0

0.4.6

31 Dec 11:19
Compare
Choose a tag to compare

Full Changelog: 0.4.0...0.4.6

Empulse 0.4.0

13 Dec 19:42
Compare
Choose a tag to compare

Added the Area Under the Expected Profit Curve metric.

Empulse 0.3.1

13 May 12:48
Compare
Choose a tag to compare
Bump to version 0.3.1