Heat Stress MLPredictor
Predictor de Estrés Térmico (Heat Stress) usando Machine Learning con TFLite.
Combina las predicciones del modelo TFLite con reglas expertas para proporcionar una evaluación robusta del riesgo de estrés térmico.
Esta clase sigue un patrón singleton, asegurando que solo exista una instancia en toda la aplicación. Utiliza un modelo TFLite para la predicción inicial y luego refina esta predicción utilizando un conjunto de reglas expertas predefinidas si la confianza del modelo no es lo suficientemente alta.
Características clave:
Integración con TFLite: Aprovecha un modelo TFLite para la predicción central del estrés térmico.
Reglas Expertas: Incorpora un sistema basado en reglas como mecanismo de respaldo o refinamiento.
Enfoque Combinado: Fusiona las predicciones de ML con las reglas, ponderándolas según los niveles de confianza.
Si la confianza del ML es alta, se utiliza directamente la predicción del ML.
Si la confianza del ML es baja, o si la predicción del ML no está disponible, se utilizan o combinan las reglas expertas.
Consideración de Datos Históricos: Las reglas expertas pueden utilizar opcionalmente datos históricos para identificar tendencias.
Basado en Corutinas: La lógica de predicción se ejecuta de forma asíncrona utilizando Corutinas de Kotlin.
Uso:
Obtener una instancia usando
HeatStressMLPredictor.getInstance(context).Llamar a
predictRiskLevel(dataPoint, historicalData)para obtener la evaluación de riesgo.Llamar a
getLastPredictionDetails()para obtener una representación en cadena de la última predicción.Llamar a
close()cuando el predictor ya no sea necesario para liberar recursos (principalmente cancela el alcance de la corutina).
Parameters
El contexto de la aplicación, necesario para inicializar el gestor de TFLite.
Properties
Functions
Calcula el nivel de riesgo utilizando reglas expertas actualizadas.
Combina las predicciones del modelo de Machine Learning (ML) y las reglas expertas. Este método está específicamente ajustado para una salida binaria del modelo ML (estrés térmico detectado o no).
Obtiene información detallada de la última predicción del modelo TFLite. Devuelve una cadena con el nivel de riesgo, confianza y probabilidades por clase. Si no hay predicción disponible, devuelve "Sin predicción disponible".
Compara dos niveles de riesgo de estrés térmico y devuelve el de mayor severidad.
Predice el nivel de riesgo de estrés térmico combinando Machine Learning (ML) y reglas expertas.