Interfaz de script de Python de JMP para apuntar a una instalación de Python diferente a las carpetas nativas de JMPHola
Estoy buscando escribir un script que envíe datos desde una tabla JMP, ejecute una biblioteca de Python y devuelva los resultados a JMP.
Algunas de estas bibliotecas pueden requerir una instalación específica de Python de forma muy estricta. Además, contamos con una instalación independiente de Python (es decir, local, a la que llamo Python sin JMP).
Soy nuevo en la creación de scripts de JMP en Python y estoy revisando https://www.jmp.com/support/help/es/18.1/index.shtml#page/jmp/instalar-un-paquete-de-python.shtml# para obtener información básica, pero mi pregunta es si existe la posibilidad de dirigir JMP a una carpeta diferente a la de la instalación nativa de JMP para la instalación de Python preferida. Si esta posibilidad existe, ¿es posible publicar un ejemplo inicial de un script de JMP en Python?
gracias
Automatización y scriptingRe: Interfaz de script de Python de JMP para apuntar a una instalación de Python diferente a las carpetas nativas de JMPAntes de JMP 18, se podía apuntar a JMP a una instalación específica de Python y hacer que la ejecutara. Para ello en JMP 18 o posterior, creo que habría que usar Run Program(), lo cual no parece ideal.
Re: Interfaz de script de Python de JMP para apuntar a una instalación de Python diferente a las carpetas nativas de JMPJMP 14-17 intentaba utilizar Python instalado en el sistema del usuario. Esto solo funcionaba con las versiones de Python.org y presentaba dificultades si había más de una versión de Python instalada en el sistema. Si JMP identificaba correctamente la versión de Python en el sistema, todo funcionaba correctamente. De lo contrario, era casi imposible para el usuario especificar los parámetros necesarios para acceder a la versión de Python. JMP 14-17 solo presentaba la interfaz mediante comandos de script JSL. Además, generaba scripts no portables, ya que el receptor podía no tener Python instalado o usar una versión incompatible.
Los objetivos del JMP 18 fueron:
- Para garantizar que Python funcionara con JMP desde el primer momento, no fue necesaria ninguna configuración.
- Cada usuario de JMP 18 tendría la misma versión de Python 3.11.x, por lo que la compatibilidad de scripts dejaría de ser un problema.
- Proporcionar un entorno centrado en Python en lugar de una interfaz solo JSL para Python.
- Proporciona una instalación sencilla de paquetes Python externos para complementar las capacidades de JMP.
- Comenzar a proporcionar un mejor intercambio de datos entre los entornos JMP y Python, especialmente en lo que respecta a las tablas de datos que se convierten en referencias de copia cero en lugar de copias de datos transferidos a través del sistema de archivos entre entornos.
Para lograr la integración de copia cero de las tablas de datos, es necesario vincularse con la biblioteca compartida de Python, que es lo que establece el requisito de que solo se puede utilizar Python integrado proporcionado por JMP.
JMP 19 se incluye con Python 3.13.x. JMP se mantendrá cercano a las versiones actuales de Python debido a correcciones de errores y actualizaciones de seguridad. Proporcionamos una versión actualizada de Python con nuestras versiones de mantenimiento; siempre mantendremos la misma versión principal y secundaria durante el ciclo de lanzamiento de la versión específica de JMP.
Es probable que JMP 20 se envíe con 3.14.x
Piense en el entorno JMP como un entorno virtual específico de JMP. No hay nada que le impida usar JMP Python para interactuar con un entorno Python externo. Mi sugerencia sería usar el JMP Python interno para mover datos a una base de datos o pasarlos al otro entorno Python mediante mmap (memoria compartida), sockets, ZeroMQ, etc., existen muchas maneras de lograrlo sin tener que volver a escribir datos en el sistema de archivos.
En ese momento se puede utilizar RunProgram() de JSL o el multiprocesamiento de Python para iniciar el otro entorno de Python.
Re: Interfaz de script de Python de JMP para apuntar a una instalación de Python diferente a las carpetas nativas de JMPGracias por sus respuestas. Estoy un poco lento asimilando la documentación de JMP Python. Ojalá hubiera algún tipo de plantilla con ejemplos (y quizás la haya). Quizás tenga más preguntas.
Mis necesidades hacia Python se deben a:
1.EBM (Explainable Boosting Machines): esto no está disponible en JMP
2. Gráficos específicos de SHAP. SHAP se puede obtener a través de diferentes plataformas, pero me gustan los formatos de gráficos específicos que ofrece la biblioteca SHAP original.
Especialmente las versiones específicas de EBM de Python y Scikit-learn. Creo que el ejemplo me ayudaría a instalar y ejecutar una biblioteca simple y luego a obtener la salida en JMP como una tabla de datos. Creo que ya entendí la parte de "cómo instalar".
Y según lo que entiendo de las explicaciones: si se va a utilizar una biblioteca de Python que no es parte de las carpetas de instalación de JMP, entonces la solución pasa por Run_Program()
Re: Interfaz de script de Python de JMP para apuntar a una instalación de Python diferente a las carpetas nativas de JMPEn general, siempre que un módulo sea compatible con la instalación de Python de JMP, puede usarlo. Para instalarlo, utilice Python Install Packages( "nombre del paquete" " ), asumiendo que esté disponible a través de pip.
Re: Interfaz de script de Python de JMP para apuntar a una instalación de Python diferente a las carpetas nativas de JMPHola @altug_bayram ,
"Ojalá hubiera algún tipo de plantilla con ejemplos"
El Índice de Scripting incluye ejemplos rápidos de Python. Integración de Python > Funciones > from_dataframe contiene algunos ejemplos que podrían ser justo lo que buscas.
No son exactamente las preguntas que estás haciendo, pero quizás sean útiles:
Máquinas de refuerzo explicables (EBM)
No estoy muy familiarizado con EBM, pero la plataforma de cribado de predictores de JMP y las plataformas Bootstrap Forest/Boosted Tree de JMP Pro podrían ser la solución ideal. Tras una breve descripción general de EBM en línea, parece que sería una especie de combinación de Bootstrap Forest y Boosted Tree, pero eso podría ser una simplificación excesiva.
Parcelas específicas de SHAP
¿Este enlace ayudaría con las gráficas?
Detalles específicos de Python:
En última instancia, no debería haber ningún obstáculo técnico al enviar una tabla de datos a Python, utilizando bibliotecas específicas de Python y luego llevar los datos y/o las imágenes a JMP.
He adjuntado un script de ejemplo que utiliza la biblioteca ephem para calcular la ubicación de los planetas y luego extrae los datos a JMP para su visualización. Nota: Las líneas 9 y 10 instalan la biblioteca ephem desde el entorno Python de JMP y solo deben ejecutarse una vez.