Resumen
Con la ayuda de SQL, podéis crear, entrenar y gestionar modelos de aprendizaje automático directamente en la base de datos con la potente herramienta IntegratedML de InterSystems IRIS. Usando ejemplos de SQL que representan vuestros datos, en este artículo repasaremos la configuración de IntegratedML y su aplicación en situaciones prácticas.
Configuración de IntegratedML
Una configuración de ML (“ML Configuration”) define el proveedor de aprendizaje automático que realizará el entrenamiento, además de otra información necesaria. IntegratedML tiene una configuración predeterminada llamada %AutoML, que se activa automáticamente tras instalar InterSystems IRIS.
Creación de ML Configuration
Para crear una nueva configuración de ML, podéis usar el System Management Portal o comandos SQL.
Creación de ML Configuration mediante SQL:
CREATE ML CONFIGURATION MeuMLConfig PROVIDER AutoML USING {'verbosity': 1};
Para establecer esta configuración como predeterminada:
SET ML CONFIGURATION MeuMLConfig;
Para ver los ajustes de entrenamiento:
SELECT * FROM INFORMATION_SCHEMA.ML_TRAINING_RUNS;
Aplicación de IntegratedML
Creación de un modelo predictivo para estimar la cantidad de energía generada por una unidad consumidora:
CREATE MODEL PredicaoEnergia PREDICTING (quantidade_generada) FROM UnidadeConsumidora;
Entrenamiento del modelo:
TRAIN MODEL PredicaoEnergia;
Realización de predicciones:
SELECT quantidade_generada, PREDICT(PredicaoEnergia) AS predicao FROM UnidadeConsumidora WHERE id = 1001;
Ejemplo de Implementación: Aprendizaje automático en energía solar
Veamos un ejemplo sobre cómo aplicar los conceptos anteriores intentando realizar aprendizaje automático en el campo de la energía solar.
1. Integración de datos con IRIS
Extraemos datos esenciales de múltiples tablas para construir el conjunto de datos:
SELECT PSID, CHNNLID, TYPENAME, DEVICESN, DEVICETYPE, FACTORYNAME, STATUS FROM datafabric_solar_bd.EQUIPAMENTS;
2. Entrenamiento del modelo de mantenimiento predictivo
Uso de Python integrado en IRIS para entrenar un modelo de mantenimiento predictivo:
from sklearn.ensemble import RandomForestClassifier
from iris import irispy
# Cargar los datos
sql_query = "SELECT PSID, DEVSTATUS, ALARMCOUNT FROM datafabric_solar_bd.USINAS;" data = irispy.sql(sql_query)
# Entrenar el modelo
model = RandomForestClassifier()
model.fit(data[['DEVSTATUS', 'ALARMCOUNT']], data['PSID'])
3. Predicción de la producción de energía
Uso del análisis de series temporales para predecir la producción diaria de energía:
from fbprophet import Prophet
# Preparar el conjunto de datos
df = irispy.sql("SELECT STARTTIMESTAMP, PRODDAYPLANT FROM datafabric_solar_bd.POINTMINUTEDATA;")
df.rename(columns={'STARTTIMESTAMP': 'ds', 'PRODDAYPLANT': 'y'}, inplace=True)
# Entrenar el modelo de predicción
model = Prophet()
model.fit(df)
future = model.make_future_dataframe(periods=30)
forecast = model.predict(future)
4. Identificación de áreas con alta irradiación solar
El análisis de datos geoespaciales permite identificar las áreas con mayor potencial para la generación de energía solar, optimizando la asignación de recursos.
Conclusión
IntegratedML facilita la implementación de aprendizaje automático en InterSystems IRIS al permitir que los modelos se entrenen y apliquen directamente mediante SQL. Además, el uso de técnicas de aprendizaje automático para mantenimiento predictivo y pronóstico de generación de energía puede ayudar a que las plantas solares operen de manera más eficiente.