Este repositorio contiene datos de vibraciones de alta frecuencia capturados mediante dispositivos IMU para el análisis de modos de falla mecánica. El dataset ha sido procesado para optimizar el entrenamiento de modelos de Machine Learning y la interacción con agentes de IA.
data/: Contiene los archivos originales en formato.csv.processed/: Contiene los archivos transformados en formato.parquet(comprimidos y tipados).scripts/: Scripts de procesamiento ETL.metadata_index.parquet/metadata_index.csv: Índice maestro con metadatos y estadísticas de cada experimento.
Los datos originales en CSV contenían metadatos en comentarios de encabezado. Se ejecutó un proceso ETL (scripts/etl_vibration_data.py) que realizó lo siguiente:
- Conversión a Parquet: Los datos se migraron de CSV a Parquet para reducir el tamaño en disco y acelerar la lectura por un factor de >10x.
- Estandarización: Se renombraron las columnas específicas de cada eje (e.g.,
z_raw,z_m_s2) a nombres genéricos (accel_raw,accel_ms2) para facilitar el procesamiento por lotes. - Inyección de Metadatos: El Modo de Falla, Frecuencia y Dispositivo se incluyeron como columnas dentro de cada archivo procesado.
- Extracción de Features: Se calcularon estadísticas descriptivas para cada experimento (RMS, Kurtosis, Skewness, Peak-to-Peak).
El archivo metadata_index.parquet es el punto de entrada recomendado para cualquier análisis. Permite filtrar el dataset completo sin tener que leer todos los archivos individuales.
file_id: Identificador único del experimento.device: ID del dispositivo capturador.mode: Modo de falla (0 para normal, >0 para fallas específicas).freq_hz: Frecuencia de excitación del experimento.rms: Valor Root Mean Square de la señal (energía).kurtosis: Medida de los picos en la señal (útil para detectar impactos/fallas).
Si eres una IA trabajando en este repositorio:
- No listes la carpeta
processed/completa: Hay cientos de archivos. Usametadata_index.parquetpara encontrar los archivos que necesitas. - Filtrado Eficiente: Carga el índice con Pandas o Polars y filtra por
modeofreq_hz. - Carga de Datos: Usa la columna
pathdel índice para obtener la ruta relativa al archivo Parquet que deseas analizar.
import pandas as pd
index = pd.read_parquet('metadata_index.parquet')
# Buscar experimentos de falla modo 6 con alta energía
falla_6_alta_energia = index[(index['mode'] == 6) & (index['rms'] > 5.0)]