Interface de script Python JMP permettant de pointer vers une installation Python différente des dossiers natifs de JMPBonjour
Je cherche à écrire un script qui envoie des données depuis une table JMP, exécute une bibliothèque Python et renvoie les résultats à JMP.
Certaines de ces bibliothèques peuvent exiger une installation Python spécifique de manière très stricte. De plus, nous disposons bien sûr d'une installation Python indépendante (c'est-à-dire locale, et c'est ce que j'appelle une installation Python non liée à JMP).
Je suis novice en matière de scripts Python pour JMP et je consulte la page https://www.jmp.com/support/help/en/18.1/index.shtml#page/jmp/install-a-python-package.shtml# pour apprendre les bases. Ma question porte sur la possibilité de configurer JMP pour qu'il utilise un répertoire différent de celui de son installation native pour l'installation de Python. Si cette possibilité existe, serait-il possible de fournir un exemple de script Python pour JMP ?
merci
Automatisation et scriptageRe: Interface de script Python JMP pointant vers une installation Python différente des dossiers natifs de JMPAvant JMP 18, il était possible de spécifier une installation Python et de l'exécuter. Avec JMP 18 et les versions ultérieures, il faut utiliser la fonction « Exécuter le programme », ce qui n'est pas idéal.
Re: Interface de script Python JMP pointant vers une installation Python différente des dossiers natifs de JMPJMP 14-17 tentait d'utiliser la version de Python installée sur le système de l'utilisateur. Cela fonctionnait correctement uniquement avec les versions disponibles sur Python.org et rencontrait des difficultés en présence de plusieurs versions de Python installées. Si JMP identifiait correctement la version de Python, tout fonctionnait parfaitement. Dans le cas contraire, il était quasiment impossible pour l'utilisateur de spécifier les paramètres nécessaires. L'interface de JMP 14-17 était uniquement accessible via des commandes de script JSL. De plus, les scripts générés n'étaient pas portables, car le destinataire pouvait ne pas avoir Python installé ou utiliser une version incompatible.
Les objectifs de JMP 18 étaient les suivants :
- Pour garantir que Python fonctionne avec JMP immédiatement, sans aucune configuration nécessaire.
- Chaque utilisateur de JMP 18 disposerait de la même version de Python 3.11.x, la compatibilité des scripts ne serait donc plus un problème.
- Fournir un environnement centré sur Python plutôt qu'une interface JSL uniquement pour Python,
- Facilitez l'installation de packages Python externes pour compléter les fonctionnalités de JMP.
- Commencez à assurer un meilleur échange de données entre les environnements JMP et Python, notamment en ce qui concerne les tables de données qui deviennent des références sans copie au lieu de copies de données transférées via le système de fichiers entre les environnements.
Pour réaliser l'intégration sans copie des tables de données, il est nécessaire de se lier à la bibliothèque partagée Python, ce qui impose que seul le Python intégré fourni par JMP puisse être utilisé.
JMP 19 est fourni avec Python 3.13.x. JMP restera compatible avec les versions actuelles de Python afin de corriger les bogues et d'assurer la sécurité. Bien que nous incluions une version mise à jour de Python dans nos mises à jour de maintenance, nous conserverons toujours la même version majeure et mineure tout au long du cycle de vie de chaque version de JMP.
Le JMP 20 sera probablement livré avec la version 3.14.x.
Considérez l'environnement JMP comme un environnement virtuel spécifique à JMP. Rien ne vous empêche d'utiliser l'interpréteur Python de JMP pour interagir avec un environnement Python externe. Je vous suggère d'utiliser l'interpréteur Python interne de JMP pour transférer des données vers une base de données, ou de les transmettre à l'autre environnement Python via mmap (mémoire partagée), des sockets, ZeroMQ, etc. Il existe de nombreuses façons d'y parvenir sans avoir à réécrire les données sur le système de fichiers.
À ce stade, on peut utiliser soit la fonction RunProgram() de JSL, soit le multiprocessing de Python pour lancer l'autre environnement Python.
Re: Interface de script Python JMP pointant vers une installation Python différente des dossiers natifs de JMPMerci pour vos réponses. J'ai un peu de mal à assimiler la documentation Python de JMP. J'aimerais qu'il existe un modèle avec des exemples (et peut-être qu'il en existe un). J'aurai peut-être d'autres questions.
Mes besoins concernant Python sont dus à :
1. EBM (Explainable Boosting Machines) - cette fonctionnalité n'est pas disponible dans JMP.
2. Graphiques spécifiques à SHAP… SHAP peut être obtenu via différentes plateformes, mais j’apprécie particulièrement les formats de graphiques spécifiques fournis par la bibliothèque SHAP d’origine.
Plus particulièrement les versions de Python et de scikit-learn spécifiques à la médecine factuelle. Je cherche un exemple concret qui me permettrait d'installer et d'exécuter rapidement une bibliothèque simple, puis de récupérer les résultats dans JMP sous forme de tableau de données. Je pense avoir déjà compris la partie « installation ».
D'après les explications, si l'on utilise une bibliothèque Python qui ne fait pas partie des dossiers d'installation de JMP, la solution passe par Run_Program().
Re: Interface de script Python JMP pointant vers une installation Python différente des dossiers natifs de JMPEn général, tant qu'un module est compatible avec l'installation Python de JMP, vous pouvez l'utiliser. Vous l'installerez à l'aide de la commande Python Install Packages("nom du package"). " ), en supposant qu'il soit disponible via pip.
Re: Interface de script Python JMP pointant vers une installation Python différente des dossiers natifs de JMPSalut @altug_bayram ,
« J'aimerais qu'il existe une sorte de modèle avec des exemples. »
L'index des scripts contient quelques exemples Python rapides. La section Intégration Python > Fonctions > from_dataframe propose quelques exemples qui pourraient correspondre à ce que vous recherchez.
Ce ne sont pas exactement les questions que vous posez, mais cela pourrait être utile :
Machines à boost explicables (EBM)
Je ne suis pas un expert en modélisation empirique (EBM), mais la plateforme de sélection de prédicteurs de JMP et les plateformes Bootstrap Forest/Boosted Tree de JMP Pro pourraient répondre à vos besoins. D'après une brève présentation de l'EBM en ligne, il semblerait qu'il s'agisse d'une combinaison de Bootstrap Forest et de Boosted Tree, mais c'est peut-être une simplification excessive.
parcelles spécifiques SHAP
Ce lien pourrait-il être utile pour les graphiques ?
Spécificités de Python :
En définitive, il ne devrait y avoir aucun obstacle technique à l'envoi d'un tableau de données à Python, à l'aide de bibliothèques spécifiques à Python, puis au retour des données et/ou des images dans JMP.
Vous trouverez ci-joint un exemple de script qui utilise la bibliothèque ephem pour calculer la position des planètes, puis réimporte les données dans JMP pour la visualisation. Notez que les lignes 9 et 10 installent la bibliothèque ephem depuis l'environnement Python de JMP et ne doivent être exécutées qu'une seule fois.