metadata
title: Milk Spoilage Classifier - Multi-Variant API
emoji: π₯
colorFrom: indigo
colorTo: purple
sdk: docker
pinned: false
license: mit
Milk Spoilage Classification API - Multi-Variant
AI-powered milk spoilage classification with 10 specialized model variants optimized for different data availability scenarios.
π Features
- 10 Model Variants with test accuracies from 62.8% to 95.8%
- Automatic Feature Validation - API validates required features for each variant
- RESTful API with comprehensive OpenAPI documentation
- Custom GPT Ready - Designed for seamless ChatGPT integration
π Available Model Variants
| Rank | Variant | Test Accuracy | Features Required |
|---|---|---|---|
| π₯ | baseline | 95.8% | All 6 features |
| π₯ | scenario_1_days14_21 | 94.2% | Days 14 & 21 (SPC+TGN) |
| π₯ | scenario_3_day21 | 93.7% | Day 21 only (SPC+TGN) |
| 4 | scenario_4_day14 | 87.4% | Day 14 only (SPC+TGN) |
| 5 | scenario_2_days7_14 | 87.3% | Days 7 & 14 (SPC+TGN) |
| 6 | scenario_6_spc_all | 78.3% | SPC only (All Days) |
| 7 | scenario_8_spc_7_14 | 73.3% | SPC only (Days 7 & 14) |
| 8 | scenario_9_tgn_7_14 | 73.1% | TGN only (Days 7 & 14) |
| 9 | scenario_7_tgn_all | 69.9% | TGN only (All Days) |
| 10 | scenario_5_day7 | 62.8% | Day 7 only (SPC+TGN) |
π§ API Endpoints
GET /variants
List all available model variants with metadata
POST /predict
Make a prediction using the specified model variant
Example Request:
{
"spc_d7": 2.1,
"spc_d14": 4.7,
"spc_d21": 6.4,
"tgn_d7": 1.0,
"tgn_d14": 3.7,
"tgn_d21": 5.3,
"model_variant": "baseline"
}
Example Response:
{
"prediction": "PPC",
"probabilities": {
"PPC": 0.97,
"no spoilage": 0.02,
"spore spoilage": 0.01
},
"confidence": 0.97,
"variant_used": {
"variant_id": "baseline",
"name": "Baseline (All Features)",
"test_accuracy": 0.9576,
"features": ["SPC_D7", "SPC_D14", "SPC_D21", "TGN_D7", "TGN_D14", "TGN_D21"]
}
}
π Spoilage Classes
| Class | Description |
|---|---|
| PPC | Post-Pasteurization Contamination - Bacteria introduced after pasteurization |
| no spoilage | No significant spoilage detected |
| spore spoilage | Heat-resistant spore-forming bacteria survived pasteurization |
π Interactive Documentation
Visit /docs for interactive Swagger UI documentation where you can test the API directly.
π» Usage Example
curl -X POST https://chenhaoq87-milkspoilageclassifier-api-variants.hf.space/predict \
-H "Content-Type: application/json" \
-d '{
"spc_d21": 6.4,
"tgn_d21": 5.3,
"model_variant": "scenario_3_day21"
}'
π€ Custom GPT Integration
This API is designed for Custom GPT integration. The GPT will automatically select the best variant based on available data.
See the Custom GPT Setup Guide for complete integration instructions.
π Input Format
All microbial count values should be in log CFU/mL (base 10):
- SPC (Standard Plate Count): Total bacterial count
- TGN (Total Gram-Negative): Gram-negative bacteria count
- Measured at Day 7, 14, and 21
π Variant Selection Guide
- Have all measurements? β Use
baseline(best accuracy) - Only Day 21 data? β Use
scenario_3_day21(nearly as good!) - Only Day 14 data? β Use
scenario_4_day14 - Only SPC measurements? β Use
scenario_6_spc_all - Only TGN measurements? β Use
scenario_7_tgn_all
π Research
Based on predictive modeling for milk spoilage classification using microbial growth patterns.
Model Repository: MilkSpoilageClassifier