Your question is Fraud Prediction with Decision Trees. Take a moment with it on the right.
Talk me through your thinking if you like. When you're confident, submit your answer and I'll grade it like a real screen (7/10 or better passes).
Write code for fraud prediction using a decision tree algorithm, where X is the feature columns and y is the target fraud. Use a reproducible stratified train-test split, handle missing values and categorical features without leakage, and account for class imbalance. Return the fitted pipeline and evaluation metrics appropriate for fraud detection, including precision, recall, F1-score, confusion matrix, ROC-AUC, and average precision. Assume X is a pandas DataFrame and y is a binary pandas Series containing 0 for non-fraud and 1 for fraud.