chenhaoq87's picture
Upload README.md with huggingface_hub
7149c09 verified
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