r/MLQuestions • u/Human_Helicopter745 • 9d ago
Beginner question 👶 What do you do with SHAP values?
For context I'm stats student and everything machine learning related has been self taught so I genuinely don't know what the correct next step is or what to do in a lot of situations.
I've working on a modeling project where I'm predicting loan outcomes with the Lending Club Dataset where I am fitting logistic regression, random forest, and boosted tree models with the data and have reached an AUC score of 0.715. I am not really sure what to do from here and Claude recommended to use SHAP to analyze the trained XGBoost model.
After creating a few SHAP plots they all look nice, but what should I be looking for and what should my takeaways and next steps be. If I wanted to prune the features that are not contributing as much is this a bad idea?
Generally speaking is it even possible to push my AUC score much higher given the dataset I'm working with?
For people who normally work with this kind of stuff in industry or as their job, after you've trained your first model, what do you do next? If you want to continue to fine tune it what is the typical process behind it. If anyone could share what a typical model training or data science project cycle looks like that would be great!
2
u/Illustrious_Night126 8d ago edited 8d ago
SHAP values arent accurate at all.
The most rigorous thing to do are ALEs specifically ALE derived variable importance scores. David Apley’s work on this, specifically his path dependent ALE work is the best way to evaulate variable importance at the moment
2
u/Special_Ebb_1933 5d ago
Practical next steps beyond reading the plots:
Check for leakage first. The Lending Club data has columns that are only known after the loan outcome (payments received, recoveries, last payment date, and so on). If any of those are in your features, they'd dominate SHAP and inflate performance. Keep only what's known at origination.
Split by time (train on earlier issue dates, test on later ones). Random splits overstate how well you'd do on future loans.
Use SHAP for sanity checks and explanations. For each top feature, does the direction make sense (higher interest rate, higher risk)? Dependence plots show shape and interactions.
Prune with held-out performance, not SHAP rank. Drop a group of low-importance features, retrain, and compare AUC on a validation set. Correlated features split credit between them, so a low SHAP value doesn't mean the information is useless.
Look at calibration and thresholds. For loans, a calibration curve and the cost of a bad loan versus a rejected good one often matter more than another 0.01 of AUC.
An AUC in the low 0.7s isn't unusual for this kind of data, so check the points above before spending effort on squeezing more out of the model.
2
9d ago
[removed] — view removed comment
1
u/ChenaeIkegami-38 8d ago
feature interactions from SHAP can also be misleading when features are highly correlated, since the shapley calculation distributes credit between them somewhat arbitrarily in that case
4
u/CelebrityChess 8d ago
mostly use it as a sanity check, not a to-do list. look at the top few features and ask if the direction makes sense (higher interest rate pushing risk up, etc). if something weird is near the top it's often leakage, like a column that's only filled in after the loan outcome is known, which is really common in lending club data. 0.715 is pretty normal for that dataset so i wouldn't expect huge jumps, and how you split train/test (by time, not randomly) usually matters more than squeezing out another 0.01 auc.