mpcs#
- empulse.metrics.mpcs(y_true, y_score, *, loan_lost_rate=0.275, roi=0.2644, check_input=True)[source]#
Maximum Profit measure for Credit Scoring.
MPCS presumes a situation where a company is considering whether to grant a loan to a customer. Correctly identifying defaulters results in receiving a return on investment (ROI), while incorrectly identifying non-defaulters as defaulters results in a fraction of the loan amount being lost. For detailed information, consult the paper [1].
See also
mpcs_score
: to only return the MPCS score.empcs
: for a stochastic version of this metric.- Parameters:
- y_true1D array-like, shape=(n_samples,)
Binary target values (‘acquisition’: 1, ‘no acquisition’: 0).
- y_score1D array-like, shape=(n_samples,)
Target scores, can either be probability estimates or non-thresholded decision values.
- loan_lost_ratefloat, default=0.275
The fraction of the loan amount which is lost after default (
loan_lost_rate ≥ 0
).- roifloat, default=0.2644
Return on investment on the loan (
roi ≥ 0
).- check_inputbool, default=True
Perform input validation. Turning off improves performance, useful when using this metric as a loss function.
- Returns:
- mpcsfloat
Maximum Profit measure for Credit Scoring
- thresholdfloat
Fraction of loan applications that should be accepted to maximize profit
Notes
The MP measure for Credit Scoring is defined as [1]:
\[\max_t \lambda \pi_0 F_0(t) - ROI \pi_1 F_1(t)\]The MP measure for Credit Scoring requires that the default class is encoded as 0, and it is NOT interchangeable. However, this implementation assumes the standard notation (‘default’: 1, ‘no default’: 0).
References
Examples
>>> from empulse.metrics import mpcs >>> >>> y_true = [0, 1, 0, 1, 0, 1, 0, 1] >>> y_score = [0.1, 0.2, 0.3, 0.4, 0.5, 0.7, 0.8, 0.9] >>> mpcs(y_true, y_score) (0.038349999999999995, 0.875)