ES2949510T3 - Herramienta de integración de modelos - Google Patents
Herramienta de integración de modelos Download PDFInfo
- Publication number
- ES2949510T3 ES2949510T3 ES16833945T ES16833945T ES2949510T3 ES 2949510 T3 ES2949510 T3 ES 2949510T3 ES 16833945 T ES16833945 T ES 16833945T ES 16833945 T ES16833945 T ES 16833945T ES 2949510 T3 ES2949510 T3 ES 2949510T3
- Authority
- ES
- Spain
- Prior art keywords
- model
- code
- data processing
- expected
- test
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3604—Analysis of software for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
- Prostheses (AREA)
- Cutting Tools, Boring Holders, And Turrets (AREA)
Abstract
Ciertos aspectos implican la construcción y depuración de modelos para generar código fuente ejecutado en plataformas de procesamiento de datos. Se identifica una plataforma de procesamiento de datos de destino que requiere rangos de bins para modelar coeficientes y códigos de motivo para atributos de entrada. Un procesador genera código fuente, que se genera a partir de un código de modelado, en un lenguaje de programación utilizado por la plataforma de procesamiento de datos de destino. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Herramienta de integración de modelos
Referencia cruzada a solicitudes relacionadas
Esta invención reivindica la prioridad de la solicitud provisional de EE. UU. No. 62/201,258, titulada "MODEL INTEGRATION TOOL," presentada el 5 de agosto de 2015.
Sector técnico
Esta invención se refiere, en general, a software ejecutado en un ordenador o sistema de procesamiento de datos digitales para crear y administrar código de programa informático, y más particularmente se refiere a una herramienta de integración de modelos para construir y depurar modelos predictivos o analíticos que se usan para generar código fuente para ejecución en plataformas de procesamiento de datos.
Antecedentes
Las herramientas de desarrollo de software se pueden utilizar para generar, probar y desplegar código de programa que implemente la funcionalidad de modelos analíticos o predictivos. Por ejemplo, se puede usar un modelo analítico para identificar relaciones entre conjuntos de variables predictoras (por ejemplo, conjuntos de datos que representan acciones realizadas por entidades o transacciones entre entidades) y una o más variables de salida (por ejemplo, la probabilidad de que una entidad realice alguna tarea o cumpla algunos criterios).
Se puede utilizar una herramienta de desarrollo de software para desarrollar un modelo utilizando datos extraídos de un archivo de datos u otra fuente de datos. Se pueden utilizar métodos estadísticos y de minería de datos para desarrollar especificaciones de modelos. La herramienta de desarrollo de software puede generar código de programa que es ejecutado por modelos de plataformas de procesamiento de datos en entornos de producción. Un entorno de producción puede incluir uno o más sistemas informáticos para probar e implementar varias operaciones que están representadas por un modelo (por ejemplo, predicción de riesgos). Cuando el código de programa se ejecuta en el entorno de producción, se puede evaluar la eficacia de un modelo y el código de programa para implementar el modelo se puede actualizar en función de la evaluación.
Depender de la evaluación del código de programación desplegado puede presentar desventajas. Por ejemplo, el despliegue y la ejecución de código de programa para desplegar un modelo puede utilizar recursos informáticos (por ejemplo, ancho de banda de la red, ciclos de procesamiento, memoria, etc.) que, de otro modo, podrían implementarse en un entorno de procesamiento de datos. Si la ejecución de código de programa para implementar un modelo genera errores, un proceso de depuración debe distinguir los errores específicos por plataforma de software (por ejemplo, errores de codificación para C++, Java, etc.) de los errores en la lógica de modelado (por ejemplo, entrenamiento inadecuado o calibración del modelo). Por lo tanto, en algunos casos, depender de evaluaciones específicas por plataforma de un modelo analítico puede utilizar ineficientemente los recursos informáticos disponibles. La patente US 2004/0250255 A1 da a conocer un sistema informático que integra aplicaciones de software con aplicaciones de software analíticas. El documento de Flint et al, ''Scorecard Element in PMML 4.1 Provides Rich, Accurate Exchange of Predictive Models for Improved Business Decisions", Actas del taller de 2011 sobre modelado de lenguaje de marcado predictivo, PMML ' 11 ilustra el elemento Scorecard (tarjeta de puntuación) dedicado introducido en la especificación 4.1 del estándar PMML. El documento de Ruusmann, "Testing PMML Applications", PMML Cookbook describe un método de evaluación por lotes para fines de prueba de integración.
Compendio
El tema para el que se solicita protección se define mediante las reivindicaciones adjuntas. Se dan a conocer aspectos y ejemplos para construir y auditar modelos predictivos o analíticos que se utilizan para generar código fuente para su ejecución en plataformas de procesamiento de datos. En un ejemplo, un procesador recibe un modelo de procesamiento electrónico de datos, que genera una salida analítica aplicando una función a uno o más atributos de entrada que se ponderan con respectivos coeficientes de modelado. El procesador identifica una plataforma de procesamiento de datos de destino que requiere rangos de contenedores asociados con los coeficientes de modelado, y códigos de razón asociados con los atributos de entrada. Cada rango de contenedor identifica un rango de valores de atributo de entrada para los que un coeficiente de modelado es válido. Cada código de razón identifica una salida de código de razón que indica un impacto de un atributo de entrada ponderado en la salida analítica. El procesador proporciona una interfaz de usuario para especificar información de rango de contenedores e información de código de razón. El procesador identifica los rangos de contenedores y los códigos de razón en función de la entrada de usuario recibida a través de la interfaz de usuario. El procesador genera un código de lenguaje de marcado de modelo predictivo ("PMML") u otro código de modelado adecuado que implementa el modelo de procesamiento electrónico de datos con los rangos de contenedores y los códigos de razón. El procesador genera el código fuente, que se genera a partir del código PMML e implementa el modelo de procesamiento electrónico de datos, en un lenguaje de programación utilizado por la plataforma de procesamiento de datos de destino.
Este ejemplo ilustrativo se menciona no para limitar o definir la invención, sino para ayudar a su comprensión. Otros aspectos, ventajas y características de la presente invención resultarán evidentes después de revisar la descripción completa y las figuras, incluidas las siguientes secciones: Breve descripción de las figuras, Descripción detallada y Reivindicaciones.
Breve descripción de las figuras
Estas y otras características, aspectos y ventajas de la presente invención se comprenderán mejor cuando se lea la siguiente Descripción detallada haciendo referencia a los dibujos adjuntos.
La figura 1 representa un ejemplo de un sistema en el que se puede usar una herramienta de integración de modelos para construir y probar modelos predictivos o analíticos antes de generar código fuente para implementar los modelos en plataformas de procesamiento de datos, de acuerdo con algunos aspectos de la presente invención.
La figura 2 representa un ejemplo de un método para construir y probar modelos predictivos o analíticos antes de generar código fuente para implementar los modelos en plataformas de procesamiento de datos, de acuerdo con algunos aspectos de la presente invención.
La figura 3 representa un ejemplo de una interfaz para mapear atributos de modelo a atributos de producción de una plataforma de procesamiento de datos usando el sistema representado en la figura 1, según algunos aspectos de la presente invención.
La figura 4 representa un ejemplo de otra interfaz para mapear atributos de modelo a atributos de producción de una plataforma de procesamiento de datos usando el sistema representado en la figura 1, según algunos aspectos de la presente invención.
La figura 5 representa un ejemplo de una interfaz para añadir información de rango de contenedores e información de código de razón a un modelo utilizando el sistema representado en la figura 1, según algunos aspectos de la presente invención.
La figura 6 representa un ejemplo de una interfaz para mapear atributos de modelos que involucran árboles de decisión a atributos de producción de una plataforma de procesamiento de datos usando el sistema representado en la figura 1, según algunos aspectos de la presente invención.
La figura 7 representa un ejemplo de una interfaz para configurar un modelo que involucra árboles de decisión, de acuerdo con algunos aspectos de la presente invención.
La figura 8 representa un ejemplo de un archivo de auditoría usado para probar un modelo antes de la generación de código fuente usando el sistema representado en la figura 1, según algunos aspectos de la presente invención.
La figura 9 representa un ejemplo de una interfaz que muestra los resultados de una auditoría utilizada para probar un modelo antes de la generación de código fuente utilizando el sistema representado en la figura 1, según algunos aspectos de la presente invención.
La figura 10 representa un ejemplo de un registro de ejecución de una auditoría utilizada para probar un modelo antes de la generación de código fuente utilizando el sistema representado en la figura 1, según algunos aspectos de la presente invención.
La figura 11 representa un ejemplo de generación de código fuente para un modelo probado usando el sistema representado en la figura 1, según algunos aspectos de la presente invención.
La figura 12 representa un ejemplo de un sistema informático para implementar ciertas características, de acuerdo con algunos aspectos de la presente invención.
Descripción detallada
Esta invención describe una herramienta de integración de modelos. La herramienta de integración de modelos puede ejecutarse mediante un sistema informático adecuado para facilitar modelizar la creación y depuración de modelos predictivos o analíticos que se implementan por medio de código fuente desplegado en plataformas de procesamiento de datos. La herramienta de integración de modelos se puede utilizar para realizar uno o más crear un modelo analítico o predictivo, entrenar el modelo y probar el modelo. Estas operaciones se pueden realizar usando un modelo en un lenguaje de modelado estándar de la industria u otro lenguaje de modelado adecuado, antes de generar código fuente (por ejemplo, C++, Java, etc.) que implemente el modelo. Un ejemplo de un lenguaje de modelado estándar de la industria es el formato de lenguaje de marcado de modelo predictivo ("PMML''). Construir y probar el modelo en PMML u otro lenguaje de modelado puede permitir desarrollar y probar un modelo sin depurar y revisar exhaustivamente el código fuente que se usa para implementar la lógica de modelado en plataformas de procesamiento de datos.
La herramienta de integración de modelos facilita la personalización de un modelo para una plataforma de procesamiento de datos específica. La herramienta de integración de modelos proporciona características como mapear atributos de producción a atributos de modelo para un modelo, añadir datos de código de razón y rango de contenedor al modelo, y probar el modelo utilizando el mapeo y la información añadida de código de razón y rango de contenedor. Un modelo que se crea utilizando la herramienta de integración de modelos se puede probar con un motor de ejecución de modelos sin generar código fuente específico para ciertas plataformas de procesamiento de datos (por ejemplo, plataformas C++, plataformas Java, etc.).
Este proceso de prueba, que utiliza PMML, permite identificar y corregir errores en la lógica del modelado. Estos errores se pueden identificar y corregir antes de generar código fuente para una plataforma de procesamiento de datos de destino. Cuando el modelo se despliega en una plataforma de procesamiento de datos, los recursos informáticos se utilizan de manera más eficiente al evaluar la eficacia del modelo desplegado. Por ejemplo, los errores en el modelo desplegado pueden limitarse a problemas específicos por plataforma (por ejemplo, problemas específicos de C++, Java, etc.) en lugar de errores en la lógica de modelado. Por lo tanto, un proceso de depuración puede centrarse en estos errores específicos por plataforma. De esta manera, un sistema informático que utiliza la herramienta de integración de modelos (por ejemplo, una combinación de dispositivos informáticos utilizados para generar un modelo y plataformas de procesamiento de datos en las que se despliega el modelo) puede reducir el uso ineficiente de recursos informáticos, puede aumentar la eficiencia de procesos de depuración relacionados con el modelo desplegado, o ambos.
Las características discutidas en el presente documento no están limitadas a ninguna arquitectura o configuración de hardware en particular. Un dispositivo informático puede incluir cualquier disposición adecuada de componentes que proporcionen un resultado condicionado a una o más entradas. Los dispositivos informáticos adecuados incluyen sistemas informáticos multipropósito basados en microprocesadores que acceden a software almacenado que programa o configura el sistema informático desde un aparato informático de propósito general hasta un aparato informático especializado que implementa uno o más aspectos del presente tema. Se puede usar cualquier programación adecuada, secuencias de comandos u otro tipo de lenguaje o combinaciones de lenguajes para implementar las enseñanzas contenidas en este documento en el software que se usará en la programación o configuración de un dispositivo informático.
Haciendo referencia a continuación a los dibujos, la figura 1 es un diagrama de bloques que ilustra un ejemplo de un sistema de integración de modelos 100 que puede usarse para generar y auditar código de modelado para implementar modelos de procesamiento electrónico de datos 110. Los ejemplos de un modelo de procesamiento de datos 110 incluyen un modelo predictivo, un modelo analítico, o algún otro tipo de modelo.
El sistema de integración de modelos 100 puede incluir un dispositivo informático o un grupo de dispositivos informáticos configurados para ejecutar la herramienta de integración de modelos 102. El sistema de integración de modelos 100 está acoplado comunicativamente, a través de una red de datos 119, a uno o más sistemas informáticos cliente 124 a los que pueden acceder uno o más usuarios.
Un sistema informático cliente 124 incluye un sistema de procesamiento de datos 126. El sistema de procesamiento de datos 126 incluye uno o más dispositivos de procesamiento que implementan una plataforma de procesamiento de datos 128 utilizando datos de producción 130. Una plataforma de procesamiento de datos 128 puede incluir uno o más componentes de software que usan código fuente en un lenguaje de programación particular, como software C++, software Java, software propietario o cualquier otro lenguaje o arquitectura de programación.
La herramienta de integración de modelos 102, que es ejecutada por el sistema de integración de modelos 100, puede realizar una o más funciones para generar y auditar código de modelado. La herramienta de integración de modelos 102 incluye instrucciones de programa ejecutables por uno o más dispositivos de procesamiento del sistema de integración de modelos 100 para realizar una o más operaciones. Estas operaciones incluyen crear, probar y desplegar uno o más modelos de procesamiento de datos 110. Los modelos de procesamiento de datos 110 se crean y prueban en el formato de lenguaje de marcado de modelo predictivo ("PMML").
Puede usarse un modelo de procesamiento de datos 110, como un modelo analítico o un modelo predictivo, para identificar relaciones entre conjuntos de variables predictoras y una o más variables de salida. Los ejemplos de variables predictoras incluyen atributos de un individuo u otra entidad que se pueden obtener de archivos de crédito, registros financieros u otros datos sobre las actividades o características de la entidad. Los atributos pueden incluir, por ejemplo, un elemento relacionado con datos de crédito, un solo elemento de datos de un archivo de crédito o una agregación, cálculo o derivación de datos de crédito para formar un nuevo elemento de datos. Los ejemplos de una variable de salida incluyen la probabilidad de que un individuo u otra entidad realice alguna tarea (por ejemplo, incumplir una obligación financiera, responder a una oferta de venta, etc.), una probabilidad de que un individuo u otra entidad cumpla con algunos criterios (por ejemplo, ser aprobado para un préstamo), etc.
La herramienta de integración de modelos 102 facilita la creación y prueba de modelos de procesamiento de datos al generar y proporcionar una o más interfaces de usuario 106. Las interfaces de usuario 106 incluyen elementos de interfaz para obtener los datos requeridos por un modelo de procesamiento de datos 110 para su despliegue en una plataforma de procesamiento de datos particular 128. En este documento se describen en detalle ejemplos de estas
interfaces.
La herramienta de integración de modelos 102 puede tener una o más características para usar el modelo de procesamiento de datos 110. Los ejemplos de estas funciones incluyen la creación de modelos, el mantenimiento de modelos, la auditoría de modelos, el despliegue de modelos, la ejecución de modelos, la importación de modelos, la descarga de modelos y la generación de especificaciones de modelos. La creación de modelos puede implicar la creación de modelos logísticos, modelos de regresión lineal u otros modelos analíticos o predictivos adecuados. Las funciones para crear un modelo incluyen una o más de configuración de metadatos del modelo, configuración de códigos de razón, creación de tarjetas de puntuación con segmentación, creación de tarjetas de puntuación con calibración, etc. El mantenimiento de modelos puede incluir la actualización y el control de versiones de los modelos. La auditoría de modelos puede incluir probar un modelo mediante la carga de un archivo de auditoría que contenga valores de atributo, así como puntuaciones esperadas y códigos de razón, como se describe en detalle en este documento. El despliegue de modelos puede implicar generar PMML, código fuente ejecutable, o ambos, y proporcionar el PMML o código fuente a un sistema de procesamiento de datos 126 (ya sea directamente o mediante un sistema informático cliente 124). La ejecución de modelos puede implicar proporcionar el modelo a un motor de ejecución de modelos 103 (por ejemplo, un motor de decisiones de análisis predictivo tal como la plataforma de análisis predictivo y decisión adaptativa ("ADAPA")). Importar y descargar modelos puede implicar importar un modelo desde un sistema de desarrollo de modelos 120 o un sistema informático cliente 124 y hacer que el modelo actualizado esté disponible para su descarga por un sistema informático cliente 124, un sistema de procesamiento de datos 126, o ambos. Generar una especificación de modelo puede incluir generar un archivo legible por humanos (por ejemplo, un documento PDF) que enumera las especificaciones del modelo para un modelo de procesamiento de datos 110 que ha sido modificado y auditado por la herramienta de integración de modelos 102.
El sistema de integración de modelos 100 puede incluir, o sino puede acceder a, un medio de almacenamiento 108. El medio de almacenamiento 108 puede incluir uno o más medios no transitorios legibles por ordenador incluidos en, o accesibles por el sistema de integración de modelos 100. El medio de almacenamiento 108 puede almacenar uno o más modelos de procesamiento de datos 110, coeficientes de modelado 112, datos de atributos de producción 114, datos de código de razón 116 y datos de entrenamiento 118.
Los coeficientes de modelado 112 pueden incluir coeficientes de regresión u otros coeficientes que se usan para ponderar varios atributos en un modelo de procesamiento de datos 110. En algunos aspectos, los coeficientes de modelado 112 pueden generarse usando una plataforma de desarrollo de modelos 122 y proporcionarse a la herramienta de integración de modelos 102 con un modelo de procesamiento de datos 110. En aspectos adicionales o alternativos, los coeficientes de modelado 112 pueden generarse o modificarse en un sistema informático cliente 124 y transmitirse a la herramienta de integración de modelos 102 a través de una red de datos 119 usando una o más de las interfaces de usuario 106.
Los datos de atributos de producción 114 pueden incluir datos que describen uno o más atributos de producción utilizados por la plataforma de procesamiento de datos 128. En algunos aspectos, la herramienta de integración de modelos 102 puede comunicarse con la plataforma de procesamiento de datos 128 a través de la red de datos 119 para obtener datos de atributos de producción 114. Por ejemplo, la herramienta de integración de modelos 102 puede transmitir una solicitud a la plataforma de procesamiento de datos 128 para los datos de atributos de producción 114 y recibir los datos de atributos de producción 114 en respuesta. En aspectos adicionales o alternativos, los datos atribuidos a la producción pueden generarse, modificarse u obtenerse de otro modo utilizando un sistema informático cliente 124 y transmitirse desde el sistema informático cliente 124 al sistema de integración de modelos 100 a través de una red de datos 119 utilizando una o más de las interfaces de usuario 106.
Los datos de código de razón 116 pueden incluir uno o más códigos de razón. Los códigos de razón pueden incluir datos que identifican un impacto de un atributo particular en un modelo de procesamiento de datos 110 en un resultado generado por el modelo de procesamiento de datos 110. Por ejemplo, un código de razón indica la lógica para uno o más tipos de información en un informe de crédito (por ejemplo, los aspectos de una entidad que tuvieron como resultado una calificación de crédito dada) que se genera usando un modelo de procesamiento de datos 110.
Los datos de entrenamiento 118 pueden incluir datos usados por la herramienta de integración de modelos 102 para entrenar un modelo de procesamiento de datos 110 que ha sido generado, actualizado o modificado usando la herramienta de integración de modelos 102. En un ejemplo, los datos de entrenamiento 118 pueden incluir entradas de entrenamiento (por ejemplo, archivos de crédito) y salidas de entrenamiento (por ejemplo, puntuaciones de crédito, códigos de razón asociados, etc.). Uno o más algoritmos de entrenamiento adecuados se pueden usar para entrenar el modelo de procesamiento de datos 110 para identificar relaciones entre las entradas de entrenamiento y las salidas de entrenamiento de los datos de entrenamiento 118, como se describe en detalle en este documento.
En algunos aspectos, uno o más sistemas informáticos cliente 124 pueden acceder a la herramienta de integración de modelos 102 por medio de un servicio en línea 104. En algunos aspectos, el servicio en línea 104 puede ser un servicio independiente que es ejecutado por el sistema de integración de modelos 100 y que es accesible mediante la herramienta de integración de modelos 102. En otros aspectos, el servicio en línea 104 puede integrarse con la herramienta de integración de modelos 102.
En algunos aspectos, el sistema de integración de modelos 100 puede comunicarse, a través de una red de datos 119, con un sistema de desarrollo de modelos 120 que es independiente del sistema de integración de modelos 100. El sistema de desarrollo de modelos 120 puede incluir cualquier dispositivo informático o grupo de dispositivos informáticos que ejecute una plataforma de desarrollo de modelos adecuada 122. El sistema de integración de modelos 100 puede recibir código de modelado para uno o más modelos de procesamiento de datos desde el sistema de desarrollo de modelos 120. La herramienta de integración de modelos 102 puede consumir este código de modelado, que se genera y entrena usando la plataforma de desarrollo de modelos 122. Los ejemplos de plataformas de desarrollo de modelos adecuadas 122 incluyen el sistema de análisis estadístico ("SAS"), el paquete estadístico para las ciencias sociales ("SPSS"), la programación R, etc.
Por ejemplo, un modelo de procesamiento de datos 110 se puede desarrollar con una plataforma de desarrollo de modelos 122 como SAS o SPSS. El modelo de procesamiento de datos 110 puede modificarse utilizando la herramienta de integración de modelos 102 y exportarse en un formato PMML.
Un modelo de procesamiento de datos 110 que es creado, modificado o sino utilizado por la herramienta de integración de modelos 102 se puede desplegar en un motor de ejecución de modelos 103. El motor de ejecución de modelos 103 puede realizar algunas de, o todas las funciones especificadas por el modelo de procesamiento de datos 110. En algunos aspectos, el motor de ejecución de modelos 103 puede realizar funciones especificadas por el modelo de procesamiento de datos 110 sin necesidad de recodificar el modelo de procesamiento de datos 110 para entornos operativos específicos. Un ejemplo de un entorno operativo específico es un sistema de procesamiento de datos 126.
En algunos aspectos, un usuario del sistema informático cliente 124 puede ser autenticado por una o más herramientas de integración de modelos 102 y el servicio en línea 104. Esta autenticación puede verificar que un usuario del sistema informático cliente 124 tiene permiso para acceder a la funcionalidad de la herramienta de integración de modelos 102. En algunos aspectos, una o más de la herramienta de integración de modelos 102 y el servicio en línea 104 pueden acceder a cuentas de abonado que están almacenadas, por ejemplo, en una base de datos u otra fuente de datos adecuada. Las cuentas de abonado pueden incluir datos sobre respectivos usuarios que son abonados a un servicio en línea 104.
El sistema de integración de modelos 100 puede comunicarse electrónicamente con uno o más sistemas informáticos cliente 124 a través de una o más redes de datos 119. Por ejemplo, el servicio en línea 104 puede recibir solicitudes de uno o más usuarios a través de la red de datos 119 para establecer una o más cuentas de abonado. El servicio en línea 104 puede establecer las cuentas de abonado almacenando información de autenticación (por ejemplo, nombres de usuario, contraseñas, etc.) que pueden usarse para autenticar a uno o más usuarios. Después de establecer las cuentas de los abonados, el servicio en línea 104 que incluye la herramienta de integración de modelos 102 puede autenticar a uno o más usuarios, lo que permite a los usuarios acceder a la herramienta de integración de modelos 102.
En algunos aspectos, el servicio en línea 104 puede incluir, o comunicarse con uno o más de un módulo de servidor web, un módulo de servicios web y un módulo de servicios empresariales. Por ejemplo, un módulo de servidor web puede ejecutarse mediante un dispositivo de procesamiento adecuado para proporcionar una o más páginas web u otras interfaces al sistema informático cliente 124. El módulo de servicios web puede generar este contenido mediante la ejecución de uno o más algoritmos analíticos utilizando información recuperada desde el medio de almacenamiento 108. El módulo de servicios empresariales se puede ejecutar para recuperar la información desde el medio de almacenamiento 108.
En algunos aspectos, la herramienta de integración de modelos 102 proporciona funcionalidad para administrar los nombres de los atributos de producción que pueden usarse en uno o más modelos. Los atributos pueden incluir factores utilizados como variables para determinar la puntuación de una entidad. El valor del atributo puede ser un número natural, un número de coma flotante, un valor booleano, un carácter o una serie de caracteres. Un atributo puede ser el resultado de la ejecución de otra regla o una combinación de otros atributos. La herramienta de integración de modelos 102 se puede usar para crear catálogos de atributos que se usarán para crear la especificación del modelo. Un catálogo de atributos puede incluir una lista de atributos creados para una organización, usuario u otra entidad específica.
Un ejemplo de un modelo de procesamiento de datos 110 que puede probarse y actualizarse con la herramienta de integración de modelos 102 es un modelo de tarjeta de puntuación. Un modelo de tarjeta de puntuación es una función analítica que se puede utilizar para calcular una o más métricas en una o más entidades que ayuda a tomar una decisión con respecto a la entidad. Una tarjeta de puntuación compleja (también conocido como tarjeta de puntuación "anidada" o "segmentada") puede incluir varias tarjetas de puntuación complejas dentro de un modelo que utiliza lógica de segmentación para identificar la dependencia, el flujo y el orden en que se incluirá la puntuación de cada uno de las tarjetas de puntuación en la puntuación global.
En algunos aspectos, la herramienta de integración de modelos 102 puede facilitar, ejecutar o habilitar de otro modo una o más operaciones para crear una tarjeta de puntuación. Por ejemplo, la figura 2 es un diagrama de flujo que ilustra un ejemplo de un proceso 200 para generar y auditar código de modelado para un modelo de procesamiento
electrónico de datos. Con fines ilustrativos, el proceso 200 se describe haciendo referencia a la implementación representada en la figura 1 y algunos otros ejemplos descritos en este documento. Pero son posibles otras implementaciones.
El proceso 200 incluye recibir un modelo de procesamiento electrónico de datos que genera una salida analítica aplicando una función a atributos de entrada que se ponderan con respectivos coeficientes de modelado, como se muestra en el bloque 202. Uno o más dispositivos de procesamiento del sistema de integración de modelos 100 ejecutan la herramienta de integración de modelos 102 para recibir un modelo de procesamiento de datos 110. En algunos aspectos, la herramienta de integración de modelos 102 puede recibir el modelo de procesamiento de datos 110 desde un sistema informático cliente 124. En aspectos adicionales o alternativos, el sistema de integración de modelos 100 puede recibir el modelo de procesamiento de datos 110 de un sistema de desarrollo de modelos 120.
Un atributo de entrada puede ser un atributo que se identifica como una de las entradas a la función incluida en el modelo de procesamiento de datos. Por ejemplo, un atributo puede ser un factor utilizado como variable para determinar una salida analítica (por ejemplo, elementos relacionados con crédito utilizados como variables para determinar calificaciones de crédito). El valor del atributo puede ser un número natural, un número de coma flotante, un valor booleano, un carácter o una serie de caracteres. En algunos aspectos, un atributo puede ser el resultado de la ejecución de una regla o una combinación de otros atributos.
Una salida analítica puede ser un número (por ejemplo, una puntuación), una cadena (por ejemplo, una identificación de un código de razón) o cualesquiera otros datos de salida adecuados que se generen mediante la ejecución del modelo de procesamiento de datos. En algunos aspectos, las salidas analíticas indican predicciones de comportamiento por parte de individuos u otras entidades. Por ejemplo, una salida analítica puede tener un valor (por ejemplo, una calificación de crédito) que indique una predicción de riesgo. En aspectos adicionales o alternativos, las salidas analíticas indican relaciones entre atributos de entrada. Por ejemplo, una salida analítica puede tener un valor (por ejemplo, una puntuación de crédito) que indica el grado en que ciertos atributos de entrada impactan en otros atributos de entrada.
En algunos aspectos, el modelo de procesamiento de datos recibido 110 puede carecer de ciertos datos o funciones que se utilizan con el modelo de procesamiento de datos 110 cuando se implementa en un sistema de procesamiento de datos 126. En un ejemplo, el modelo de procesamiento de datos recibido 110 puede carecer de una o más de información de rango de contenedores asociada con coeficientes de modelado o información de código de razón asociada con los atributos de entrada. Por ejemplo, una plataforma de desarrollo de modelos 122, que puede usarse para generar un modelo de procesamiento de datos inicial 110, puede carecer de características para especificar información de rango de contenedores, información de código de razón o ambas. La herramienta de integración de modelos 102 se puede utilizar para actualizar el modelo de procesamiento de datos 110 para incluir una o más de información de rango de contenedores, información de código de razón o ambas, como se describe en este documento. La información de rango de contenedores puede incluir cualesquiera datos que especifiquen o indiquen de otro modo un rango de contenedores para uno o más coeficientes de modelado. La información de código de razón puede incluir cualesquiera datos que especifiquen o indiquen uno o más códigos de razón para un modelo de procesamiento de datos 110.
Un rango de contenedor puede incluir un rango de valores de atributo para los que un coeficiente de modelado dado es aplicable a un atributo, o un conjunto de rangos de valores de atributo para los que diferentes coeficientes de modelado son aplicables al atributo. En un ejemplo simplificado, un modelo de procesamiento de datos puede incluir una función y = B1X1 + B2X2, donde una salida y se modela como una función de atributos X1 y X2 que son ponderados por los coeficientes de modelado y B2. El modelo puede modelar con precisión el comportamiento de un conjunto de datos para ciertos valores de los atributos X1 y X2. Los rangos de contenedores para este ejemplo simplificado son los rangos de valores de los atributos X 1 y X 2 que tendrán como resultado salidas precisas de un modelo utilizando los coeficientes de modelado B1 y B2.
El proceso 200 también incluye identificar una plataforma de procesamiento de datos de destino que requiere rangos de contenedores asociados con los coeficientes de modelado y códigos de razón asociados con los atributos de entrada, como se muestra en el bloque 204. Uno o más dispositivos de procesamiento del sistema de integración de modelos 100 ejecutan la herramienta de integración de modelos 102 para identificar una o más plataformas de procesamiento de datos 126 en la que se desplegará un modelo de procesamiento de datos recibido 110.
La herramienta de integración de modelos 102 identifica el sistema de procesamiento de datos 126 en función de la entrada de usuario que se recibe a través de una o más de las interfaces 106 y que especifica una o más características de la plataforma de procesamiento de datos relevante 128. Por ejemplo, la herramienta de integración de modelos 102 puede almacenar, en el medio de almacenamiento 108 u otro medio no transitorio legible por ordenador adecuado, datos que identifican una o más plataformas de procesamiento de datos 128 en las que se puede desplegar un modelo de procesamiento de datos 110. La herramienta de integración de modelos 102 puede utilizar los datos almacenados para generar una interfaz que enumere una o más de las plataformas de procesamiento de datos disponibles 128. La herramienta de integración de modelos 102 puede proporcionar la interfaz 106 al sistema informático cliente 124. La herramienta de integración de modelos 102 puede identificar el sistema de procesamiento de datos de destino 126 en función de la entrada de usuario que se recibe del sistema
informático cliente 124 a través de la interfaz y que especifica una o más características del sistema de procesamiento de datos relevante 126.
El proceso 200 también incluye proporcionar una interfaz de usuario que tiene elementos de interfaz para especificar información de rango de contenedores e información de código de razón, como se muestra en el bloque 206. Uno o más dispositivos de procesamiento del sistema de integración de modelos 100 ejecutan la herramienta de integración de modelos 102 para proporcionar uno o más interfaces para especificar información de rango de contenedores e información de código de razón. La herramienta de integración de modelos 102 también proporciona una o más interfaces para mapear atributos de producción, tal como los utiliza una plataforma de procesamiento de datos 128, a atributos de modelo incluidos en un modelo de procesamiento de datos 110. Ejemplos de interfaces para mapear atributos de producción a atributos de modelos y para especificar información de rango de contenedores e información de código de razón se describen en el presente documento con respecto a las figuras 3-5.
La herramienta de integración de modelos 102 puede proporcionar acceso a la interfaz de usuario mediante un sistema informático cliente 124. En algunos aspectos, proporcionar acceso a la interfaz de usuario implica transmitir datos para la interfaz de usuario desde el sistema de integración de modelos 100 al sistema informático cliente 124. Por ejemplo, la herramienta de integración de modelos 102 puede configurar el servicio en línea 104 para proporcionar la interfaz de usuario en una página web. El servicio en línea 104 puede recibir entradas del sistema informático cliente 124 a través de la interfaz de usuario. En aspectos adicionales o alternativos, proporcionar acceso a la interfaz de usuario implica transmitir datos para la interfaz de usuario desde el sistema de integración de modelos 100 a un servidor web u otro sistema de terceros al que puede acceder el cliente. Por ejemplo, el sistema de integración de modelos 100 puede transmitir una o más instrucciones a un servidor web que hacen que el servidor web presente la interfaz de usuario al sistema informático cliente 124. El servidor web puede recibir entradas del sistema informático cliente 124 a través de la interfaz de usuario y transmitir datos que indican las entradas de usuario al sistema de integración de modelos 100.
El proceso 200 también incluye identificar los rangos de contenedores y los códigos de razón en función de la entrada recibida a través de la interfaz de usuario, como se muestra en el bloque 208. Por ejemplo, la herramienta de integración de modelos 102 puede recibir una entrada de un sistema informático cliente 124 que se obtuvo por medio de una o más de las interfaces dispuestas en el bloque 206. La herramienta de integración de modelos 102 puede identificar, a partir de esta entrada recibida, los rangos de contenedores e información de código de razón que se usará en un modelo de procesamiento de datos 110 que se desplegará en una determinada plataforma de procesamiento de datos 128.
El proceso 200 también incluye generar código de modelado para el modelo de procesamiento electrónico de datos con los rangos de contenedores y los códigos de razón, como se muestra en el bloque 210. Uno o más dispositivos de procesamiento del sistema de integración de modelos 100 ejecutan la herramienta de integración de modelos 102 para generar código PMML. El código de modelado puede especificar varios aspectos de un modelo, como nombres de campos, nombres de funciones, etc. El código PMML puede ejecutarse mediante un motor de ejecución de modelos 103, como la plataforma ADAPA, sin crear código fuente específico de la plataforma (por ejemplo, C++, Java, etc.) para implementar el modelo.
El proceso 200 también incluye realizar una prueba del código de modelado, como se muestra en el bloque 212. Uno o más dispositivos de procesamiento del sistema de integración de modelos 100 ejecutan el motor de ejecución de modelos 103 en respuesta a uno o más comandos recibidos a través de la herramienta de integración de modelos 102. En este documento se describen ejemplos del proceso de prueba con respecto a las figura 8-10. Realizar la prueba implica proporcionar una interfaz para cargar un archivo de auditoría en un medio no transitorio legible por ordenador al que puede acceder la herramienta de integración de modelos 102. Un archivo de auditoría incluye uno o más salidas analíticas esperadas y uno o más códigos de razón esperados. El archivo de auditoría también puede incluir valores de prueba para atributos utilizados por el modelo de procesamiento de datos 110 a probar.
El motor de ejecución de modelos 103 ejecuta el código PMML generado en el bloque 210, utilizando datos del archivo de auditoría como datos de entrada y, por lo tanto, genera varias salidas de la prueba. Las salidas de la prueba incluyen salidas analíticas de la prueba, como, por ejemplo, puntuaciones generadas por un modelo de procesamiento de datos de tarjeta de puntuación 110. La herramienta de integración de modelos 102 compara las salidas analíticas de la prueba con correspondientes salidas analíticas esperadas del archivo de auditoría. Las salidas de la prueba también incluyen códigos de razón de la prueba. La herramienta de integración de modelos 102 compara los códigos de razón de prueba con correspondientes códigos de razón esperados del archivo de auditoría. El proceso 200 también incluye determinar si las salidas de la prueba (uno o más salidas analíticas de la prueba, uno o más códigos de razón de prueba) coinciden con las salidas esperadas (una o más salidas analíticas esperadas, uno o más códigos de razón esperados), como se muestra en el bloque 214. Si las salidas analíticas de la prueba coinciden con las salidas esperadas, la herramienta de integración de modelos 102 puede emitir uno o más mensajes que indican que el modelo de procesamiento de datos 110 ha sido probado o auditado con éxito, como se muestra en el bloque 216. En algunos aspectos, una coincidencia puede ser una coincidencia exacta (por
ejemplo, una puntuación de prueba que coincide exactamente con una puntuación esperado). En aspectos adicionales o alternativos, un valor de prueba puede considerarse una coincidencia con un valor esperado si el valor de prueba cae dentro de un rango de umbral de valores esperados (por ejemplo, dentro de un cierto rango de un valor esperado identificado en un archivo de auditoría).
Si las salidas analíticas de la prueba coinciden con las salidas esperadas, la herramienta de integración de modelos 102 puede emitir uno o más mensajes que indican que el modelo de procesamiento de datos 110 ha fallado la prueba o auditoría, como se muestra en el bloque 218. En un ejemplo, una salida analítica de prueba (por ejemplo, una puntuación de prueba) puede ser lo suficientemente diferente de una salida analítica esperada como para que el modelo de procesamiento de datos 110 no proporcione los resultados de modelado deseados. En otro ejemplo, un código de razón de la prueba puede ser diferente de un código de razón esperado.
Si el modelo de procesamiento de datos 110 no pasó la prueba o la auditoría, el proceso puede volver al bloque 210. La herramienta de integración de modelos 102 se puede usar para actualizar una o más características del modelo de procesamiento de datos 110 (por ejemplo, información de rango de contenedores, información de coeficientes, lógica de procesamiento, etc.). La herramienta de integración de modelos 102 puede generar código PMML actualizado u otro código de modelado que incluya las actualizaciones del modelo de procesamiento de datos 110 que se realizaron después de la prueba o auditoría fallida.
La herramienta de integración de modelos 102 puede volver al bloque 212 para realizar pruebas o auditorías adicionales del código PMML actualizado u otro código de modelado. Si las pruebas o auditorías adicionales tienen éxito, el proceso 200 puede incluir emitir código fuente ejecutable que implementa el modelo de procesamiento de datos verificado, en un lenguaje de programación utilizado por la plataforma de procesamiento de datos, como se muestra en el bloque 220. Por ejemplo, uno o más dispositivos de procesamiento del sistema de integración de modelos 100 pueden generar código fuente ejecutable (por ejemplo, C++, Java, etc.) que es utilizado por la plataforma de procesamiento de datos 128 identificada en el bloque 204. El código fuente generado en el bloque 220 puede implementar el modelo de procesamiento de datos 110 con la información de rango de contenedores y la información de código de razón descrita en el bloque 206, 208. La herramienta de integración de modelos 102 puede ejecutar un proceso de generación de código en el que se analiza sintácticamente el modelo de procesamiento de datos 110 auditado con éxito, se identifican los componentes del código fuente correspondientes y se generan uno o más archivos de código fuente que implementan el modelo de procesamiento de datos 110. En este documento se describe un ejemplo del proceso de generación de código, con respecto a la figura 11.
El desarrollo de modelos descrito en la figura 2 se proporciona con fines ilustrativos. Sin embargo, son posibles otras implementaciones. En algunos aspectos, uno o más de los bloques representados en la figura 2 pueden omitirse. Como se discutió con respecto a la figura 2, la herramienta de integración de modelos 102 se puede usar para mapear los atributos de modelo de un modelo de procesamiento de datos 110 a atributos de producción en los datos de producción 130. Por ejemplo, un atributo del modelo puede incluir el nombre del atributo que se usa en el código PMML u otro código de modelado que se emite desde una plataforma de desarrollo de modelos 122. El nombre del atributo del modelo puede diferir del nombre de un atributo correspondiente en datos de producción 130 que utiliza una plataforma de procesamiento de datos 128 para la que se está desarrollando el modelo de procesamiento de datos 110. La herramienta de integración de modelos 102 se puede usar para crear un mapeo entre el atributo del modelo y el atributo de producción, permitiendo así que los datos de producción 130 o los datos de entrenamiento correspondientes 118 se usen con el modelo de procesamiento de datos 110 en desarrollo.
Por ejemplo, la herramienta de integración de modelos 102 puede generar y proporcionar una interfaz que incluye uno o más elementos de interfaz para crear un mapeo entre un atributo de un modelo entrenado y un atributo de un entorno de producción que incluye la plataforma de procesamiento de datos 128 y los datos de producción 130. Por ejemplo, la herramienta de integración de modelos 102 puede comunicarse con el sistema informático cliente 124, el sistema de procesamiento de datos 128 u otro dispositivo informático adecuado para identificar uno o más atributos de los datos de producción 130. La herramienta de integración de modelos 102 puede generar una interfaz que muestre uno o más de los atributos identificados de los datos de producción 130. Al generar la interfaz, la herramienta de integración de modelos 102 también puede incluir uno o más elementos de interfaz que muestren uno o más de los atributos del modelo de entrenamiento. Por ejemplo, la herramienta de integración de modelos 102 puede acceder a un archivo importado con los atributos del modelo de entrenamiento, recuperar los atributos del archivo importado e incluir los atributos recuperados en la interfaz.
La herramienta de integración de modelos 102 puede recibir la entrada de un usuario que identifica un mapeo entre un atributo del modelo de entrenamiento y un atributo correspondiente de los datos de producción 130. Por ejemplo, la entrada puede incluir una selección de un atributo del modelo de entrenamiento como se muestra en la interfaz, y una selección de un atributo de los datos de producción 130 como se muestra en la interfaz, y una selección de un comando para crear un mapeo. En respuesta a recibir la entrada, la herramienta de integración de modelos 102 puede crear un mapeo entre un atributo del modelo de entrenamiento y un atributo correspondiente de los datos de producción 130. Por ejemplo, la herramienta de integración de modelos 102 puede crear una entrada en una tabla u otra estructura de datos almacenada en el medio de almacenamiento 108 (u otro medio no transitorio legible por ordenador adecuado) que identifica la asociación entre el atributo del modelo de entrenamiento y el atributo
correspondiente de los datos de producción 130.
En el ejemplo representado en la figura 3, el usuario puede acceder a diferentes atributos de producción desde los datos de atributos de producción 114 a través de la interfaz 300. Por ejemplo, el elemento de menú 302 puede permitir al usuario indicar un atributo de producción desde un menú desplegable. La interfaz 300 también puede representar los nombres de los atributos de modelo del modelo de procesamiento de datos 110, uno de los cuales se puede seleccionar a través de los botones de radio 304. Para completar el mapeo de atributos de modelo a atributos de producción, el usuario puede hacer clic en el apropiado de los botones de radio 304. En respuesta a recibir la entrada de usuario que indica una selección de un atributo de producción y un atributo de modelado a través de la interfaz 300, la herramienta de integración de modelos 102 puede crear un mapeo entre el atributo de producción y el atributo de modelado en el medio de almacenamiento 108.
La figura 4 representa un ejemplo de otra interfaz 400 para mapear atributos de producción a atributos de modelo. En el ejemplo representado en la figura 4, el usuario puede acceder a diferentes atributos de producción desde los datos de atributos de producción 114 a través de la interfaz 400. Por ejemplo, los elementos de menú 402 pueden permitir al usuario indicar diferentes atributos de producción desde menús desplegables. La interfaz 400 también puede representar los nombres de atributos de modelo del modelo de procesamiento de datos 110 (por ejemplo, los atributos de modelo enumerados en la columna "nombre SAS"). Para completar el mapeo de atributos de modelo a atributos de producción, el usuario puede seleccionar atributos de producción que se mapearán a atributos de modelo mostrados. En respuesta a recibir la entrada de usuario que indica una selección de varios atributos de producción a través de la interfaz 400, la herramienta de integración de modelos 102 puede crear un mapeo entre el atributo de producción y el atributo de modelado en el medio de almacenamiento 108.
Otra operación para crear una tarjeta de puntuación implica obtener coeficientes de regresión para un modelo. La herramienta de integración de modelos 102 se puede usar para identificar, introducir o proporcionar de otro modo coeficientes de regresión de un modelo de entrenamiento. La herramienta de integración de modelos 102 puede proporcionar una interfaz que incluye uno o más elementos de interfaz para identificar coeficientes de regresión. Por ejemplo, la interfaz 400 también puede incluir campos 404 que permiten al usuario introducir coeficientes de regresión u otros coeficientes de modelado que se aplicarán a los atributos usados en un modelo de procesamiento de datos 110. (Otras implementaciones pueden usar otros elementos de interfaz para introducir coeficientes de regresión).
En algunos aspectos, una interfaz presentada por la herramienta de integración de modelos 102 puede incluir uno o más elementos de interfaz, como campos, para identificar la ubicación de un archivo en el que se almacenan los coeficientes de regresión. La interfaz también puede incluir un elemento de comando que permite a un usuario enviar un comando de "importar" a la herramienta de integración de modelos 102. La herramienta de integración de modelos 102 puede recibir la entrada de un usuario que identifica los coeficientes de regresión. Por ejemplo, la herramienta de integración de modelos 102 puede recibir datos que se introducen en el elemento de campo y que identifican la ubicación del archivo en el que se almacenan coeficientes de modelado 112 (por ejemplo, coeficientes de regresión). La interfaz también puede recibir un comando de importación que se activa cuando se hace clic en el elemento de comando o se selecciona de otro modo en la interfaz.
En respuesta a recibir la entrada, la herramienta de integración de modelos 102 puede importar el archivo que incluye los coeficientes de modelado 112. En algunos aspectos, la herramienta de integración de modelos 102 puede recuperar coeficientes de modelado 112 de un sistema de archivos que se almacena en el medio de almacenamiento 108. En aspectos adicionales o alternativos, la herramienta de integración de modelos 102 puede enviar una solicitud del archivo a la fuente de datos en la que se almacenan los coeficientes de modelado 112 y puede recibir una transmisión de respuesta de la fuente de datos que incluye los coeficientes de modelado 112.
En un ejemplo, el usuario puede añadir una tarjeta de puntuación para un modelo importando una tabla de regresión, que puede incluir un conjunto de coeficientes de regresión u otros coeficientes de modelado 112. La tabla de regresión puede ser un archivo delimitado que se genera usando, por ejemplo, una plataforma de desarrollo de modelos 122 que se ha utilizado para desarrollar, al menos parcialmente, un modelo de tarjeta de puntuación. Un usuario puede elegir y cargar el archivo delimitado con coeficientes de regresión. Los coeficientes importados se pueden usar para poblar los valores en la columna "Puntos" representada en la interfaz 400 de la figura 4.
Como se discutió anteriormente con respecto a la figura 2, la herramienta de integración de modelos 102 se puede usar para añadir información de rango de contenedores a un modelo de procesamiento de datos 110. En algunos aspectos, los rangos de contenedores son una relación de uno a muchos con respecto a los atributos utilizados en la tarjeta de puntuación u otro modelo de procesamiento de datos 110.
La herramienta de integración de modelos 102 puede proporcionar una interfaz que incluye uno o más elementos de interfaz para obtener rangos de contenedores. Por ejemplo, la figura 5 representa un ejemplo de una interfaz 500 que puede ser utilizada por la herramienta de integración de modelos 102 para obtener información de rango de contenedores. La interfaz 500 puede incluir una tabla 501 que se usa para identificar rangos de contenedores para diferentes coeficientes de regresión. La herramienta de integración de modelos 102 puede recibir entradas de un usuario que identifica rangos de contenedores. Por ejemplo, un usuario puede modificar la tabla 501 para especificar rangos de contenedores para diferentes coeficientes de regresión. En respuesta a recibir la entrada, la herramienta
de integración de modelos 102 puede almacenar los rangos de contenedores en un archivo de datos que está asociado con un modelo de procesamiento de datos 110 determinado.
En el ejemplo representado en la figura 5, la interfaz 500 muestra atributos mapeados y los puntos correspondientes para una tarjeta de puntuación. Ejemplos de los campos que se pueden incluir en esta interfaz son los campos 504 (etiquetado como "ID de atributo y descripción"), 406 (etiquetado como "Rango de contenedor"), 408 (etiquetado como "Puntos"), 410 (etiquetado como "Tipo de contenedor (original) "), 412 (etiquetado como "Transformación"), 414 (etiquetado como "Código de razón") y 416 (etiquetado como "¿Regresar 5.° RC?").
El campo 504 puede mostrar atributos de producción de los datos de atributos de producción 114 que se han mapeado a atributos de modelo de un modelo de procesamiento de datos 110 (por ejemplo, un archivo de modelo de tarjeta de puntuación cargada). En el ejemplo representado en la figura 5, el campo 504 muestra un identificador de atributo para un atributo de producción. En algunos aspectos, múltiples atributos de modelo del modelo de procesamiento de datos 110 se pueden mapear al mismo identificador de atributo para un atributo de producción. El campo 506 puede permitir que un usuario introduzca un rango de contenedores. El rango de contenedor puede ser un rango de valores de atributo para los que es aplicable un coeficiente de modelado correspondiente (por ejemplo, un coeficiente de regresión de un modelo de tarjeta de puntuación cargada). Un atributo puede tener múltiples rangos de contenedores asociados. En el ejemplo representado en la figura 5, cada rango de contenedor se muestra en una fila independiente bajo el atributo. El campo 508 se puede usar para mostrar o introducir un coeficiente de regresión asociado con un rango de contenedores particular para un atributo particular.
El campo 510 puede permitir que un usuario especifique si los valores de atributo para un coeficiente de modelado dado pueden usarse tal cual o si los valores de atributo tienen que transformarse de alguna manera (por ejemplo, mediante una ecuación para normalizar los valores de atributo). Por ejemplo, si se pueden utilizar los valores de atributo "originales", un usuario puede seleccionar "Sí" para el tipo de contenedor. Si los valores de atributo "originales" tienen que transformarse para su uso en el modelo, un usuario puede seleccionar "No" para el tipo de contenedor.
Si un contenedor tiene que sufrir una transformación, la expresión de la transformación se puede introducir en el campo 512. Por ejemplo, un usuario puede introducir una expresión matemática usando, como entradas, el valor del atributo y el coeficiente de modelado (por ejemplo, "puntos") para el rango de contenedores correspondiente.
El campo 514 puede permitir que un usuario seleccione un código de razón para el modelo. Por ejemplo, el campo 514 puede ser un menú desplegable con códigos de razón disponibles para el modelo. Se puede seleccionar un código de razón que corresponda al valor en el rango de contenedores.
Como se discutió anteriormente con respecto a la figura 2, la herramienta de integración de modelos 102 se puede usar para añadir información de código de razón a un modelo de procesamiento de datos 110. Los códigos de razón pueden, por ejemplo, indicar la lógica para uno o más tipos de información en un informe de crédito (por ejemplo, los aspectos de una entidad que tuvieron como resultado una puntuación de crédito dada). La herramienta de integración de modelos 102 puede proporcionar una interfaz que incluye uno o más elementos de interfaz para identificar códigos de razón. Por ejemplo, una interfaz de usuario proporcionada por la herramienta de integración de modelos 102 puede incluir un elemento de campo para identificar la ubicación de un archivo en el que se almacenan los códigos de razón. La interfaz también puede incluir un elemento de comando que permite a un usuario enviar un comando de "importar" a la herramienta de integración de modelos 102.
La herramienta de integración de modelos 102 puede recibir entradas de un usuario que identifican los códigos de razón. Por ejemplo, la herramienta de integración de modelos 102 puede recibir datos que se introducen en el elemento de campo y que identifican la ubicación del archivo en el que se almacenan los códigos de razón. La interfaz también puede recibir un comando de importación que se activa cuando se hace clic en el elemento de comando o se selecciona de otro modo en la interfaz. En respuesta a recibir la entrada, la herramienta de integración de modelos 102 puede importar el archivo que incluye los códigos de razón. En un ejemplo, la herramienta de integración de modelos 102 puede recuperar el archivo de un sistema de archivos que está almacenado en el medio de almacenamiento 108 u otro medio no transitorio legible por ordenador accesible para el sistema de integración de modelos 100. En otro ejemplo, la herramienta de integración de modelos 102 puede enviar una solicitud del archivo a la fuente de datos en la que está almacenado el archivo y puede recibir una transmisión de respuesta desde la fuente de datos que incluye el archivo.
En algunos aspectos, un modelo de procesamiento de datos 110 que incluye funcionalidad de tarjeta de puntuación puede incluir múltiples funciones de tarjeta de puntuación. Cada una de las funciones de la tarjeta de puntuación puede denominarse "segmentos" en el modelo PMML que se genera a partir del modelo de procesamiento de datos 110. Por ejemplo, cuando se ejecuta un modelo de tarjeta de puntuación, solo se puede utilizar una tarjeta de puntuación (segmento) para calcular la puntuación del modelo. Este segmento se denomina "segmento ganador". La herramienta de integración de modelos 102 puede presentar una interfaz a un usuario para definir lógica de segmentación, que se usa para determinar qué segmento se seleccionará como el segmento ganador cuando una plataforma de procesamiento de datos 128 ejecute el modelo de procesamiento de datos 110. La lógica de segmentación puede incluir una expresión que define las condiciones en la que se seleccionará un segmento
determinado (por ejemplo, una función de tarjeta de puntuación en particular), en tiempo de ejecución, para generar una salida analítica o predictiva (por ejemplo, calculando una puntuación utilizando el modelo). Si un modelo de procesamiento de datos 110 tiene más de un tarjeta de puntuación, entonces cada tarjeta de puntuación puede tratarse mediante la lógica de segmentación.
La lógica de segmentación se puede definir utilizando una o más interfaces adecuadas. Por ejemplo, la herramienta de integración de modelos 102 puede presentar una interfaz para seleccionar, introducir o ingresar de otro modo una expresión de segmentación. La expresión de segmentación puede incluir condiciones matemáticas aplicadas a uno o más atributos que se usan en un modelo de procesamiento de datos 110. En algunos aspectos, la expresión de segmentación para un modelo de procesamiento de datos 110 también puede referirse a atributos que no están incluidos en el modelo de procesamiento de datos 110. Por ejemplo, la lógica de segmentación puede hacer referencia a un atributo en los datos de atributos de producción 114 o cualquier otro atributo adecuado que se defina en un catálogo de atributos asociado con un modelo de procesamiento de datos 110 que está en desarrollo.
En aspectos adicionales o alternativos, la herramienta de integración de modelos 102 puede facilitar, ejecutar o habilitar de otro modo una o más operaciones para desarrollar un modelo de procesamiento de datos 110 que incorpore múltiples árboles de decisión u otras funciones analíticas. En un ejemplo, un modelo de procesamiento de datos 110 puede usar una predicción del uso de la tarjeta para desarrollar una estimación de gastos para una o más entidades. El modelo de procesamiento de datos 110 puede usar diferentes árboles de decisión para desarrollar diferentes predicciones del uso de la tarjeta. Por ejemplo, se puede desarrollar un primer árbol de decisión usando un archivo de crédito "grueso" (por ejemplo, un archivo de crédito que tenga un número de líneas de crédito que excede un número umbral). Se puede desarrollar un segundo árbol de decisión utilizando un archivo de crédito "delgado" (por ejemplo, un archivo de crédito que tenga un número de líneas de crédito menor que el número umbral). La lógica de modelado en un modelo de procesamiento de datos 110 puede obtener una predicción del uso de la tarjeta a partir de uno de los árboles de decisión y usar la predicción para desarrollar una estimación de gastos. Durante la ejecución del modelo de procesamiento de datos 110, se puede seleccionar un árbol de decisión particular en función de si un archivo de crédito a usar es un archivo delgado o un archivo grueso.
Una operación para desarrollar un modelo que utiliza múltiples árboles de decisión implica obtener un árbol de decisión o varios árboles de decisión que se añadirán a, o se incluirán de otro modo en un modelo. La herramienta de integración de modelos 102 se puede usar para identificar, introducir o proporcionar de otro modo árboles de decisión que se desarrollan usando un modelo de entrenamiento. La herramienta de integración de modelos 102 puede proporcionar una interfaz que incluye uno o más elementos de interfaz para identificar árboles de decisión. Por ejemplo, la interfaz puede incluir un elemento de campo para identificar la ubicación de un archivo PMML u otro código de modelado en el que se almacenan uno o más árboles de decisión. La interfaz también puede incluir un elemento de comando que permite a un usuario enviar un comando de "importar" a la herramienta de integración de modelos 102.
En algunos aspectos, la herramienta de integración de modelos 102 puede recibir una entrada de usuario que identifica los árboles de decisión. Por ejemplo, la herramienta de integración de modelos 102 puede recibir datos que se introducen en una interfaz de usuario adecuada y que identifican la ubicación del archivo en el que se almacenan los árboles de decisión. La interfaz también puede recibir un comando de importación que se activa cuando se hace clic en el elemento de comando o se selecciona de otro modo en la interfaz. En respuesta a recibir la entrada de usuario obtenida a través de la interfaz, la herramienta de integración de modelos 102 puede importar el archivo que incluye los árboles de decisión. Por ejemplo, la herramienta de integración de modelos 102 puede enviar una solicitud del archivo a la fuente de datos en la que se almacena el archivo y puede recibir una transmisión de respuesta desde la fuente de datos que incluye el archivo.
Otra operación para desarrollar un modelo que usa múltiples árboles de decisión implica mapear atributos usados en uno o más árboles de decisión a atributos en un entorno de producción, como el sistema de procesamiento de datos 126. La herramienta de integración de modelos 102 puede proporcionar una interfaz, tal como la interfaz 600 representada en la figura 6, que incluye uno o más elementos de interfaz para crear un mapeo entre un atributo de un modelo y un atributo de un entorno de producción. La herramienta de integración de modelos 102 puede acceder a los datos de atributos de producción 114 para identificar uno o más atributos del entorno de producción. La herramienta de integración de modelos 102 puede generar la interfaz 600, que incluye uno o más elementos de interfaz 502 para mostrar o seleccionar uno o más de los atributos identificados de los datos de atributos de producción 114. La herramienta de integración de modelos 102 también puede incluir uno o más elementos de interfaz 604 que muestran uno o más de los atributos utilizados en el árbol de decisión. Por ejemplo, la herramienta de integración de modelos 102 puede acceder a un archivo importado con los atributos usados en el árbol de decisión, recuperar los atributos del archivo importado e incluir los atributos recuperados en la interfaz.
La herramienta de integración de modelos 102 puede recibir la entrada de un usuario que identifica un mapeo entre un atributo usado en el árbol de decisión y un atributo correspondiente del entorno de producción. Por ejemplo, la entrada puede incluir una selección de un atributo usado en el árbol de decisión y una selección, a través de uno o más de los elementos de interfaz 602, de un atributo de producción del entorno de producción. La entrada también puede incluir una selección de un comando para crear un mapeo. En respuesta a recibir la entrada, la herramienta de integración de modelos 102 puede crear un mapeo entre un atributo utilizado en el árbol de decisión y un atributo correspondiente del entorno de producción. Por ejemplo, la herramienta de integración de modelos 102 puede crear una entrada en una
tabla u otra estructura de datos almacenada en un medio no transitorio legible por ordenador que identifica la asociación entre el atributo utilizado en el árbol de decisión y el atributo correspondiente del entorno de producción. La interfaz 700 representada en la figura 7 se puede usar para importar un archivo de árbol de decisión o sino configurar un modelo de procesamiento de datos 110 para usar una función de árbol de decisión. El campo "Salida prevista" puede permitir que un usuario seleccione el nombre de la salida que se espera que devuelva el árbol de decisión. El campo "Tipo de función de salida" puede permitir que un usuario seleccione el tipo de salida que se espera que devuelva el árbol de decisión (por ejemplo, "Probabilidad" y "Predicho"). El campo "Tipo de datos de salida" puede permitir que un usuario seleccione si la salida del árbol de decisión es de tipo numérico o de cadena. Si se selecciona "Probabilidad" como "Tipo de función de salida", el "Tipo de datos de salida" puede limitarse a "Numérico". Si se selecciona "Previsto" como "Tipo de función de salida", el "Tipo de datos de salida" puede ser "Numérico" o "Cadena".
Otra operación para desarrollar un modelo que usa múltiples árboles de decisión implica proporcionar lógica de segmentación para seleccionar un árbol de decisión dado. La herramienta de integración de modelos 102 puede proporcionar una interfaz que incluye uno o más elementos de interfaz para estos criterios. Una expresión de segmentación introducida en esta interfaz puede incluir condiciones matemáticas aplicadas a uno o más atributos que se usan en el modelo. Por ejemplo, un usuario puede introducir datos que indiquen que el número de líneas de crédito por encima de un umbral debe desencadenar el uso de un primer árbol de decisión y que el número de líneas de crédito por debajo de un umbral debe desencadenar el uso de un segundo árbol de decisión. En respuesta a recibir la entrada, la herramienta de integración de modelos 102 puede almacenar los criterios en un archivo de datos que está asociado con el modelo a desarrollar. De manera similar a la selección de diferentes segmentos de modelado, como se describió anteriormente, la expresión de segmentación para un árbol de decisión también puede contener atributos que no están incluidos en el árbol de decisión.
En aspectos adicionales o alternativos, la herramienta de integración de modelos 102 puede proporcionar una o más interfaces adecuadas que provocan entradas que identifican cómo se emite la salida del árbol de decisión. Por ejemplo, si un modelo de procesamiento de datos 110 tiene múltiples árboles de decisión, la salida final puede ser una combinación de la salida de esos árboles o puede ser la salida del último árbol de decisión ejecutado.
La herramienta de integración de modelos 102 usa los datos obtenidos a través de las diversas interfaces descritas en el presente documento para generar y construir código de modelado para implementar la funcionalidad de un modelo de procesamiento de datos 110. En algunos aspectos, la herramienta de integración de modelos 102 puede usar los datos obtenidos por medio de las diversas interfaces descritas anteriormente para construir una especificación para un modelo que utiliza múltiples tarjetas de puntuación, múltiples árboles de decisión o alguna combinación de los mismos. La herramienta de integración de modelos 102 puede generar código de modelado, tal como código PMML, para implementar una o más funciones de un modelo de procesamiento de datos 110. Por ejemplo, la herramienta de integración de modelos 102 puede generar código PMML u otro código de modelado adecuado para implementar el modelo de procesamiento de datos 110 con múltiples tarjetas de puntuación, múltiples árboles de decisión, o ambos. El código PMML u otro código de modelado adecuado se puede generar en función de la especificación. En algunos aspectos, generar el código PMML u otro código de modelado puede implicar actualizar código PMML u otro código de modelado que se ha recibido de un sistema de desarrollo de modelos 120 o un sistema informático cliente 124. En aspectos adicionales o alternativos, generar el código PMML u otro código de modelado puede implicar generar un nuevo conjunto de código PMML u otro código de modelado para implementar un modelo que se ha desarrollado usando el sistema de integración de modelos 100.
En algunos aspectos, el código PMML u otro código de modelado también se puede usar para entrenar el modelo con los aspectos identificados en una especificación de modelo que se genera por medio de la herramienta de integración de modelos 102. Por ejemplo, la herramienta de integración de modelos 102 puede acceder a datos de entrenamiento 118 del medio de almacenamiento 108 u otro medio no transitorio legible por ordenador. Los datos de entrenamiento 118 pueden incluir entradas de entrenamiento (por ejemplo, archivos de crédito) y salidas de entrenamiento (por ejemplo, puntuaciones de crédito, códigos de razón asociados, etc.). En algunos aspectos, pueden generarse algoritmos de aprendizaje automático (por ejemplo, árboles de decisión, redes neuronales, bosques aleatorios, etc.) utilizando plataformas de desarrollo de modelos 122, como SPSS y SAS eMiner. Estos algoritmos de aprendizaje automático se pueden usar para entrenar o modificar un modelo de procesamiento de datos 110 que se gestiona usando la herramienta de integración de modelos 102.
Entrenar el modelo puede incluir modificar el código PMML u otro código de modelado de modo que un modelo de procesamiento de datos 110 proporcione salidas analíticas o predictivas deseadas, en función de ciertos valores de atributo. Por ejemplo, un modelo de procesamiento de datos 110 se puede entrenar para asignar códigos de razón a ciertos atributos en función de los coeficientes de modelado 112, los datos de código de razón 116 y los rangos de contenedores que se han obtenido usando las interfaces descritas en el presente documento.
Como se describe en el presente documento con respecto a la figura 2, la herramienta de integración de modelos 102 también puede proporcionar funciones de auditoría de modelos. Por ejemplo, el código PMML u otro código de modelado que implemente un modelo de procesamiento de datos 110 puede usarse para auditar el modelo de procesamiento de datos 110. En un ejemplo, un archivo de datos (por ejemplo, un archivo delimitado como un
archivo de valores separados por comas ("CSV")) se puede importar a la herramienta de integración de modelos 102. El archivo de datos delimitado puede incluir datos de entrada de muestra para auditar el modelo y salidas esperadas de muestra. Los ejemplos de datos de entrada de muestra incluyen un conjunto de valores de atributo calculados a partir de datos de crédito, datos financieros u otros datos que indican diversas características o actividades de una o más entidades. Los ejemplos de salidas esperadas de muestra incluyen puntuaciones de crédito, puntuaciones de riesgo, códigos de razón, etc.
La herramienta de integración de modelos 102 puede usar el motor de ejecución de modelos 103 para probar o ejecutar de otro modo el modelo de procesamiento de datos 110 usando los datos de entrada de muestra. La herramienta de integración de modelos 102 puede determinar si las salidas esperadas de la muestra coinciden con las salidas que se han obtenido al ejecutar el modelo utilizando los datos de entrada de la muestra. La medida en que las salidas esperadas de la muestra coinciden con las salidas obtenidas puede indicar el éxito del proceso de auditoría. La figura 8 representa un ejemplo de un archivo de datos delimitado 800 que puede usarse para auditar un modelo de procesamiento de datos 110. El campo 802 puede incluir identificadores numéricos únicos para diferentes registros en un conjunto de datos de prueba contenido en el archivo de datos delimitado 800. El campo 804 puede identificar una salida analítica o predictiva esperada (por ejemplo, una puntuación) en función de un conjunto dado de valores de atributo de entrada incluidos en el archivo de datos delimitado 800. La herramienta de integración de modelos 102 puede comparar una salida analítica o predictiva esperada con una salida analítica o predictiva calculada generada por la herramienta de integración de modelos 102 realizando una prueba del modelo de procesamiento de datos 110 (por ejemplo, auditando el modelo de procesamiento de datos 110).
Los campos 806 pueden identificar diferentes códigos de razón esperados que se emitirán al implementar el modelo de procesamiento de datos 110. En este ejemplo, se devuelven cinco códigos de razón para un modelo de tarjeta de puntuación, por lo que el archivo de datos delimitado 800 incluye un campo para cada uno de los cinco códigos de razón. Los códigos de razón esperados se comparan con los códigos de razón calculados generados por la herramienta de integración de modelos 102 realizando una prueba del modelo de procesamiento de datos 110 (por ejemplo, auditando el modelo de procesamiento de datos 110).
Los campos 808 pueden identificar un conjunto de valores de atributo para usar en una prueba del modelo de procesamiento de datos 110. En el ejemplo representado en la figura 8, este conjunto de valores de atributo también puede incluir atributos que son utilizados por lógica de segmentación utilizada dentro de un modelo de procesamiento de datos 110 (por ejemplo, lógica de segmentación para seleccionar un árbol de decisión específico u otra función analítica).
Los resultados de una auditoría se pueden representar en una interfaz adecuada. La figura 9 representa un ejemplo de una interfaz de resultados 900 generada por una prueba de un modelo de procesamiento de datos 110 por la herramienta de integración de modelos 102. En este ejemplo, la interfaz de resultados 900 identifica un nombre para la auditoría, un nombre de archivo para el archivo de auditoría (por ejemplo, el archivo de datos delimitado 800) que se usó para realizar una prueba de un modelo de procesamiento de datos 110, una línea base del modelo para la que se ejecutó la auditoría. La interfaz de resultados 900 también puede identificar el número de registros que se procesaron con éxito desde el archivo de auditoría, un porcentaje de registros en el archivo de auditoría para los que tanto la puntuación devuelta como los códigos de razón devueltos coincidieron con la puntuación esperada y los códigos de razón del archivo cargado, un porcentaje de registros en el archivo para los que la puntuación devuelta coincidió con la puntuación esperada del archivo cargado y un porcentaje de registros en el archivo para los que los códigos de razón devueltos coincidieron con los códigos de razón esperados del archivo de auditoría cargado. La interfaz de resultados 900 también puede identificar la fecha de la auditoría y el estado de ejecución (por ejemplo, "Completada" o "Fallida") para la auditoría.
En algunos aspectos, la herramienta de integración de modelos 102 puede generar un registro de ejecución para un modelo de procesamiento de datos auditado 110. El registro de ejecución puede incluir detalles de los valores calculados de atributos, puntuaciones, etc. en cada etapa de la ejecución del modelo. La figura 10 representa un ejemplo de un registro de ejecución 1000.
Como se describe en el presente documento con respecto a la figura 2, la herramienta de integración de modelos 102 puede desplegar un modelo de procesamiento de datos 110 en un entorno de producción que incluye el sistema de procesamiento de datos 126. Por ejemplo, la herramienta de integración de modelos 102 puede recibir, a través de una interfaz, la entrada de un usuario que indica que el usuario desea desplegar el modelo (por ejemplo, una selección de un comando "Desplegar" en un menú). La herramienta de integración de modelos 102 puede identificar cualquier aspecto específico por plataforma del entorno de producción. Por ejemplo, el entorno de producción puede incluir uno o más sistemas informáticos que realizan el procesamiento de datos utilizando software C++, software Java, software propietario o cualquier otro lenguaje de programación o arquitectura que sea diferente del lenguaje de modelado que se usa para generar y auditar el modelo.
En algunos aspectos, la herramienta de integración de modelos 102 puede identificar aspectos específicos por plataforma en función de una o más entradas de usuario recibidas a través de una interfaz que especifica los aspectos específicos por plataforma del entorno de producción (por ejemplo, recibir entradas que especifican que el
modelo auditado debe desplegarse en un entorno de producción C++). En aspectos adicionales o alternativos, la herramienta de integración de modelos 102 puede identificar el entorno de producción en función de una o más entradas de usuario recibidas a través de una interfaz (por ejemplo, selección del "Entorno de producción 1" de una lista de entornos de producción) y puede identificar aspectos específicos por plataforma en base a datos almacenados sobre el entorno seleccionado (por ejemplo, uno o más archivos de datos que indican que el entorno de producción 1 utiliza C++).
La herramienta de integración de modelos 102 puede incluir un generador de código que crea un objeto para recopilar información del modelo necesaria para la generación de código. El generador de código puede emplear una cadena de comandos de generación de código responsables de generar el proyecto C++. Por ejemplo, la figura 11 muestra un ejemplo de un flujo de proceso para desplegar un modelo en un entorno específico por plataforma. En el ejemplo representado en la figura 11, una semilla de controlador 1102 de la herramienta de integración de modelos 102 puede invocar un método transformToCPP() en un servicio de transformación en respuesta a un comando de transformación recibido a través de una interfaz de usuario 1100 de la herramienta de integración de modelos 102. El método puede crear un objeto PredictiveModel que contiene datos del modelo. El método puede proporcionar el objeto PredictiveModel y un nombre de cadena de generación de código a un módulo generador de código que está incluido en la herramienta de integración de modelos 102 o es accesible por la misma. En generador de código 1104 de la herramienta de integración de modelos 102 puede entregar códigos C++ por medio de una cadena de generación de código ScoreModel 1106.
Un ejemplo de un modelo entregado para una plataforma C++ puede incluir los siguientes archivos:
Crear archivo: makefile
Entrada de modelo: SCPD{model id}.cpp
Talón de prueba: Test{mode id}.cpp
Cabecera del modelo: CMDL {model id}.h
Implementación del modelo: CMDL{model id}.cpp
Implementación de la tarjeta de puntuación (una por tarjeta de puntuación): CMDL{model id}Scorecard{scorecard idtarjeta de puntuación}.cpp
Un ejemplo de generación de código C++ a partir de un modelo basado en PMML es implementar una función de código de rechazo en C++. Se puede asignar un código de rechazo cuando no se puede obtener una puntuación. Normalmente, solo se asigna un código de rechazo por tarjeta de puntuación. Para implementar la función de código de rechazo, el generador de código busca códigos de rechazo contenidos en la lógica de un campo de salida "Código de rechazo" en el archivo PMML. Si el generador de código encuentra un código de rechazo compatible, el generador de código puede generar los códigos C++ correspondientes en el método de rechazo () en la clase de implementación de modelo.
Otro ejemplo de generación de código C++ a partir de un modelo basado en PMML es implementar una función de quinto código de razón en C++. Un quinto código de razón puede ser una 'Y' o un indicador en blanco que se devuelve para un modelo y puede indicar si las consultas afectaron a una puntuación. Para implementar la función del quinto código de razón, el generador de código busca la lógica del quinto código de razón de un campo de salida "Código de razón 5" en el archivo PMML. Se puede generar un método (por ejemplo, "calculate5thReasonCode") en una clase de implementación de modelo para calcular el quinto código de razón. El método puede tomar como argumento el identificador de la tarjeta de puntuación/segmento ganador. Dependiendo de la propia lógica del quinto código de razón, algunos atributos de nivel de clase también pueden calcularse y usarse junto con el identificador de tarjeta de puntuación/segmento ganador para determinar el valor del indicador de impacto de la puntuación de la consulta ("Y" o " "), y luego establecer el indicador en el objeto de puntuación. En el momento de la ejecución, el método se invoca con el método score() después de seleccionar y calcular una tarjeta de puntuación ganadora, pero antes de un método finalCalculations().
Otro ejemplo de generación de código C++ a partir de un modelo basado en PMML es implementar cálculos y definición de atributos en C++. Cada atributo se puede codificar como una clase de C++. Algunos atributos pueden tener dependencias con otros. El generador de código puede cargar la información de dependencia de atributos desde archivos de datos y generar automáticamente códigos para calcular los atributos dependientes, así como los atributos principales. Los atributos utilizados en la segmentación y la lógica del quinto código de razón se pueden calcular a nivel de modelo de puntuación. Los atributos utilizados en las tarjetas de puntuación se pueden calcular dentro de códigos de implementación de la tarjeta de puntuación. Por ejemplo, la herramienta de integración de modelos 102 puede leer registros de crédito de un conjunto de datos adecuado y proporcionar la información de registro de crédito analizada sintácticamente para añadir todos los atributos requeridos para un modelo de puntuación.
Puede usarse cualquier sistema informático adecuado o grupo de sistemas informáticos para realizar las
operaciones descritas en este documento. Por ejemplo, la figura 12 es un diagrama de bloques que representa un ejemplo de un sistema de integración de modelos 100. El ejemplo del sistema de integración de modelos 100 puede incluir varios dispositivos para comunicarse con uno o más del sistema de desarrollo de modelos 120, el sistema informático cliente 124 y el sistema de procesamiento de datos 126. El ejemplo del sistema de integración de modelos 100 también puede incluir varios dispositivos para almacenar los conjuntos de datos utilizados para desarrollar y auditar el modelo de procesamiento de datos 110 (por ejemplo, los coeficientes de modelado, datos de atributos de producción, datos de código de razón y datos de código de entrenamiento), como se ha descrito anteriormente con respecto a la figura 1. El ejemplo del sistema de integración de modelos 100 también puede incluir varios dispositivos para realizar una o más operaciones descritas anteriormente con respecto a las figura 1-11.
El sistema de integración de modelos 100 incluye un procesador 1202 que está acoplado comunicativamente a una memoria 1204. El procesador 1202 ejecuta código de programa ejecutable por ordenador almacenado en la memoria 1204, accede a información almacenada en la memoria 1204, o ambos. Los ejemplos de un procesador 1202 incluyen un microprocesador, un circuito integrado específico de la aplicación, una matriz de puertas programables en campo o cualquier otro dispositivo de procesamiento adecuado. El procesador 1202 puede incluir cualquier número de dispositivos de procesamiento, incluido uno. El procesador 1202 puede incluir o comunicarse con una memoria 1204. La memoria 1204 almacena código de programa que, cuando es ejecutado por el procesador 1202, hace que el procesador realice las operaciones descritas en esta invención.
La memoria 1204 puede incluir cualquier medio no transitorio legible por ordenador adecuado (por ejemplo, el medio de almacenamiento 108 representado en la figura 1). El medio legible por ordenador puede incluir cualquier dispositivo de almacenamiento electrónico, óptico, magnético o de otro tipo capaz de proporcionar a un procesador código de programa legible por ordenador u otro código de programa. Los ejemplos no limitativos de un medio legible por ordenador incluyen un disco magnético, chip de memoria, almacenamiento óptico, memoria flash, memoria de clase de almacenamiento, un CD-ROM, DVD, ROM, RAM, un ASIC, cinta magnética u otro almacenamiento magnético, o cualquier otro medio desde el que un procesador informático pueda leer y ejecutar código de programa. El código de programa puede incluir código de programa específico por procesador generado por un compilador o un intérprete a partir de código escrito en cualquier lenguaje de programación informático adecuado. Ejemplos de lenguajes de programación adecuados incluyen C, C++, C#, Visual Basic, Java, Python, Perl, JavaScript, ActionScript, etc.
El sistema de integración de modelos 100 también puede incluir varios dispositivos externos o internos, como dispositivos de entrada o de salida. Por ejemplo, el sistema de integración de modelos 100 se muestra con una interfaz de entrada/salida 1208 que puede recibir entrada de dispositivos de entrada o proporcionar salida a dispositivos de salida. También se puede incluir un bus 1206 en el sistema de integración de modelos 100. El bus 1206 puede acoplar comunicativamente uno o más componentes del sistema de integración de modelos 100.
El sistema de integración de modelos 100 puede ejecutar código de programa que incluye la herramienta de integración de modelos 102, el motor de ejecución de modelos 103 y el servicio en línea 104. Aunque las figuras 1 y 12 representan la herramienta de integración de modelos 102, el motor de ejecución de modelos 103 y el servicio en línea 104 como módulos de software independientes ejecutados por el mismo sistema, son posibles otras implementaciones. En algunos aspectos, una herramienta de integración de modelos 102 puede ser una aplicación que incluye módulos de software que implementan uno o más del motor de ejecución de modelos 103 y el servicio en línea 104. En otros aspectos, una herramienta de integración de modelos 102 puede ser una aplicación que se comunica con uno o más dispositivos informáticos a través de una red de datos 119 que ejecuta uno o más del motor de ejecución de modelos 103 y el servicio en línea 104.
El código de programa para la herramienta de integración de modelos 102, el motor de ejecución de modelos 103 y el servicio en línea 104 pueden residir en cualquier medio legible por ordenador adecuado y pueden ejecutarse en cualquier dispositivo de procesamiento adecuado. Por ejemplo, como se representa en la figura 12, el código de programa para la herramienta de integración de modelos 102, el motor de ejecución de modelos 103 y el servicio en línea 104 pueden residir en la memoria 1204 en el sistema de integración de modelos 100. Al ejecutar una o más de las herramientas de integración de modelos 102, el motor de ejecución de modelos 103 y el servicio en línea 104 pueden configurar el procesador 1202 para realizar las operaciones descritas en este documento.
En algunos aspectos, el sistema de integración de modelos 100 puede incluir uno o más dispositivos de salida. Un ejemplo de un dispositivo de salida es el dispositivo de interfaz de red 1210 representado en la figura 12. Un dispositivo de interfaz de red 1210 puede incluir cualquier dispositivo o grupo de dispositivos adecuados para establecer una conexión de datos por cable o inalámbrica a una o más redes de datos 119. Los ejemplos no limitativos del dispositivo de interfaz de red 1210 incluyen un adaptador de red Ethernet, un módem, etc. Otro ejemplo de un dispositivo de salida es el dispositivo de presentación 1212 representado en la figura 12. Un dispositivo de presentación 1212 puede incluir cualquier dispositivo o grupo de dispositivos adecuados para proporcionar una salida visual, auditiva u otra salida sensorial adecuada que indique recomendaciones generadas por la herramienta de integración de modelos 102. Los ejemplos no limitativos del dispositivo de presentación 1212 incluyen una pantalla táctil, un monitor, un altavoz, un dispositivo informático móvil independiente, etc.
Consideraciones generales
Numerosos detalles específicos se exponen en este documento para proporcionar una comprensión completa del tema reivindicado. Sin embargo, los expertos en la materia comprenderán que el tema reivindicado puede practicarse sin estos detalles específicos. En otros casos, los métodos, aparatos o sistemas que serían conocidos por un experto normal no se han descrito en detalle para no oscurecer el tema reivindicado.
A menos que se indique específicamente lo contrario, se aprecia que, a lo largo de esta memoria, términos como "procesar", "computar", "calcular", "determinar" e "identificar" o similares se refieren a acciones o procesos de un dispositivo informático, tal como uno o más ordenadores o un dispositivo o dispositivos informáticos electrónicos similares, que manipulan o transforman datos representados como cantidades físicas electrónicas o magnéticas dentro de memorias, registros u otros dispositivos de almacenamiento de información, dispositivos de transmisión o dispositivos de visualización de la plataforma informática.
El sistema o sistemas discutidos en el presente documento no están limitados a ninguna arquitectura o configuración de hardware en particular. Un dispositivo informático puede incluir cualquier disposición adecuada de componentes que proporcione un resultado condicionado a una o más entradas. Los dispositivos informáticos adecuados incluyen sistemas informáticos multipropósito basados en microprocesador, que acceden a software almacenado que programa o configura el sistema informático desde un aparato informático de propósito general hasta un aparato informático especializado que implementa uno o más aspectos del presente tema. Se puede usar cualquier programación adecuada, secuencias de comandos u otro tipo de lenguaje o combinación de lenguajes para implementar las enseñanzas contenidas en este documento en el software que se usará en la programación o configuración de un dispositivo informático.
Los aspectos de los métodos dados a conocer en el presente documento se pueden realizar en el funcionamiento de dichos dispositivos informáticos. El orden de los bloques presentados en los ejemplos anteriores se puede variar; por ejemplo, los bloques se pueden reordenar, combinar o dividir en subbloques. Ciertos bloques o procesos se pueden realizar en paralelo.
El uso de "adaptado para" o "configurado para" en este documento se entiende como un lenguaje abierto e inclusivo que no excluye dispositivos adaptados o configurados para realizar tareas o etapas adicionales. Además, el uso de "basado en" pretende ser abierto e inclusivo, en el sentido de que un proceso, etapa, cálculo u otra acción "basada en" una o más condiciones o valores enumerados puede, en la práctica, basarse en condiciones adicionales o en valores más allá de los recitados. Los encabezados, las listas y la numeración incluidos en este documento son solo para facilitar la explicación y no pretenden ser limitativos.
Si bien el presente tema se ha descrito en detalle con respecto a aspectos específicos del mismo, se apreciará que los expertos en la materia, al lograr una comprensión de lo anterior, pueden producir fácilmente alteraciones, variaciones y equivalentes de dichos aspectos. Cualesquiera aspectos o ejemplos pueden combinarse con cualesquiera otros aspectos o ejemplos. Por consiguiente, debe entenderse que la presente descripción se ha presentado con fines de ejemplo y no de limitación, y no impide la inclusión de modificaciones, variaciones o adiciones al presente tema que resultarán fácilmente evidentes para un experto en la materia.
Claims (10)
1. Un sistema de integración de modelos (100) que comprende:
un dispositivo de procesamiento acoplado comunicativamente a través de una red de datos (119) a un sistema informático cliente (124) que incluye un sistema de procesamiento de datos (126) configurado para implementar una plataforma de procesamiento de datos de destino (128); y
un medio no transitorio legible por ordenador (108) que almacena código de programa que proporciona una herramienta de integración de modelos (102) y que es ejecutable por el dispositivo de procesamiento; donde el dispositivo de procesamiento está configurado para ejecutar el código de programa para realizar operaciones que comprenden:
recibir un modelo de procesamiento electrónico de datos (110) que genera, cuando se ejecuta en una plataforma de procesamiento de datos o cuando se prueba con el dispositivo de procesamiento, una salida analítica mediante aplicar una función a uno o más atributos de entrada que se ponderan con uno o más respectivos coeficientes de modelado (112),
identificar la plataforma de procesamiento de datos de destino (128), donde la plataforma de procesamiento de datos de destino requiere uno o más rangos de contenedores asociados con los uno o más coeficientes de modelado (112) y uno o más códigos de razón asociados con los uno o más atributos de entrada, donde cada rango de contenedor identifica un rango de valores de atributo de entrada para los que es válido un coeficiente de modelado respectivo (112), donde cada código de razón identifica una salida de código de razón respectiva que indica un impacto respectivo de un atributo de entrada ponderado respectivo en la salida analítica, proporcionar una interfaz de usuario (106, 1100) que tiene elementos de interfaz (502, 602, 604) para a) especificar información de rango de contenedores que identifica los uno o más rangos de contenedores e información de código de razón que identifica los uno o más códigos de razón, b) identificar un mapeo de los uno o más atributos de entrada a uno o más atributos de producción de la plataforma de procesamiento de datos de destino, c) identificar una o más transformaciones de uno o más valores respectivos de los uno o más atributos de producción en uno o más valores respectivos que cumplen con el modelo de procesamiento electrónico de datos, d) identificar el sistema de procesamiento de datos, e) cargar, en el medio no transitorio legible por ordenador o en un medio no transitorio legible por ordenador adicional accesible a la herramienta de integración de modelos, teniendo un archivo de auditoría una salida analítica esperada y un código de razón esperado,
identificar los uno o más rangos de contenedores y los uno o más códigos de razón en base a la entrada de usuario recibida a través de la interfaz de usuario (106, 1100) e indicar la información de rango de contenedores y la información de código de razón,
generar código de lenguaje de marcado de modelo predictivo PMML que implementa el modelo de procesamiento electrónico de datos (110) con los uno o más rangos de contenedores y los uno o más códigos de razón y que implementa el mapeo y las una o más transformaciones, y
proporcionar un código fuente ejecutable en un lenguaje de programación utilizado por la plataforma de procesamiento de datos de destino (128) al sistema de procesamiento de datos por medio del sistema informático cliente, donde el código fuente ejecutable se genera a partir del código PMML e implementa el modelo de procesamiento electrónico de datos (110) con los uno o más rangos de contenedores y los uno o más códigos de razón y el mapeo y las una o más transformaciones;
donde el dispositivo de procesamiento está configurado además para verificar, a partir de una prueba del código PMML generado y antes de proporcionar el código fuente ejecutable, que una salida analítica de prueba coincide con la salida analítica esperada y que un código de razón de la prueba coincide con el código de razón esperado, donde verificar que la salida analítica de prueba coincide con la salida analítica esperada y que el código de razón de la prueba coincide con el código de razón esperado comprende:
acceder al archivo de auditoría desde el medio no transitorio legible por ordenador (108) o el medio no transitorio legible por ordenador adicional (108), y
comparar la salida analítica esperada y el código de razón esperado almacenado en el archivo de auditoría con la salida analítica de prueba y el código de razón de la prueba;
donde las operaciones comprenden, además, antes de verificar que la salida analítica de prueba coincide con la salida analítica esperada y el código de razón de la prueba coincide con el código de razón esperado: realizar una prueba adicional del código PMML;
determinar que la prueba adicional tiene como resultado una prueba fallida, comprendiendo la prueba fallida
una salida analítica de prueba adicional que no coincide con la salida analítica esperada o un código de razón de la prueba adicional que no coincide con el código de razón esperado; y
actualizar el código PMML tras prueba fallida,
donde el código PMML, actualizado, tiene como resultado que la salida analítica de la prueba y el código de razón de la prueba coinciden con la salida analítica esperada y el código de razón esperado.
2. El sistema de integración de modelos (100) según la reivindicación 1, en el que el modelo de procesamiento electrónico de datos (110) comprende un modelo de regresión y donde los uno o más coeficientes de modelado (112) comprenden coeficientes de regresión.
3. El sistema de integración de modelos (100) según la reivindicación 1, en el que la interfaz de usuario (106, 1100) comprende además elementos de interfaz adicionales (502, 602, 604) para identificar una primera función analítica a añadir al modelo de procesamiento electrónico de datos (110), identificar una segunda función analítica a añadir al modelo de procesamiento electrónico de datos (110), e indicar un atributo específico de los uno o más atributos de entrada cuyo valor controla una selección de la primera función analítica o la segunda función analítica;
donde el código PMML implementa la primera función analítica, la segunda función analítica y la lógica de segmentación que selecciona la primera función analítica en función del atributo de entrada que tiene un primer valor y selecciona la segunda función analítica en función del atributo de entrada que tiene un segundo valor.
4. El sistema de integración de modelos (100) según la reivindicación 3, en el que cada una de la primera función analítica y la segunda función analítica comprende una función de árbol de decisión respectiva.
5. Un método implementado por ordenador que comprende:
recibir, mediante una herramienta de integración de modelos (102) ejecutada por un dispositivo de procesamiento, un modelo de procesamiento electrónico de datos (110) que genera, cuando se ejecuta en una plataforma de procesamiento de datos (128) o cuando se prueba mediante un motor de ejecución de modelos (103) ejecutado por el dispositivo de procesamiento, una salida analítica mediante aplicar una función a uno o más atributos de entrada que se ponderan con uno o más coeficientes de modelado respectivos (112); identificar, mediante la herramienta de integración de modelos (102) la plataforma de procesamiento de datos de destino (128), donde la plataforma de procesamiento de datos de destino requiere uno o más rangos de contenedores asociados con los uno o más coeficientes de modelado (112) y uno o más códigos de razón asociados con los uno o más atributos de entrada, donde cada rango de contenedor identifica un rango de valores de atributo de entrada para los que un coeficiente de modelado respectivo (112) es válido, donde cada código de razón identifica una salida de código de razón respectiva que indica un impacto respectivo de una atributo de entrada ponderado respectivo en la salida analítica,
proporcionar, desde la herramienta de integración de modelos (102) a un sistema informático cliente (124) que incluye un sistema de procesamiento de datos (126) configurado para implementar la plataforma de procesamiento de datos de destino, una interfaz de usuario (106, 1100) que tiene elementos de interfaz ( 502, 602, 604) para a) especificar información de rango de contenedores que identifica los uno o más rangos de contenedores e información de código de razón que identifica los uno o más códigos de razón, b) identificar un mapeo de los uno o más atributos de entrada a uno o más atributos de producción desde la plataforma de procesamiento de datos de destino, c) identificar una o más transformaciones de uno o más valores respectivos de los uno o más atributos de producción en uno o más valores respectivos que cumplen con el modelo de procesamiento electrónico de datos, d) identificar el sistema de procesamiento de datos, e) cargar, en el medio no transitorio legible por ordenador o en un medio no transitorio legible por ordenador adicional accesible para la herramienta de integración de modelos, un archivo de auditoría que tiene una salida analítica esperada y un código de razón esperado,
identificar los uno o más rangos de contenedores y los uno o más códigos de razón en base a la entrada de usuario recibida a través de la interfaz de usuario (106, 1100) e indicar la información de rango de contenedores y la información de código de razón,
generar, mediante la herramienta de integración de modelos (102), código de lenguaje de marcado de modelo predictivo PMML que especifica el modelo de procesamiento electrónico de datos (110) con los uno o más rangos de contenedores y los uno o más códigos de razón y que implementa el mapeo y las una o más transformaciones;
proporcionar, mediante la herramienta de integración de modelos (102) y posteriormente a la verificación, un código fuente ejecutable en un lenguaje de programación utilizado por la plataforma de procesamiento de datos de destino al sistema de procesamiento de datos por medio del sistema informático cliente, donde el código fuente ejecutable es generado a partir del código PMML e implementa el modelo de procesamiento electrónico de datos (110) con los uno o más rangos de contenedores y los uno o más códigos de razón y el mapeo y las
una o más transformaciones; y
verificar, con la herramienta de integración de modelos (102), a partir de una prueba del código PMML generado, mediante el motor de ejecución de modelos y antes de proporcionar el código fuente ejecutable, que una salida analítica de prueba coincide con la salida analítica esperada y un código de razón de la prueba coincide con el código de razón esperado, donde verificar que la salida analítica de prueba coincide con la salida analítica esperada y que el código de razón de la prueba coincide con el código de razón esperado comprende acceder al archivo de auditoría desde el medio no transitorio legible por ordenador (108) y comparar la salida analítica esperada y el código de razón esperado almacenado en el archivo de auditoría con la salida analítica de prueba y el código de razón de la prueba;
donde las operaciones comprenden, además, antes de verificar que la salida analítica de prueba coincide con la salida analítica esperada y el código de razón de la prueba coincide con el código de razón esperado: realizar, con el motor de ejecución de modelos (103), una prueba adicional del código de modelado; determinar, mediante la herramienta de integración de modelos (102), que la prueba adicional tiene como resultado una salida analítica de prueba adicional que no coincide con la salida analítica esperada o un código de razón de la prueba adicional que no coincide con el código de razón esperado; y
actualizar, con la herramienta de integración de modelos (102), el código de modelado posteriormente a que la salida analítica de prueba adicional no coincida con la salida analítica esperada o el código de razón de la prueba adicional no coincida con el código de razón esperado,
donde el código de modelado como resultados actualizados en la salida analítica de la prueba y el código de razón de la prueba coinciden con la salida analítica esperada y el código de razón esperado.
6. El método implementado por ordenador según la reivindicación 5, en el que el modelo de procesamiento electrónico de datos (100) comprende un modelo de regresión y en el que los uno o más coeficientes de modelado (112) comprenden uno o más coeficientes de regresión (112).
7. El método implementado por ordenador según cualquiera de las reivindicaciones 5 a 6, en el que la interfaz de usuario (106, 1100) comprende además uno o más elementos de interfaz adicionales (502, 602, 604) para identificar una primera función analítica a añadir al modelo de procesamiento electrónico de datos (110), identificar una segunda función analítica a añadir al modelo de procesamiento electrónico de datos (110) e indicar un atributo específico de los uno o más atributos cuyo valor controla una selección de la primera función analítica o la segunda función analítica;
donde el código de modelado implementa la primera función analítica, la segunda función analítica y la lógica de segmentación que selecciona la primera función analítica en función del atributo específico que tiene un primer valor y selecciona la segunda función analítica en función del atributo específico que tiene un segundo valor.
8. El método implementado por ordenador según la reivindicación 7, en el que cada una de la primera función analítica y la segunda función analítica comprende una función de árbol de decisión respectiva.
9. El método implementado por ordenador según la reivindicación 6, en el que el código de modelado comprende una especificación del modelo en un formato de intercambio de modelo predictivo y el código fuente ejecutable comprende código fuente para ser compilado por la plataforma de procesamiento de datos (128),
donde la interfaz de usuario (106, 1100) comprende además elementos de interfaz adicionales (502, 602, 604) para:
(i) identificar un mapeo de los uno o más atributos de entrada a uno o más atributos de producción de la plataforma de procesamiento de datos,
(ii) identificar una o más transformaciones de uno o más valores de los uno o más atributos de producción en uno o más valores que cumplan con el modelo de procesamiento electrónico de datos (110),
(iii) cargar, en un medio no transitorio legible por ordenador (108) accesible para la herramienta de integración de modelos (102), un primer código PMML que implementa un primer árbol de decisión y un segundo código PMML que implementa un segundo árbol de decisión,
(iv) indicar un atributo de entrada cuyo valor controla una selección del primer árbol de decisión o el segundo árbol de decisión, y
(v) cargar, en el medio no transitorio legible por ordenador (108), un archivo de auditoría que tiene la salida analítica esperada y el código de razón esperado,
donde el código de modelado implementa el mapeo, las una o más transformaciones, el primer árbol de decisión, el segundo árbol de decisión y la lógica de segmentación que selecciona el primer árbol de decisión
en función del atributo de entrada que tiene un primer valor y selecciona el segundo árbol de decisión en función de el atributo de entrada que tiene un segundo valor,
donde verificar que la salida analítica de prueba coincide con la salida analítica esperada y que el código de razón de la prueba coincide con el código de razón esperado comprende acceder al archivo de auditoría desde el medio no transitorio legible por ordenador (108) y comparar la salida analítica esperada y el código de razón esperado almacenado en el archivo de auditoría con la salida analítica de la prueba y el código de razón de la prueba,
donde el método comprende, además, antes de verificar que la salida analítica de prueba coincide con la salida analítica esperada y el código de razón de la prueba coincide con el código de razón esperado:
realizar, con la herramienta de integración de modelos (102), una prueba adicional del modelo de procesamiento electrónico de datos usando (110) el código de modelado,
determinar, mediante la herramienta de integración de modelos (102), que la prueba adicional tiene como resultado una salida analítica de prueba adicional que no coincide con la salida analítica esperada o un código de razón de la prueba adicional que no coincide con el código de razón esperado, y
actualizar, con la herramienta de integración de modelos (102), el código de modelado posteriormente a que la salida analítica de prueba adicional no coincida con la salida analítica esperada o el código de razón de la prueba adicional no coincida con el código de razón esperado,
donde el código de modelado como resultados actualizados en la salida analítica de la prueba y el código de razón de la prueba coinciden con la salida analítica esperada y el código de razón esperado.
10. Un medio no transitorio legible por ordenador (108) que tiene código de programa de una herramienta de integración de modelos (102) que es ejecutable por un dispositivo de procesamiento para hacer que un dispositivo informático realice operaciones, implementando las operaciones el método implementado por ordenador según cualquiera de las reivindicaciones 5 a 9.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201562201258P | 2015-08-05 | 2015-08-05 | |
| PCT/US2016/045822 WO2017024242A1 (en) | 2015-08-05 | 2016-08-05 | Model integration tool |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2949510T3 true ES2949510T3 (es) | 2023-09-29 |
Family
ID=57943754
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES16833945T Active ES2949510T3 (es) | 2015-08-05 | 2016-08-05 | Herramienta de integración de modelos |
| ES23166646T Active ES3037925T3 (en) | 2015-08-05 | 2016-08-05 | Model integration tool |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES23166646T Active ES3037925T3 (en) | 2015-08-05 | 2016-08-05 | Model integration tool |
Country Status (6)
| Country | Link |
|---|---|
| US (3) | US10474566B2 (es) |
| EP (2) | EP4224309B1 (es) |
| AU (3) | AU2016304571B2 (es) |
| CA (1) | CA2994770C (es) |
| ES (2) | ES2949510T3 (es) |
| WO (1) | WO2017024242A1 (es) |
Families Citing this family (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8036979B1 (en) | 2006-10-05 | 2011-10-11 | Experian Information Solutions, Inc. | System and method for generating a finance attribute from tradeline data |
| US8606626B1 (en) | 2007-01-31 | 2013-12-10 | Experian Information Solutions, Inc. | Systems and methods for providing a direct marketing campaign planning environment |
| US8606666B1 (en) | 2007-01-31 | 2013-12-10 | Experian Information Solutions, Inc. | System and method for providing an aggregation tool |
| US10262362B1 (en) | 2014-02-14 | 2019-04-16 | Experian Information Solutions, Inc. | Automatic generation of code for attributes |
| US10445152B1 (en) | 2014-12-19 | 2019-10-15 | Experian Information Solutions, Inc. | Systems and methods for dynamic report generation based on automatic modeling of complex data structures |
| US10474566B2 (en) | 2015-08-05 | 2019-11-12 | Equifax Inc. | Model integration tool |
| EP3376373A1 (en) * | 2017-03-15 | 2018-09-19 | Siemens Aktiengesellschaft | A method for deployment and execution of a machine learning model on a field device |
| US10310821B2 (en) * | 2017-06-03 | 2019-06-04 | Apple Inc. | Integration of learning models into a software development system |
| US10606566B2 (en) | 2017-06-03 | 2020-03-31 | Apple Inc. | Integration of learning models into a software development system |
| US11902396B2 (en) * | 2017-07-26 | 2024-02-13 | Amazon Technologies, Inc. | Model tiering for IoT device clusters |
| EP3493051A1 (en) * | 2017-11-30 | 2019-06-05 | The MathWorks, Inc. | System and methods for evaluating compliance of implementation code with a software architecture specification |
| DE102018003142A1 (de) | 2017-12-13 | 2019-06-13 | The Mathworks, Inc. | Automatische Einstellung von Multitasking-Konfigurationen für ein Codeprüfsystem |
| CA3040367A1 (en) * | 2018-04-16 | 2019-10-16 | Interset Software, Inc. | System and method for custom security predictive models |
| EP3570226A1 (en) * | 2018-05-16 | 2019-11-20 | Ernst & Young GmbH Wirtschaftsprüfungsgesellschaft | Method and system of obtaining audit evidence |
| CN111193916B (zh) * | 2018-12-29 | 2022-03-29 | 中科寒武纪科技股份有限公司 | 运算方法 |
| US11687830B2 (en) * | 2019-05-31 | 2023-06-27 | Apple Inc. | Integration of learning models into a software development system |
| US11755294B2 (en) | 2020-06-09 | 2023-09-12 | The Mathworks, Inc. | Systems and methods for generating service access points for RTE services in code or other RTE service information for use with the code |
| CN112001321B (zh) * | 2020-08-25 | 2024-06-14 | 商汤国际私人有限公司 | 网络训练、行人重识别方法及装置、电子设备和存储介质 |
| CN112363695B (zh) * | 2020-11-10 | 2023-09-08 | 杭州和利时自动化有限公司 | Pmml文件及其运行时环境与工业软件的集成方法 |
| US11294647B1 (en) * | 2020-11-13 | 2022-04-05 | Renesas Electronics Corporation | Support apparatus and design support method |
| US12585970B1 (en) | 2020-11-24 | 2026-03-24 | Experian Information Solutions, Inc. | Systems and methods of implementing scorecards and boosted decision trees |
| US20220366513A1 (en) * | 2021-05-14 | 2022-11-17 | Jpmorgan Chase Bank, N.A. | Method and apparatus for check fraud detection through check image analysis |
Family Cites Families (39)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5819226A (en) * | 1992-09-08 | 1998-10-06 | Hnc Software Inc. | Fraud detection using predictive modeling |
| US6119103A (en) * | 1997-05-27 | 2000-09-12 | Visa International Service Association | Financial risk prediction systems and methods therefor |
| US7809650B2 (en) * | 2003-07-01 | 2010-10-05 | Visa U.S.A. Inc. | Method and system for providing risk information in connection with transaction processing |
| US7853922B1 (en) * | 2001-05-15 | 2010-12-14 | The Mathworks, Inc. | Data objects for model-based design |
| US7360215B2 (en) * | 2003-05-15 | 2008-04-15 | Sap Ag | Application interface for analytical tasks |
| US7085762B2 (en) * | 2003-05-22 | 2006-08-01 | International Business Machines Corporation | Methods, systems and computer program products for web services access of analytical models |
| US7373633B2 (en) * | 2003-06-03 | 2008-05-13 | Sap Ag | Analytical application framework |
| US7370316B2 (en) * | 2003-06-03 | 2008-05-06 | Sap Ag | Mining model versioning |
| US7643969B2 (en) * | 2005-03-04 | 2010-01-05 | Health Outcomes Sciences, Llc | Methods and apparatus for providing decision support |
| US7992139B2 (en) * | 2006-11-29 | 2011-08-02 | International Business Machines Corporation | Method, system and program product for transforming a single language program into multiple language programs |
| US20080167843A1 (en) * | 2007-01-08 | 2008-07-10 | Is Technologies, Llc | One pass modeling of data sets |
| US8417715B1 (en) * | 2007-12-19 | 2013-04-09 | Tilmann Bruckhaus | Platform independent plug-in methods and systems for data mining and analytics |
| US8762934B2 (en) * | 2010-10-15 | 2014-06-24 | Serghei Sarafudinov | Method of extensible business object modeling and generation of system artifacts from the models |
| WO2012106655A2 (en) * | 2011-02-05 | 2012-08-09 | Visa International Service Association | Merchant-consumer bridging platform apparatuses, methods and systems |
| EP2700049A4 (en) * | 2011-04-20 | 2015-08-19 | Cleveland Clinic Foundation | PREDICTIVE MODELING |
| US8762299B1 (en) * | 2011-06-27 | 2014-06-24 | Google Inc. | Customized predictive analytical model training |
| US8843427B1 (en) * | 2011-07-01 | 2014-09-23 | Google Inc. | Predictive modeling accuracy |
| US9495641B2 (en) * | 2012-08-31 | 2016-11-15 | Nutomian, Inc. | Systems and method for data set submission, searching, and retrieval |
| US8880446B2 (en) * | 2012-11-15 | 2014-11-04 | Purepredictive, Inc. | Predictive analytics factory |
| US9280739B2 (en) * | 2012-11-30 | 2016-03-08 | Dxcontinuum Inc. | Computer implemented system for automating the generation of a business decision analytic model |
| EP3090329A4 (en) * | 2013-10-20 | 2017-10-11 | Pneuron, Corp. | Event-driven data processing system |
| GB2519761A (en) * | 2013-10-29 | 2015-05-06 | Ibm | A method and a system for distributed processing of data records |
| US20150134401A1 (en) * | 2013-11-09 | 2015-05-14 | Carsten Heuer | In-memory end-to-end process of predictive analytics |
| WO2015108748A1 (en) * | 2014-01-17 | 2015-07-23 | Fair Isaac Corporation | Cloud-based decision management platform |
| US10579396B2 (en) * | 2014-04-09 | 2020-03-03 | Nice-Systems Ltd. | System and automated method for configuring a predictive model and deploying it on a target platform |
| US10558924B2 (en) * | 2014-05-23 | 2020-02-11 | DataRobot, Inc. | Systems for second-order predictive data analytics, and related methods and apparatus |
| US10366346B2 (en) * | 2014-05-23 | 2019-07-30 | DataRobot, Inc. | Systems and techniques for determining the predictive value of a feature |
| US10496927B2 (en) * | 2014-05-23 | 2019-12-03 | DataRobot, Inc. | Systems for time-series predictive data analytics, and related methods and apparatus |
| JP6444494B2 (ja) * | 2014-05-23 | 2018-12-26 | データロボット, インコーポレイテッド | 予測データ分析のためのシステムおよび技術 |
| US20160055427A1 (en) * | 2014-10-15 | 2016-02-25 | Brighterion, Inc. | Method for providing data science, artificial intelligence and machine learning as-a-service |
| US10176032B2 (en) * | 2014-12-01 | 2019-01-08 | Uptake Technologies, Inc. | Subsystem health score |
| US10176279B2 (en) * | 2015-06-05 | 2019-01-08 | Uptake Technologies, Inc. | Dynamic execution of predictive models and workflows |
| US20160379244A1 (en) * | 2015-06-23 | 2016-12-29 | Bidtellect, Inc. | Method and system for forecasting a campaign performance using predictive modeling |
| US10474566B2 (en) | 2015-08-05 | 2019-11-12 | Equifax Inc. | Model integration tool |
| US9684490B2 (en) * | 2015-10-27 | 2017-06-20 | Oracle Financial Services Software Limited | Uniform interface specification for interacting with and executing models in a variety of runtime environments |
| US10324705B2 (en) * | 2016-03-09 | 2019-06-18 | ScoreData Corporation | System and method for run-time update of predictive analytics system |
| US10726356B1 (en) * | 2016-08-01 | 2020-07-28 | Amazon Technologies, Inc. | Target variable distribution-based acceptance of machine learning test data sets |
| US11823067B2 (en) * | 2017-06-27 | 2023-11-21 | Hcl Technologies Limited | System and method for tuning and deploying an analytical model over a target eco-system |
| US10169135B1 (en) * | 2018-03-02 | 2019-01-01 | Uptake Technologies, Inc. | Computer system and method of detecting manufacturing network anomalies |
-
2016
- 2016-08-05 US US15/750,363 patent/US10474566B2/en active Active
- 2016-08-05 EP EP23166646.2A patent/EP4224309B1/en active Active
- 2016-08-05 WO PCT/US2016/045822 patent/WO2017024242A1/en not_active Ceased
- 2016-08-05 ES ES16833945T patent/ES2949510T3/es active Active
- 2016-08-05 CA CA2994770A patent/CA2994770C/en active Active
- 2016-08-05 ES ES23166646T patent/ES3037925T3/es active Active
- 2016-08-05 EP EP16833945.5A patent/EP3332320B1/en active Active
- 2016-08-05 AU AU2016304571A patent/AU2016304571B2/en active Active
-
2019
- 2019-09-27 US US16/586,367 patent/US10942842B2/en active Active
-
2021
- 2021-02-02 US US17/165,908 patent/US11494294B2/en active Active
- 2021-11-24 AU AU2021273576A patent/AU2021273576B2/en active Active
-
2023
- 2023-06-14 AU AU2023203714A patent/AU2023203714B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| AU2021273576A1 (en) | 2021-12-16 |
| US11494294B2 (en) | 2022-11-08 |
| CA2994770C (en) | 2024-11-26 |
| US10474566B2 (en) | 2019-11-12 |
| EP4224309A2 (en) | 2023-08-09 |
| EP3332320B1 (en) | 2023-04-05 |
| EP3332320A4 (en) | 2019-03-20 |
| AU2023203714A1 (en) | 2023-07-06 |
| US10942842B2 (en) | 2021-03-09 |
| US20210157717A1 (en) | 2021-05-27 |
| AU2021273576B2 (en) | 2023-03-16 |
| ES3037925T3 (en) | 2025-10-08 |
| EP3332320A1 (en) | 2018-06-13 |
| WO2017024242A1 (en) | 2017-02-09 |
| AU2016304571A1 (en) | 2018-03-01 |
| EP4224309B1 (en) | 2025-05-21 |
| US20200026642A1 (en) | 2020-01-23 |
| AU2023203714B2 (en) | 2024-05-23 |
| US20190012257A1 (en) | 2019-01-10 |
| EP4224309A3 (en) | 2023-10-25 |
| CA2994770A1 (en) | 2017-02-09 |
| AU2016304571B2 (en) | 2021-09-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2949510T3 (es) | Herramienta de integración de modelos | |
| ES2966785T3 (es) | Construcción de código de programa ejecutable específico del segmento para modelar salidas | |
| CN111861768B (zh) | 基于人工智能的业务处理方法、装置、计算机设备及介质 | |
| Silva | Uncertainty and correlation in seismic vulnerability functions of building classes | |
| US20210279612A1 (en) | Computerized System and Method of Open Account Processing | |
| EP3218811B1 (en) | Testing insecure computing environments using random data sets generated from characterizations of real data sets | |
| US20230010147A1 (en) | Automated determination of accurate data schema | |
| CN115423040A (zh) | 互动营销平台的用户画像识别方法及ai系统 | |
| CN112861056A (zh) | 一种企业网站建设信息展示发布系统及方法 | |
| Hall et al. | Using H2O driverless ai | |
| SA516380618B1 (ar) | وصلة برمجة تطبيق بينية لاختبار نماذج سطحية لاستجابة محاكاة الخزانات | |
| Islam | Synthetic Data for Market Testing: A Practical Blueprint for Smarter, Faster Market Decisions | |
| WO2023107162A1 (en) | Data quality machine learning model | |
| US12026650B1 (en) | Business decision management system to operational decision management adaptor | |
| US20230045574A1 (en) | Automated calculation predictions with explanations | |
| WO2017030566A1 (en) | User interface behavior based rules generation | |
| WO2017167628A1 (en) | Data model mapping | |
| US20230410683A1 (en) | Systems and methods for creating driving challenges | |
| CN109727121A (zh) | 基于区块链网络的借贷匹配方法、信息审核方法 | |
| US12511403B2 (en) | Risk-adjustment techniques for generating software code data | |
| Muriki | Online reviews immutability tool using blockchain technology | |
| US20090164191A1 (en) | Simulation | |
| Vieira | Mobile Money Agent Management Using Blockchain | |
| CN117195956A (zh) | 模型训练方法、对象属性值确定方法、装置、设备及介质 | |
| Hasty | Data Exploration via Mind Maps in the space of Supply Chain Networks |