# Bad results in a Loan Default Prediction Problem

I have a dataset consisting of 23 features for a number of clients :

• Client ID
• yearly financial ratios
• couple of qualitative features
• and a binary default variable

I'm trying to create a model that predicts whether the client will default or not , i tried , for starters , with svm and xgboost but the results were pretty bad (high accuracy and very bad recall - F1) due to the imbalance of the data (~minority about 6%).
A problem that i tried to fix by trying SMOTE,undersampling and trying to adjust the built-in tools for balancing data like class_weight parameter for SVC and scale_pos_weight for xgboost respectively but the results are still bad .( whatever i do if the recall of one of the two classes rises the other one decreases ).

Also the Correlations between the predictors and the target are very low ( 0.18 is the highest ) ,
i want to also know, at which point can i tell for sure that the data at hand is not explanatory enough to predict a certain variable?

• Just for clarification purposes, is your question related to these particular modelling choices (XGBoost, SVC) and their performance on this dataset? Or are you just trying to build a good predictive model on the data you have? In other words, does the solution to your problem have to include XGBoost/SVC or will any method with good enough results suffice? – Emil Jul 11 '19 at 9:09
• No , i'm not restricted to these two methods. I'm planning to try other methods and compare between all of them and eventually choose the best one so any suggestions are welcome. – Whatever Jul 11 '19 at 9:29

3. Hopefully now you have decreased your predictors from 23 to e.g. 5 or 6, and you can then perform a simple logistic regression to estimate probability of default for future customers. To measure how well this method performs, you could split your data to development/validation samples, where you take for example 80% of the data and use it to train the model, then test the results on the remaining 20%. In general, a good model is one with discriminatory power $$\geq 70\%$$.