# ๐Ÿงช Test Cases for Heart Attack Risk Prediction App ## Test Case 1: Low Risk Patient (Healthy Individual) **Input:** - Gender: Female (2) - Age: 35 years - Height: 165 cm - Weight: 60 kg - Systolic BP: 120 mmHg - Diastolic BP: 80 mmHg - Cholesterol: Normal (1) - Glucose: Normal (1) - Smoking: No (0) - Alcohol: No (0) - Physical Activity: Yes (1) - Protein Level: 14.0 - Ejection Fraction: 60.0 **Expected Output:** - Risk Level: โœ… Low Risk - Risk Probability: < 10% (typically 2-8%) - Prediction: No Heart Disease - Key Risk Factors: โœ… Health Status: Healthy indicators - Model Breakdown: - XGBoost: ~5-8% risk - CatBoost: ~1-2% risk (most accurate for low risk) - LightGBM: ~20-25% risk (Note: LightGBM tends to be more conservative/risk-averse) - Ensemble: ~2-5% risk (weighted: 5% XGB + 85% CAT + 10% LGB) - Recommendation: โœ… Low Risk - Continue maintaining a healthy lifestyle! **Note:** LightGBM may show higher individual risk percentages due to its training characteristics, but the ensemble weights (85% CatBoost) ensure the final prediction remains accurate. --- ## Test Case 2: Moderate Risk Patient (Some Risk Factors) **Input:** - Gender: Male (1) - Age: 55 years - Height: 175 cm - Weight: 85 kg (BMI ~27.8 - Overweight) - Systolic BP: 135 mmHg - Diastolic BP: 88 mmHg - Cholesterol: Above Normal (2) - Glucose: Normal (1) - Smoking: No (0) - Alcohol: Yes (1) - Physical Activity: No (0) - Protein Level: 6.5 - Ejection Fraction: 55.0 **Expected Output:** - Risk Level: โš ๏ธ Moderate Risk - Risk Probability: 30-50% (typically 35-45%) - Prediction: May indicate risk - Key Risk Factors: โš ๏ธ High BP, High cholesterol, Alcohol consumption, Physical inactivity - Model Breakdown: - XGBoost: ~35-45% risk - CatBoost: ~35-45% risk - LightGBM: ~35-45% risk - Ensemble: ~35-45% risk - Recommendation: โš ๏ธ Moderate Risk - Consider consulting a healthcare professional. --- ## Test Case 3: High Risk Patient (Multiple Risk Factors) **Input:** - Gender: Male (1) - Age: 65 years - Height: 170 cm - Weight: 95 kg (BMI ~32.9 - Obese) - Systolic BP: 150 mmHg - Diastolic BP: 100 mmHg - Cholesterol: Well Above Normal (3) - Glucose: Well Above Normal (3) - Smoking: Yes (1) - Alcohol: Yes (1) - Physical Activity: No (0) - Protein Level: 6.0 - Ejection Fraction: 45.0 **Expected Output:** - Risk Level: ๐Ÿšจ Very High Risk - Risk Probability: > 70% (typically 75-90%) - Prediction: Heart Disease Detected - Key Risk Factors: โš ๏ธ High BMI (>30), High BP, High cholesterol, High glucose, Smoking, Alcohol consumption, Physical inactivity - Model Breakdown: - XGBoost: ~75-90% risk - CatBoost: ~75-90% risk - LightGBM: ~75-90% risk - Ensemble: ~75-90% risk - Recommendation: โš ๏ธ High Risk Detected! Please consult with a healthcare professional immediately. --- ## Test Case 4: Borderline Case (Age Factor) **Input:** - Gender: Female (2) - Age: 50 years - Height: 160 cm - Weight: 70 kg (BMI ~27.3 - Overweight) - Systolic BP: 130 mmHg - Diastolic BP: 85 mmHg - Cholesterol: Above Normal (2) - Glucose: Normal (1) - Smoking: No (0) - Alcohol: No (0) - Physical Activity: Yes (1) - Protein Level: 7.0 - Ejection Fraction: 58.0 **Expected Output:** - Risk Level: โš ๏ธ Moderate Risk - Risk Probability: 20-40% (typically 25-35%) - Prediction: May indicate risk - Key Risk Factors: โš ๏ธ High BMI (>30), High BP, High cholesterol - Model Breakdown: - XGBoost: ~25-35% risk - CatBoost: ~25-35% risk - LightGBM: ~25-35% risk - Ensemble: ~25-35% risk - Recommendation: โš ๏ธ Moderate Risk - Consider consulting a healthcare professional. --- ## Test Case 5: Young Patient with Lifestyle Risks **Input:** - Gender: Male (1) - Age: 28 years - Height: 180 cm - Weight: 75 kg (BMI ~23.1 - Normal) - Systolic BP: 125 mmHg - Diastolic BP: 82 mmHg - Cholesterol: Normal (1) - Glucose: Normal (1) - Smoking: Yes (1) - Alcohol: Yes (1) - Physical Activity: No (0) - Protein Level: 14.5 - Ejection Fraction: 62.0 **Expected Output:** - Risk Level: โš ๏ธ Moderate Risk - Risk Probability: 15-30% (typically 20-28%) - Prediction: May indicate risk - Key Risk Factors: โš ๏ธ Smoking, Alcohol consumption, Physical inactivity - Model Breakdown: - XGBoost: ~20-28% risk - CatBoost: ~20-28% risk - LightGBM: ~20-28% risk - Ensemble: ~20-28% risk - Recommendation: โš ๏ธ Moderate Risk - Consider consulting a healthcare professional. --- ## Test Case 6: Elderly Patient with Good Health **Input:** - Gender: Female (2) - Age: 70 years - Height: 155 cm - Weight: 58 kg (BMI ~24.1 - Normal) - Systolic BP: 125 mmHg - Diastolic BP: 78 mmHg - Cholesterol: Normal (1) - Glucose: Normal (1) - Smoking: No (0) - Alcohol: No (0) - Physical Activity: Yes (1) - Protein Level: 13.5 - Ejection Fraction: 58.0 **Expected Output:** - Risk Level: โœ… Low to Moderate Risk - Risk Probability: 10-25% (typically 15-22%) - Prediction: No Heart Disease (or low risk) - Key Risk Factors: โœ… Health Status: Healthy indicators (or minimal risk factors) - Model Breakdown: - XGBoost: ~15-22% risk - CatBoost: ~15-22% risk - LightGBM: ~15-22% risk - Ensemble: ~15-22% risk - Recommendation: โœ… Low Risk - Continue maintaining a healthy lifestyle! (or Moderate Risk warning) --- ## Test Case 7: Extreme High Risk (All Risk Factors) **Input:** - Gender: Male (1) - Age: 60 years - Height: 168 cm - Weight: 100 kg (BMI ~35.4 - Obese) - Systolic BP: 160 mmHg - Diastolic BP: 105 mmHg - Cholesterol: Well Above Normal (3) - Glucose: Well Above Normal (3) - Smoking: Yes (1) - Alcohol: Yes (1) - Physical Activity: No (0) - Protein Level: 5.5 - Ejection Fraction: 40.0 **Expected Output:** - Risk Level: ๐Ÿšจ Very High Risk - Risk Probability: > 85% (typically 88-95%) - Prediction: Heart Disease Detected - Key Risk Factors: โš ๏ธ High BMI (>30), High BP, High cholesterol, High glucose, Smoking, Alcohol consumption, Physical inactivity - Model Breakdown: - XGBoost: ~88-95% risk - CatBoost: ~88-95% risk - LightGBM: ~88-95% risk - Ensemble: ~88-95% risk - Recommendation: โš ๏ธ High Risk Detected! Please consult with a healthcare professional immediately. --- ## Test Case 8: Only Physical Inactivity **Input:** - Gender: Female (2) - Age: 40 years - Height: 165 cm - Weight: 65 kg (BMI ~23.9 - Normal) - Systolic BP: 118 mmHg - Diastolic BP: 75 mmHg - Cholesterol: Normal (1) - Glucose: Normal (1) - Smoking: No (0) - Alcohol: No (0) - Physical Activity: No (0) - Protein Level: 14.0 - Ejection Fraction: 60.0 **Expected Output:** - Risk Level: โœ… Low Risk - Risk Probability: < 15% (typically 5-12%) - Prediction: No Heart Disease - Key Risk Factors: โ„น๏ธ Lifestyle Note: Physical inactivity - Consider adding regular physical activity to reduce risk. - Model Breakdown: - XGBoost: ~5-12% risk - CatBoost: ~5-12% risk - LightGBM: ~5-12% risk - Ensemble: ~5-12% risk - Recommendation: โœ… Low Risk - Continue maintaining a healthy lifestyle! --- ## โœ… Verification Checklist ### UI Elements to Verify: - [ ] Page title displays correctly: "Predicting Heart Attack Risk: An Ensemble Modeling Approach" - [ ] Subtitle includes: "XGBoost, CatBoost, and LightGBM" - [ ] Sidebar shows optimized ensemble weights (XGB: 5%, CAT: 85%, LGB: 10%) - [ ] Sidebar displays Accuracy: 80.77% and Recall: 93.27% - [ ] All input fields are present and functional - [ ] Prediction button works correctly - [ ] Results display with proper formatting ### Model Display to Verify: - [ ] All 4 models displayed horizontally: XGBoost, CatBoost, LightGBM, Ensemble - [ ] Each model shows progress bar with percentage inside - [ ] Risk percentage displayed below each bar - [ ] Color coding: Green (low), Orange (moderate), Red (high) - [ ] Ensemble metrics section shows Accuracy and Recall ### Prediction Results to Verify: - [ ] Risk probability displayed correctly - [ ] Risk level matches probability range - [ ] Key risk factors identified correctly - [ ] Recommendations match risk level - [ ] Model breakdown shows all 4 models - [ ] Ensemble method info displayed ### Error Handling: - [ ] App handles missing models gracefully - [ ] Invalid inputs show appropriate warnings - [ ] Error messages are user-friendly --- ## ๐Ÿ“Š Expected Ensemble Metrics (Sidebar) - **Accuracy**: 80.77% - **Recall**: 93.27% - **Ensemble Weights**: XGBoost: 5.0%, CatBoost: 85.0%, LightGBM: 10.0% --- ## ๐ŸŽฏ Quick Test Scenarios 1. **Minimum Input Test**: Use default values, click predict โ†’ Should show low risk 2. **Maximum Risk Test**: Set all risk factors to maximum โ†’ Should show very high risk 3. **Edge Case Test**: Age 20, all normal โ†’ Should show very low risk 4. **Edge Case Test**: Age 100, all normal โ†’ Should show moderate risk due to age 5. **Single Risk Factor**: Only smoking โ†’ Should show moderate risk 6. **Physical Inactivity Only**: Only inactive, all else normal โ†’ Should show info message (not warning) --- ## ๐Ÿ“ Notes - Actual risk percentages may vary slightly (ยฑ2-3%) due to model variations - The ensemble uses weighted average: 5% XGBoost + 85% CatBoost + 10% LightGBM - **Important:** LightGBM may show higher individual risk percentages (15-25% for low-risk cases) due to its training characteristics. This is expected behavior and does not affect the final ensemble prediction, which is heavily weighted toward CatBoost (85%). - The final ensemble prediction is the weighted average of all three models, so even if LightGBM shows higher values, the ensemble result remains accurate. - For low-risk patients: CatBoost typically shows the most accurate low values (~1-2%), while LightGBM may show 20-25%. The ensemble (weighted) will be closer to CatBoost's prediction.