The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
library(autoScorecard)
#Quick Modeling
##step 1: Import Data
accepts <- read.csv(system.file("extdata", "accepts.csv", package = "autoScorecard" ))
##step 2: Create scorecard
##Considering efficiency and readability, many parameters of this automatic modeling function
##are default, which requires high-precision modeling and needs to be manually established step by step
auto_scorecard1 <- auto_scorecard( feature = accepts[1:2000,], key_var= "application_id",
y_var = "bad_ind",sample_rate = 0.7, points0 = 600, odds0=1/20, pdo = 50,
max_depth =3,tree_p = 0.1, missing_rate = 0, single_var_rate = 1, iv_set=0.02,
char_to_number = TRUE , na.omit = TRUE)
#> Start: AIC=873.27
#> bad_ind ~ application_id + vehicle_year + vehicle_make + tot_derog +
#> tot_tr + age_oldest_tr + tot_open_tr + tot_rev_tr + tot_rev_debt +
#> tot_rev_line + rev_util + fico_score + purch_price + msrp +
#> down_pyt + loan_term + loan_amt + ltv + tot_income + veh_mileage
#>
#> Df Deviance AIC
#> - application_id 1 831.27 871.27
#> - purch_price 1 831.40 871.40
#> - msrp 1 832.05 872.05
#> - tot_tr 1 832.12 872.12
#> - tot_open_tr 1 832.40 872.40
#> - vehicle_year 1 832.95 872.95
#> - tot_rev_line 1 833.09 873.09
#> <none> 831.27 873.27
#> - tot_income 1 833.94 873.94
#> - vehicle_make 1 834.31 874.31
#> - down_pyt 1 834.90 874.90
#> - loan_term 1 835.25 875.25
#> - tot_rev_tr 1 836.28 876.28
#> - veh_mileage 1 836.68 876.68
#> - loan_amt 1 836.72 876.72
#> - age_oldest_tr 1 837.63 877.63
#> - tot_derog 1 838.33 878.33
#> - tot_rev_debt 1 839.33 879.33
#> - rev_util 1 844.21 884.21
#> - ltv 1 848.13 888.13
#> - fico_score 1 853.94 893.94
#>
#> Step: AIC=871.27
#> bad_ind ~ vehicle_year + vehicle_make + tot_derog + tot_tr +
#> age_oldest_tr + tot_open_tr + tot_rev_tr + tot_rev_debt +
#> tot_rev_line + rev_util + fico_score + purch_price + msrp +
#> down_pyt + loan_term + loan_amt + ltv + tot_income + veh_mileage
#>
#> Df Deviance AIC
#> - purch_price 1 831.40 869.40
#> - msrp 1 832.05 870.05
#> - tot_tr 1 832.12 870.12
#> - tot_open_tr 1 832.40 870.40
#> - vehicle_year 1 832.95 870.95
#> - tot_rev_line 1 833.09 871.09
#> <none> 831.27 871.27
#> - tot_income 1 833.94 871.94
#> - vehicle_make 1 834.31 872.31
#> - down_pyt 1 834.90 872.90
#> - loan_term 1 835.25 873.25
#> + application_id 1 831.27 873.27
#> - tot_rev_tr 1 836.29 874.29
#> - veh_mileage 1 836.68 874.68
#> - loan_amt 1 836.72 874.72
#> - age_oldest_tr 1 837.63 875.63
#> - tot_derog 1 838.33 876.33
#> - tot_rev_debt 1 839.34 877.34
#> - rev_util 1 844.23 882.23
#> - ltv 1 848.17 886.17
#> - fico_score 1 853.98 891.98
#>
#> Step: AIC=869.4
#> bad_ind ~ vehicle_year + vehicle_make + tot_derog + tot_tr +
#> age_oldest_tr + tot_open_tr + tot_rev_tr + tot_rev_debt +
#> tot_rev_line + rev_util + fico_score + msrp + down_pyt +
#> loan_term + loan_amt + ltv + tot_income + veh_mileage
#>
#> Df Deviance AIC
#> - tot_tr 1 832.30 868.30
#> - tot_open_tr 1 832.56 868.56
#> - msrp 1 832.67 868.67
#> - vehicle_year 1 833.01 869.01
#> - tot_rev_line 1 833.23 869.23
#> <none> 831.40 869.40
#> - tot_income 1 834.19 870.19
#> - vehicle_make 1 834.44 870.44
#> - down_pyt 1 835.01 871.01
#> + purch_price 1 831.27 871.27
#> + application_id 1 831.40 871.40
#> - loan_term 1 835.48 871.48
#> - tot_rev_tr 1 836.36 872.36
#> - veh_mileage 1 836.91 872.91
#> - age_oldest_tr 1 837.75 873.75
#> - tot_derog 1 838.40 874.40
#> - loan_amt 1 838.49 874.49
#> - tot_rev_debt 1 839.57 875.57
#> - rev_util 1 844.38 880.38
#> - ltv 1 848.45 884.45
#> - fico_score 1 854.27 890.27
#>
#> Step: AIC=868.3
#> bad_ind ~ vehicle_year + vehicle_make + tot_derog + age_oldest_tr +
#> tot_open_tr + tot_rev_tr + tot_rev_debt + tot_rev_line +
#> rev_util + fico_score + msrp + down_pyt + loan_term + loan_amt +
#> ltv + tot_income + veh_mileage
#>
#> Df Deviance AIC
#> - tot_open_tr 1 833.16 867.16
#> - msrp 1 833.62 867.62
#> - vehicle_year 1 833.94 867.94
#> <none> 832.30 868.30
#> - vehicle_make 1 835.20 869.20
#> + tot_tr 1 831.40 869.40
#> - tot_income 1 835.52 869.52
#> - tot_rev_line 1 835.68 869.68
#> - down_pyt 1 835.93 869.93
#> + purch_price 1 832.12 870.12
#> + application_id 1 832.30 870.30
#> - loan_term 1 836.40 870.40
#> - tot_rev_tr 1 837.03 871.03
#> - veh_mileage 1 837.89 871.89
#> - tot_derog 1 838.45 872.45
#> - loan_amt 1 839.30 873.30
#> - age_oldest_tr 1 840.67 874.67
#> - tot_rev_debt 1 840.80 874.80
#> - rev_util 1 845.37 879.37
#> - ltv 1 849.58 883.58
#> - fico_score 1 854.62 888.62
#>
#> Step: AIC=867.16
#> bad_ind ~ vehicle_year + vehicle_make + tot_derog + age_oldest_tr +
#> tot_rev_tr + tot_rev_debt + tot_rev_line + rev_util + fico_score +
#> msrp + down_pyt + loan_term + loan_amt + ltv + tot_income +
#> veh_mileage
#>
#> Df Deviance AIC
#> - msrp 1 834.49 866.49
#> - vehicle_year 1 835.01 867.01
#> <none> 833.16 867.16
#> - tot_income 1 836.11 868.11
#> - vehicle_make 1 836.14 868.14
#> - tot_rev_line 1 836.20 868.20
#> + tot_open_tr 1 832.30 868.30
#> + tot_tr 1 832.56 868.56
#> - down_pyt 1 836.77 868.77
#> + purch_price 1 832.96 868.96
#> - tot_rev_tr 1 837.03 869.03
#> + application_id 1 833.16 869.16
#> - loan_term 1 837.25 869.25
#> - veh_mileage 1 838.82 870.82
#> - tot_derog 1 839.20 871.20
#> - loan_amt 1 839.94 871.94
#> - tot_rev_debt 1 841.17 873.17
#> - age_oldest_tr 1 841.29 873.29
#> - rev_util 1 847.28 879.28
#> - ltv 1 850.90 882.90
#> - fico_score 1 855.29 887.29
#>
#> Step: AIC=866.49
#> bad_ind ~ vehicle_year + vehicle_make + tot_derog + age_oldest_tr +
#> tot_rev_tr + tot_rev_debt + tot_rev_line + rev_util + fico_score +
#> down_pyt + loan_term + loan_amt + ltv + tot_income + veh_mileage
#>
#> Df Deviance AIC
#> - vehicle_year 1 835.55 865.55
#> <none> 834.49 866.49
#> + msrp 1 833.16 867.16
#> + tot_open_tr 1 833.62 867.62
#> - vehicle_make 1 837.66 867.66
#> - tot_rev_line 1 837.67 867.67
#> - tot_income 1 837.68 867.68
#> + purch_price 1 833.71 867.71
#> + tot_tr 1 833.85 867.85
#> - tot_rev_tr 1 838.25 868.25
#> + application_id 1 834.49 868.49
#> - down_pyt 1 838.76 868.76
#> - loan_term 1 839.15 869.15
#> - veh_mileage 1 840.23 870.23
#> - tot_derog 1 840.24 870.24
#> - age_oldest_tr 1 842.58 872.58
#> - tot_rev_debt 1 842.89 872.89
#> - loan_amt 1 843.20 873.20
#> - rev_util 1 848.45 878.45
#> - ltv 1 851.91 881.91
#> - fico_score 1 857.15 887.15
#>
#> Step: AIC=865.55
#> bad_ind ~ vehicle_make + tot_derog + age_oldest_tr + tot_rev_tr +
#> tot_rev_debt + tot_rev_line + rev_util + fico_score + down_pyt +
#> loan_term + loan_amt + ltv + tot_income + veh_mileage
#>
#> Df Deviance AIC
#> <none> 835.55 865.55
#> + vehicle_year 1 834.49 866.49
#> + tot_open_tr 1 834.51 866.51
#> - vehicle_make 1 838.58 866.58
#> - tot_rev_line 1 838.60 866.60
#> - tot_income 1 838.75 866.75
#> + tot_tr 1 834.93 866.93
#> + msrp 1 835.01 867.01
#> + purch_price 1 835.15 867.15
#> - tot_rev_tr 1 839.49 867.49
#> + application_id 1 835.55 867.55
#> - down_pyt 1 839.62 867.62
#> - loan_term 1 840.07 868.07
#> - veh_mileage 1 840.39 868.39
#> - tot_derog 1 841.35 869.35
#> - loan_amt 1 843.51 871.51
#> - age_oldest_tr 1 843.60 871.60
#> - tot_rev_debt 1 843.94 871.94
#> - rev_util 1 849.68 877.68
#> - ltv 1 853.00 881.00
#> - fico_score 1 857.67 885.67
#Step-by-Step Modeling
##step 1: Import Data
accepts <- read.csv(system.file("extdata", "accepts.csv", package = "autoScorecard" ))
##step 2: Data Description
data_detect1 <- data_detect( df = accepts, key_var = c("application_id","account_number") ,
y_var = "bad_ind" )
head(data_detect1)
#> variable class nrow missing_rate unique_count identical_rate min
#> 1 vehicle_year integer 5845 0.0001710864 21 0.356372968 0
#> 2 vehicle_make character 5845 0.0000000000 155 0.190248075 NA
#> 3 bankruptcy_ind character 5845 0.0000000000 3 0.886227545 NA
#> 4 tot_derog integer 5845 0.0364414029 30 0.488793841 0
#> 5 tot_tr integer 5845 0.0364414029 68 0.039349872 0
#> 6 age_oldest_tr integer 5845 0.0369546621 461 0.007869974 1
#> p25 p50 p75 max mean sd cv
#> 1 1997 1999 2000 9999 1901.793634 488.024392 0.2566127
#> 2 NA NA NA NA NA NA NA
#> 3 NA NA NA NA NA NA NA
#> 4 0 0 2 32 1.910156 3.274744 1.7143852
#> 5 9 16 24 77 17.084695 10.814056 0.6329675
#> 6 78 137 205 588 154.304317 99.940540 0.6476847
##step 3: Data Filtering
feature<- filter_var( df = accepts , key_var = c("application_id","account_number"), y_var = "bad_ind" ,
missing_rate = 0 , single_var_rate = 1 ,
iv_set = 0.02, char_to_number = TRUE , na.omit = TRUE )
##step 4: Select Training Sample
d = sort( sample( nrow( feature ), nrow( feature )*0.7))
train <- feature[d,]
test <- feature[-d,]
##step 5: Data Distribution Comparison
comparison_two_data( df1 = train , df2 = test ,key_var = c("application_id","account_number"), y_var="bad_ind")
##step 6: Automatic binning of data
##Decision Tree Binning
treebins_train <- bins_tree(df= train, key_var= c("application_id","account_number"), y_var="bad_ind",
max_depth=3, p=0.1)
##Equal Frequency Binning
binning_eqfreq1 <- binning_eqfreq( df= train, feat= 'tot_derog', label = 'bad_ind', nbins = 3)
##Equal Width Binning
binning_eqwid1 <- binning_eqwid( df = train, feat = 'tot_derog', label = 'bad_ind', nbins = 3)
##The K-means Binning
binning_kmean1 <- binning_kmean( df = train, feat= 'loan_term', label = 'bad_ind', nbins = 3)
##Chi-Square Binning
bins_chim1 <- bins_chim( df = train[1:200,], key_var = "application_id", y_var = "bad_ind" , alpha=0.1 )
##Unsupervised Automatic Binning Function
f_1 <-bins_unsupervised( df = feature[1:200,] , id="application_id" , label="bad_ind" ,
methods = c("k_means", "equal_width","equal_freq") , bin_nums=5 )
##The Combination of Two Bins Produces the Best Binning Result
best1 <- best_iv( df=f_1 ,bin=c('bins') , method = c('method') ,variable= c( "variable" ) ,label_iv='miv' )
vs1 <- best_vs( df1 = treebins_train[,-c(3)], df2 = best1[,-c(1:2)] ,variable="variable" ,label_iv='miv' )
##step 7: Replace Feature Data by Binning Template
woe_train <- rep_woe( df= train ,key_var="application_id", y_var="bad_ind" , tool=treebins_train ,
var_label= "variable",col_woe='woe', lower='lower' ,upper ='upper' )
woe_test <- rep_woe( df= test ,key_var="application_id", y_var="bad_ind" , tool=treebins_train ,
var_label= "variable",col_woe='woe', lower='lower' ,upper ='upper' )
##step 8: Modeling
lg<-stats::glm(bad_ind~.,family=stats::binomial(link='logit'),data= woe_train)
lg_both<-stats::step(lg,direction = "both")
#> Start: AIC=2478.97
#> bad_ind ~ application_id + account_number + vehicle_year + vehicle_make +
#> tot_derog + tot_tr + age_oldest_tr + tot_open_tr + tot_rev_tr +
#> tot_rev_debt + tot_rev_line + rev_util + fico_score + purch_price +
#> msrp + down_pyt + loan_term + loan_amt + ltv + tot_income +
#> veh_mileage
#>
#> Df Deviance AIC
#> - account_number 1 2435.0 2477.0
#> - vehicle_make 1 2435.0 2477.0
#> - tot_rev_tr 1 2435.0 2477.0
#> - msrp 1 2435.3 2477.3
#> - tot_income 1 2436.3 2478.3
#> - application_id 1 2436.9 2478.9
#> <none> 2435.0 2479.0
#> - tot_tr 1 2437.0 2479.0
#> - age_oldest_tr 1 2437.4 2479.4
#> - tot_rev_debt 1 2437.6 2479.6
#> - tot_open_tr 1 2438.4 2480.4
#> - tot_rev_line 1 2438.5 2480.5
#> - loan_term 1 2438.6 2480.6
#> - purch_price 1 2439.1 2481.1
#> - loan_amt 1 2440.4 2482.4
#> - rev_util 1 2441.5 2483.5
#> - tot_derog 1 2442.1 2484.1
#> - vehicle_year 1 2442.4 2484.4
#> - down_pyt 1 2443.7 2485.7
#> - veh_mileage 1 2451.1 2493.1
#> - ltv 1 2475.7 2517.7
#> - fico_score 1 2513.7 2555.7
#>
#> Step: AIC=2476.98
#> bad_ind ~ application_id + vehicle_year + vehicle_make + tot_derog +
#> tot_tr + age_oldest_tr + tot_open_tr + tot_rev_tr + tot_rev_debt +
#> tot_rev_line + rev_util + fico_score + purch_price + msrp +
#> down_pyt + loan_term + loan_amt + ltv + tot_income + veh_mileage
#>
#> Df Deviance AIC
#> - vehicle_make 1 2435.0 2475.0
#> - tot_rev_tr 1 2435.0 2475.0
#> - msrp 1 2435.3 2475.3
#> - tot_income 1 2436.3 2476.3
#> - application_id 1 2436.9 2476.9
#> <none> 2435.0 2477.0
#> - tot_tr 1 2437.0 2477.0
#> - age_oldest_tr 1 2437.4 2477.4
#> - tot_rev_debt 1 2437.6 2477.6
#> - tot_open_tr 1 2438.4 2478.4
#> - tot_rev_line 1 2438.6 2478.6
#> - loan_term 1 2438.7 2478.7
#> + account_number 1 2435.0 2479.0
#> - purch_price 1 2439.2 2479.2
#> - loan_amt 1 2440.5 2480.5
#> - rev_util 1 2441.6 2481.6
#> - tot_derog 1 2442.1 2482.1
#> - vehicle_year 1 2442.4 2482.4
#> - down_pyt 1 2443.7 2483.7
#> - veh_mileage 1 2451.1 2491.1
#> - ltv 1 2475.8 2515.8
#> - fico_score 1 2513.9 2553.9
#>
#> Step: AIC=2475
#> bad_ind ~ application_id + vehicle_year + tot_derog + tot_tr +
#> age_oldest_tr + tot_open_tr + tot_rev_tr + tot_rev_debt +
#> tot_rev_line + rev_util + fico_score + purch_price + msrp +
#> down_pyt + loan_term + loan_amt + ltv + tot_income + veh_mileage
#>
#> Df Deviance AIC
#> - tot_rev_tr 1 2435.0 2473.0
#> - msrp 1 2435.3 2473.3
#> - tot_income 1 2436.3 2474.3
#> - application_id 1 2437.0 2475.0
#> <none> 2435.0 2475.0
#> - tot_tr 1 2437.0 2475.0
#> - age_oldest_tr 1 2437.4 2475.4
#> - tot_rev_debt 1 2437.6 2475.6
#> - tot_open_tr 1 2438.5 2476.5
#> - tot_rev_line 1 2438.6 2476.6
#> - loan_term 1 2438.7 2476.7
#> + vehicle_make 1 2435.0 2477.0
#> + account_number 1 2435.0 2477.0
#> - purch_price 1 2439.2 2477.2
#> - loan_amt 1 2440.5 2478.5
#> - rev_util 1 2441.6 2479.6
#> - tot_derog 1 2442.1 2480.1
#> - vehicle_year 1 2442.6 2480.6
#> - down_pyt 1 2443.7 2481.7
#> - veh_mileage 1 2451.2 2489.2
#> - ltv 1 2476.1 2514.1
#> - fico_score 1 2514.1 2552.1
#>
#> Step: AIC=2473.04
#> bad_ind ~ application_id + vehicle_year + tot_derog + tot_tr +
#> age_oldest_tr + tot_open_tr + tot_rev_debt + tot_rev_line +
#> rev_util + fico_score + purch_price + msrp + down_pyt + loan_term +
#> loan_amt + ltv + tot_income + veh_mileage
#>
#> Df Deviance AIC
#> - msrp 1 2435.4 2471.4
#> - tot_income 1 2436.3 2472.3
#> - tot_tr 1 2437.0 2473.0
#> - application_id 1 2437.0 2473.0
#> <none> 2435.0 2473.0
#> - age_oldest_tr 1 2437.5 2473.5
#> - tot_rev_debt 1 2437.7 2473.7
#> - tot_open_tr 1 2438.6 2474.6
#> - tot_rev_line 1 2438.7 2474.7
#> - loan_term 1 2438.8 2474.8
#> + tot_rev_tr 1 2435.0 2475.0
#> + vehicle_make 1 2435.0 2475.0
#> + account_number 1 2435.0 2475.0
#> - purch_price 1 2439.2 2475.2
#> - loan_amt 1 2440.5 2476.5
#> - tot_derog 1 2442.1 2478.1
#> - rev_util 1 2442.4 2478.4
#> - vehicle_year 1 2442.6 2478.6
#> - down_pyt 1 2443.8 2479.8
#> - veh_mileage 1 2451.2 2487.2
#> - ltv 1 2476.2 2512.2
#> - fico_score 1 2515.8 2551.8
#>
#> Step: AIC=2471.39
#> bad_ind ~ application_id + vehicle_year + tot_derog + tot_tr +
#> age_oldest_tr + tot_open_tr + tot_rev_debt + tot_rev_line +
#> rev_util + fico_score + purch_price + down_pyt + loan_term +
#> loan_amt + ltv + tot_income + veh_mileage
#>
#> Df Deviance AIC
#> - tot_income 1 2436.6 2470.6
#> - tot_tr 1 2437.3 2471.3
#> - application_id 1 2437.4 2471.4
#> <none> 2435.4 2471.4
#> - age_oldest_tr 1 2437.8 2471.8
#> - tot_rev_debt 1 2438.0 2472.0
#> - tot_open_tr 1 2438.9 2472.9
#> - loan_term 1 2439.0 2473.0
#> + msrp 1 2435.0 2473.0
#> - tot_rev_line 1 2439.1 2473.1
#> - purch_price 1 2439.3 2473.3
#> + tot_rev_tr 1 2435.3 2473.3
#> + vehicle_make 1 2435.4 2473.4
#> + account_number 1 2435.4 2473.4
#> - loan_amt 1 2440.6 2474.6
#> - tot_derog 1 2442.5 2476.5
#> - rev_util 1 2442.7 2476.7
#> - vehicle_year 1 2443.3 2477.3
#> - down_pyt 1 2444.3 2478.3
#> - veh_mileage 1 2451.7 2485.7
#> - ltv 1 2476.2 2510.2
#> - fico_score 1 2515.9 2549.9
#>
#> Step: AIC=2470.6
#> bad_ind ~ application_id + vehicle_year + tot_derog + tot_tr +
#> age_oldest_tr + tot_open_tr + tot_rev_debt + tot_rev_line +
#> rev_util + fico_score + purch_price + down_pyt + loan_term +
#> loan_amt + ltv + veh_mileage
#>
#> Df Deviance AIC
#> <none> 2436.6 2470.6
#> - application_id 1 2438.7 2470.7
#> - tot_tr 1 2438.8 2470.8
#> - age_oldest_tr 1 2439.3 2471.3
#> - tot_rev_debt 1 2439.3 2471.3
#> + tot_income 1 2435.4 2471.4
#> - tot_open_tr 1 2440.2 2472.2
#> - loan_term 1 2440.3 2472.3
#> + msrp 1 2436.3 2472.3
#> + tot_rev_tr 1 2436.6 2472.6
#> + vehicle_make 1 2436.6 2472.6
#> + account_number 1 2436.6 2472.6
#> - tot_rev_line 1 2440.8 2472.8
#> - purch_price 1 2441.0 2473.0
#> - loan_amt 1 2441.6 2473.6
#> - tot_derog 1 2443.6 2475.6
#> - rev_util 1 2443.6 2475.6
#> - vehicle_year 1 2444.1 2476.1
#> - down_pyt 1 2445.6 2477.6
#> - veh_mileage 1 2452.8 2484.8
#> - ltv 1 2478.4 2510.4
#> - fico_score 1 2517.9 2549.9
logit<-stats::predict(lg_both,woe_test)
woe_test$lg_both_p<-exp(logit)/(1+exp(logit))
pred_both <- ROCR::prediction(woe_test$lg_both_p, woe_test$bad_ind)
perf_both <- ROCR::performance(pred_both,"tpr","fpr")
##step 9: Correlation Diagram
coe = (lg_both$coefficients)
cor1<-stats::cor( Xvar_df<- woe_train[-which(colnames(feature) %in% c("application_id","account_number","bad_ind"))])
corrplot::corrplot(cor1)
corrplot::corrplot(cor1,method = "number")
##step 10: Manually Input Parameters to Generate Scorecards
##scorecard
Score<-noauto_scorecard( bins_card= woe_test, fit= lg_both,bins_woe=treebins_train ,points0 = 600,
odds0 = 1/20, pdo = 50 ,k = 2)
Score_2<-noauto_scorecard( bins_card= woe_train, fit= lg_both,bins_woe=treebins_train ,points0 = 600,
odds0 = 1/20, pdo = 50 ,k = 3)
##scorecard2
Score<-noauto_scorecard2( bins_card= woe_test, fit= lg_both,bins_woe=treebins_train ,points0 = 600,
odds0 = 1/20, pdo = 50 ,k = 2)
Score_2<-noauto_scorecard2( bins_card= woe_train, fit= lg_both,bins_woe=treebins_train ,points0 = 600,
odds0 = 1/20, pdo = 50 ,k = 3)
##step 11: PSI
data_train <- Score_2$data_score
data_test <- Score$data_score
psi_1<-psi_cal( df_train = data_train , df_test = data_test,feat='Score',label='bad_ind' , nbins=10)
##step 12: Data Painter
plot_board( label= woe_test$bad_ind, pred = woe_test$lg_both_p )These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.