Cómo hacer una aplicación ML basada en la web

No sé mucho sobre programación web, pero sí sé algo sobre la implementación de modelos capacitados en sistemas de producción. La clave es implementar los resultados de su modelo en lo que yo llamaría “código de puntuación”. El código de puntuación le permite obtener una respuesta para un nuevo punto de datos sin tener presentes los datos de entrenamiento o el algoritmo de entrenamiento.

Tomemos un ejemplo muy simple, decidiendo si alguien incumplirá una línea de crédito mediante regresión logística y algunos atributos de clientes comúnmente disponibles. El código de pseudo puntuación podría verse así:

LP0 = 0;

*** Efecto: PRÉSTAMO;
_TEMP = PRÉSTAMO;
_LP0 = _LP0 + (-0.00001781058563 * _TEMP);

*** Efecto: MORTDUE;
_TEMP = MORTDUE;
_LP0 = _LP0 + (-3.9229321268863E-6 * _TEMP);

*** Efecto: NINQ;
_TEMP = NINQ;
_LP0 = _LP0 + (0.12324814951031 * _TEMP);

*** Efecto: VALOR;
_TEMP = VALOR;
_LP0 = _LP0 + (4.3465161983084E-6 * _TEMP);

*** Efecto: YOJ;
_TEMP = YOJ;
_LP0 = _LP0 + (-0.01048361633117 * _TEMP);

*** INTERCEPTO;
_TEMP = -4.86871738834151 + _LP0;

*** TRANSFORMACIÓN DE LOGIT;
if (_TEMP <0) entonces do;
_TEMP = exp (_TEMP);
_P0 = _TEMP / (1 + _TEMP);
fin;
sino _P0 = 1 / (1 + exp (-_ TEMP));
_P1 = 1.0 – _P0;

*** APLICAR LÓGICA EMPRESARIAL;
if (_P1> 0.5) entonces do;

fin;

Tenga en cuenta que puedo ejecutar este código en un nuevo punto de datos sin los datos de entrenamiento o el algoritmo necesario para ajustar un modelo de regresión logística. Tenga en cuenta también que este tipo de lógica se puede implementar en casi cualquier idioma.

También debe buscar en PMML. PMML es un estándar de código abierto que se puede usar para calificar modelos. (Personalmente, soy un poco escéptico). Hay paquetes en R y Python que generan PMML.

Obviamente, el código de puntuación para modelos complejos como ANN, randomForest, SVM, etc. es mucho más complicado … para esos tipos de modelos, es posible que necesite un programa de puntuación completo en lugar de solo unas pocas líneas de código. Pero la idea es la misma: obtener nuevos datos sin la necesidad de los datos de entrenamiento o el algoritmo de entrenamiento.

Además, creo que solo las organizaciones analíticamente más avanzadas actualizan sus modelos de forma adaptativa. Para empezar, está bien solo recopilar datos y volver a entrenar sus modelos con los nuevos datos cada noche, semana, mes, etc. en una configuración por lotes / fuera de línea.