Artículo
Eduardo Anglada · Ene 22, 2021 Lectura de 3 min

Cómo utilizar IntegratedML para crear un adaptador de Machine Learning para la interoperabilidad de IRIS

Actualización: se añadió soporte para el modelo de regresión
¡Hola a todos!

En este breve artículo, os mostraré cómo escribir un adaptador para utilizar la interoperabilidad de IRIS con los modelos de Machine Learning (ML) administrados por IntegratedML de IRIS.

El adaptador

El adaptador solo utiliza las funciones SQL PREDICT y PROBABILITY de IntegratedML. Es solo una sencilla consulta SQL:
code1


Tened en cuenta que el nombre del modelo se obtiene a partir de la propiedad denominada "Model". Dicha propiedad debe estar definida en la clase host que utiliza el adaptador, de lo contrario se producirá una excepción. Por ejemplo:



La lista de los modelos en la configuración del adaptador se realiza en dos pasos:

  1. Creación de un método en una clase que sea hija de %ZEN.Portal.ContextSearch para tener todos los modelos de clasificación y que los devuelva (dc.Ens.Adapter.ClassficationMLContextSearch)
    code2
  2. Configuración de dicha clase y método como un alimentador para la propiedad Model que se encuentra en el parámetro SETTINGS en la clase del adaptador (dc.Ens.Adapter.ClassificationMLAdapter)
    code3


    Para los modelos de regresión, existe la clase dc.Ens.Adapter.RegressionMLContextSearch, que carga todos los modelos de regresión.

En este caso, el filtro MODE_TYPE se configuró como 'regression' en vez de 'classfication':

Cómo utilizar el adaptador

Para la demostración, simulé un sencillo sistema de pago para las transacciones con tarjeta de crédito, con capacidad de detectar fraudes mediante un modelo de clasificación con ML. Cuando detecta una transacción sospechosa, emite una alerta.

Para utilizar el adaptador, cread una clase host (una clase Business Process o Business Operation) que utiliza como adaptador la clase dc.ENS.Adapter.ClassificationMLAdapter.
code4


Ahora, podéis utilizar el método del adaptador Classify(), y proporcionar una muestra de las características esperadas por el modelo:
Para utilizarlo, cread una clase host (una clase Business Process o Business Operation) que utilice como adaptador la clase dc.ENS.Adapter.ClassificationMLAdapter
code5


Podéis usarlos según vuestras necesidades. En el ejemplo, solo era necesario el resultado para la predicción de fraudes, por lo que la clase Business Operation solo utiliza el valor devuelto en la propiedad Predicted:
code6


Para los modelos de regresión, los resultados se modelan mediante la clase dc.Ens.Adapter.RegressionResult. Esta clase tiene una propiedad llamada Estimated.

Para obtener un valor estimado a partir de una muestra, la clase adaptador para el modelo de regresión tiene el método Estimate.

El resultado final se muestra a continuación:
code7


El código completo está disponible en OpenExchange.
Espero que os resulte útil.
José

0
0 60
Debate (0)2
Inicie sesión o regístrese para continuar