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.

my-vignette

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.