Modelo v2 - Clasificacion de estado de frutas (12 clases)

Modelo de la Actividad 11. Compara tres representaciones y selecciona la provisional.

Decision

  • Ninguna alternativa de despliegue supero el criterio de robustez.
  • Se conserva la base del 04 como modelo provisional.
  • B se reporta como referencia interpretable, pero no se selecciona porque no es TFLite-directo.

Comparacion en valid

modelo f1_macro exactitud_balanceada qwk
Base 04 0.5493 0.5749 0.6652
A. TTA 0.5602 0.5845 0.6971
B. RF color 0.5004 0.4753 0.6147
B. RF color+textura 0.4993 0.4618 0.6382
B. RF seleccionado 0.5071 0.4764 0.6379
C. Multi-task 0.4834 0.4938 0.6220

Bootstrap agrupado por sesion

modelo delta_medio ic95_bajo ic95_alto prob_mejora_positiva n_iter criterio tiempo_s mejora_confirmada
A. TTA 0.0107 -0.0016 0.0244 0.9500 1000 IC95 inferior > 0 4.3000 False
B. RF seleccionado -0.0440 -0.0867 0.0009 0.0270 1000 IC95 inferior > 0 5.1000 False
C. Multi-task -0.0659 -0.1043 -0.0277 0.0000 1000 IC95 inferior > 0 4.1000 False

Matriz de decision

modelo tipo tflite latencia f1_macro
Base 04 Keras (1 salida) si 1x 0.5493
A. TTA Keras + TTA si 5x 0.5602
B. RF color Tabla (sklearn) no CPU, no TFLite 0.5004
B. RF color+textura Tabla (sklearn) no CPU, no TFLite 0.4993
B. RF seleccionado Tabla (sklearn) no CPU, no TFLite 0.5071
C. Multi-task Keras (2 salidas) si 1x 0.4834

Resultados en test

modelo exactitud exactitud_balanceada f1_macro f1_ponderado top3 mae_nivel qwk adyacente
Mayoria 0.4131 0.0833 0.0487 0.2415 0.4713 0.5764 0.0000 0.8957
Random Forest 0.6694 0.5147 0.5217 0.6568 0.8812 0.3436 0.6546 0.9394
Criterio 03 0.5958 0.5720 0.5335 0.6322 nan 0.5166 0.5532 0.9022
MobileNetV2 0.6621 0.6334 0.5940 0.6636 0.9038 0.3678 0.6899 0.9523

Calibracion

  • Temperatura: 1.162
  • ECE antes: 0.0706
  • ECE despues: 0.0323

TensorFlow Lite

  • Tamano: 2.43 MB
  • Latencia mediana: 19.7 ms
  • Salidas: [[1, 12]]

Uso

from huggingface_hub import hf_hub_download
import tensorflow as tf

ruta = hf_hub_download(repo_id="Carlosmg23/fruit-ripeness-v2",
                       filename="modelo_final_v2.keras")
modelo = tf.keras.models.load_model(ruta)
prob = modelo.predict(imagen_224)   # imagen en [0, 255]

Limitaciones

  • B. Random Forest es interpretable pero no se convierte directamente a TFLite.
  • TTA multiplica la latencia por 5 si se selecciona.
  • El conjunto externo del 05 es pequeno y sintetico; no se reejecuta aqui.
  • Rotten es deterioro, no una etapa de maduracion.
  • El APK y la encuesta de usabilidad quedan pendientes.

Licencia

CC BY 4.0. Dataset derivado de Fruit Ripeness de Muhammad's Workspace (Roboflow Universe, version 3).

Downloads last month
36
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Dataset used to train Carlosmg23/fruit-ripeness-v2