Objetivo
Con esta funcionalidad podremos seleccionar los atributos de una ontología (o bien hacer una query en SQL sobre una o varias ontologías) y crear y entrenar un modelo de aprendizaje, que permita predecir otro atributo.
Además estos modelos podrán apificarse a través del API Manager
Cómo funciona
Existirá una nueva funcionalidad “Mis Modelos AutoML” en la que seleccionando los atributos de entrada al modelo de una ontología o una query SQL sobre una o varias nos permitirá seleccionar el atributo a predecir . Esto creará otro ontología (una AI Table) que al consultarla nos predice el atributo.
Al generar una ontología esta se podrá apificar.
Tecnología
Para los modelos usaremos la tecnología MindsDB.
MindsDB es una tecnología que permite crear, entrenar y desplegar modelos Machine Learning sobre diferentes base de datos, abstrayendo los modelos como AI Tables, además las predicciones estarán disponibles a través de queries SQL.
Al llevar el aprendizaje automático a la base de datos, que es el lugar habitual donde están los datos, MindsDB acelera la velocidad de desarrollo del aprendizaje automático.
Entre sus principales características tenemos:
Preprocesamiento automático de datos, ingeniería de características y codificación
Tareas de clasificación, regresión y series temporales
Llevar los modelos a la producción sin el "despliegue tradicional" como AI Tables
Obtener la precisión de los modelos
Unir los modelos ML con los datos existentes
Detección de anomalías
Análisis de explicabilidad de los modelos
Soporte de la GPU para el entrenamiento de los modelos
Sintaxis JSON-AI abierta para construir modelos y aportar los bloques ML de forma declarativa
¿Cómo funciona?
Conectar MindsDB con la base de datos sobre la que crearemos los modelos. MindsDB soporta diferentes bases de datos y tecnologías de persistencia:
2. Entrenar un Predictor usando una sola sentencia SQL (MindsDB aprenderá de los datos históricos automáticamente) o importar su propio modelo ML a un Predictor vía JSON-AI:
Supongamos la tabla income_table para la que quiero predecir el atributo debt en función del income:
Sin un modelo no puedo predecir el debt para un income que no tenga en la tabla:
Creando un PREDICTOR sobre esta tabla, MindsDB creará una regresión lineal para predecir el debt:
3. Realizar predicciones con sentencias SQL (el Predictor se expone como tablas virtuales de IA). No hay necesidad de desplegar los modelos ya que son parte de la capa de datos. Podemos consultar mi modelo:
MindsDB es capaz de elegir el modelo más adecuado en función de los atributos de entrada, además de seleccionar un porcentaje de los datos de entrada para validar el modelo y darnos la precisión del modelo:
Uso en MongoDB: https://www.mongodb.com/blog/post/turning-mongodb-into-predictive-database
Integración MLFLow: https://docs.mindsdb.com/sql/tutorials/mlflow/