Python Machine Learning Assessment
Problem Statement:
“Predicting Health Insurance Claim Approval”
Analyse customer data and build a predictive model that identifies whether a claim
will be approved or denied based on historical records.
Tools & Technologies to Use:
• Language: Python
• Libraries:
o NumPy, Pandas (Data wrangling & analysis)
o Matplotlib, Seaborn (EDA & visualization)
o scikit-learn (Machine learning & evaluation)
o SciPy (Statistical tests)
You may use Jupyter Notebook or Google Colab.
Tasks and Deliverables:
1. Data Loading & Cleaning
• Load the dataset using Pandas
• Check for missing/null values
• Convert categorical variables as needed
• Describe data types and fix incorrect types if any
2. Exploratory Data Analysis (EDA)
• Generate summary statistics (describe, info)
• Plot distributions (e.g., histogram of charges, boxplot for BMI by smoker status)
• Analyze relationships between features and target (claim_approved)
• Plot heatmap of correlations
3. Feature Engineering
• Create new features (e.g., charges per visit, age bins)
• Encode categorical variables (gender, smoker, region)
• Normalize/scale numerical variables where appropriate
4. Statistical Analysis
• Use t-tests or chi-square tests to compare:
o Claim approval rates across smokers vs non-smokers
o Differences in claim amount between approved and denied groups
• Interpret p-values and comment on statistical significance
5. Modeling
• Split the data (80/20) for training and testing
• Train a Logistic Regression and Decision Tree Classifier
• Evaluate with:
o Accuracy
o Precision, Recall, F1 Score
o Confusion Matrix
• Compare both models and select the better one
• Optionally perform hyperparameter tuning (e.g., max_depth)
Deliverables
1. A Jupyter Notebook / Colab Notebook containing:
o Clean and well-commented code
o Visualizations
o Answers/insights from EDA and statistical analysis
o Final model evaluation
2. A short summary report (PDF or Markdown) (1–2 pages):
o Key findings
o Assumptions made
o Model performance summary
o Business recommendations (optional)
Additional Instructions
• Use Markdown cells to explain your thought process.
• Highlight assumptions and data handling choices.
• Use random_state in train-test split to ensure reproducibility.
• Focus on clarity, code quality, and interpretation.