Introducción

Público objetivo

Este paquete está pensado para ayudar a los desarrolladores de ML y a los científicos de datos a ejecutar análisis en la base de datos (desde funciones de exploración de datos hasta complejos algoritmos de ML) mediante sencillas invocaciones a módulos Python.
Nota: El paquete " nzpyida " se llamaba antes " ibmdbpy4nps.

Necesidad del paquete " nzpyida

Netezza in-database analytics (INZA) es un paquete de análisis potente y completo que proporciona varias rutinas SQL que son suficientes para manejar la mayoría de los pasos de ML. Sin embargo, los usuarios están limitados a la hora de elegir lo que hay disponible en el paquete. Por ejemplo, es posible que desee utilizar el último algoritmo disponible en su biblioteca de ML favorita Python en lugar de los algoritmos disponibles de INZA para resolver un problema de ML. O puede que desee aplicar alguna transformación personalizada al conjunto de datos, que no está disponible en INZA. Ahí es donde entra en juego el paquete " nzpyida ". Construido sobre la tecnología Netezza Analytics Executable (AE), permite ejecutar código ML personalizado directamente dentro de la base de datos a través de simples llamadas a funciones Python. Hay flexibilidad (no se está limitado en cuanto a qué ejecutar dentro de la base de datos) y velocidad (no se ejecuta en el extremo del cliente, sino dentro de la base de datos). Además, con el paquete ' nzpyida ', puede conectarse a tablas de bases de datos con la abstracción estilo marco de datos de Pandas y utilizarlas para la exploración de datos (las traducciones SQL para varias operaciones estándar de marco de datos de Pandas ya están incluidas).

Aunque es posible utilizar directamente el marco AE para obtener la mayoría de las ventajas del paquete " nzpyida ", se trata de un proceso laborioso y con una pronunciada curva de aprendizaje. En primer lugar, debes familiarizarte con todas las abstracciones de bajo nivel del AE para escribir un AE y, a continuación, ejecutar una serie de comandos en la consola (deploy, register, run) para iniciar el AE. Esto también significa que no puedes compilar y ejecutar el AE desde tu IDE de Python favorito o un entorno de Notebook. Esto limita enormemente la posibilidad de intercalar el código de visualización con el código de construcción de modelos y dificulta el desarrollo de un escenario integral: análisis del conjunto de datos, construcción y ejecución de los modelos y análisis de los resultados de los modelos, todo en un único lugar.

La invocación nzpyida.
Arquitectónicamente, hay tres capas que se utilizan para proporcionar una experiencia sin fisuras para empujar el código del cliente como EAs dentro de la base de datos. Sólo es necesario interactuar con la capa cliente AE a través de las invocaciones al módulo Python que se proporcionan en el paquete ' nzpyida.
Capa cliente AE
Proporciona los módulos Python que puede importar e invocar con los parámetros necesarios.
Capa de generación AE
Traduce su invocación Python en un código basado en AE, y maneja el SQL que se necesita para invocar las funciones preexistentes definidas por el usuario.
Capa de ejecución AE
Proporciona las funciones definidas por el usuario preexistentes, ejecuta el código SQL y ejecuta el lanzador AE que se encarga de la ejecución de AE.

Opciones

Con el paquete " nzpyida ", puedes:
  1. Conéctese a tablas de bases de datos con una abstracción de marco de datos al estilo Pandas.
  2. Exploración de datos en la base de datos utilizando las traducciones SQL incorporadas (utilizando el estilo de marco de datos de Pandas).
  3. Ejecutar código ML personalizado directamente en la base de datos (mediante simples invocaciones a módulos Python ).