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?