Tabular Regression
Keras

🌎 Red Neuronal Sísmica de y para Chile (2021 - 2026)

Este repositorio contiene un modelo de Inteligencia Artificial desarrollado en Python utilizando TensorFlow (Keras) enfocado en predecir la Magnitud (Escala Richter) de eventos sísmicos en todo el territorio chileno, basándose exclusivamente en coordenadas geográficas y profundidad.

El modelo fue entrenado utilizando un dataset de 5.800 sismos extraídos directamente de los servicios del USGS correspondientes a los últimos 6 años de actividad tectónica en Chile (enero 2020 - junio 2026).


📊 Arquitectura y Rendimiento del Modelo

El modelo consiste en una Red Neuronal Densa (Sequential) optimizada para regresión:

  • Capa de Entrada: Recibe la Latitud, Longitud y Profundidad (escaladas).
  • Capas Ocultas: 3 capas densas (64, 32, 16 neuronas) con funciones de activación ReLU.
  • Capa de Salida: 1 neurona lineal para la estimación de la Magnitud exacta.

Curva de Aprendizaje y Precisión

El entrenamiento fue optimizado mediante Early Stopping, deteniéndose automáticamente al alcanzar el punto de máxima generalización para evitar el sobreajuste del modelo.

  • Métrica de Error (MAE): ~0.22
  • Significado: En promedio, la IA predice la magnitud de un sismo con un margen de error de apenas $\pm 0.2$ puntos en la escala de Richter.

Curva de Aprendizaje


🗂️ Archivos en este Repositorio

Para que el sistema de predicción funcione correctamente, se necesitan dos componentes fundamentales incluidos aquí:

  1. magnitool.keras: El cerebro de la red neuronal con los pesos y conexiones óptimas entrenadas.
  2. escalador.pkl: El objeto StandardScaler de Scikit-Learn que normaliza las entradas del usuario antes de pasarlas a la IA (crucial debido a las grandes diferencias numéricas entre coordenadas y profundidades de hasta 300 km en zonas como Socaire o Calama).

🚀 Cómo usar este Modelo en Python

Puedes descargar y ejecutar este modelo dinámicamente desde el Hub utilizando el siguiente script:

import numpy as np
import tensorflow as tf
import joblib
from huggingface_hub import hf_hub_download

# 1. Descargar componentes desde Hugging Face
repo_id = "openlionai/magnitool"

ruta_escalador = hf_hub_download(repo_id=repo_id, filename="escalador.pkl")
ruta_modelo = hf_hub_download(repo_id=repo_id, filename="modelo_chile.keras")

escalador = joblib.load(ruta_escalador)
modelo = tf.keras.models.load_model(ruta_modelo)

Puedes calcular la magnitud de un sismo con el siguiente comando:

# Formato: [Latitud, Longitud, Profundidad_km]
# Ejemplo: Un sismo en el mar frente a la costa de la zona central
datos = np.array([[-33.0, -72.0, 15.0]]) 
sismo_escalado = escalador.transform(datos)

prediccion_magnitud = modelo_chile.predict(sismo_escalado)

print("\n==============================================")
print(f"📍 Datos del Sismo-> Lat: {datos[0][0]}, Lon: {datos[0][1]}, Prof: {datos[0][2]} km")
print(f"🔮 La IA calcula que su magnitud será de: {prediccion_magnitud[0][0]:.2f}")
print("==============================================")
Downloads last month
57
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support