Interfaccia dello script Python JMP per puntare all'installazione di Python diversa dalle cartelle native JMPCiao
Vorrei scrivere uno script che invii dati da una tabella JMP, esegua una libreria Python e restituisca gli output a JMP.
Alcune di queste librerie potrebbero richiedere un'installazione Python specifica. Inoltre, abbiamo sicuramente un'installazione Python indipendente (ovvero locale, e questo è ciò che chiamo Python non-jmp).
Sono nuovo nello scripting Python di JMP e sto consultando https://www.jmp.com/support/help/en/18.1/index.shtml#page/jmp/install-a-python-package.shtml# per le nozioni di base, ma la mia domanda è se esista o meno la possibilità di indirizzare JMP a una cartella diversa da quella dell'installazione nativa di JMP per l'installazione Python preferita. Se questa possibilità esiste, è possibile pubblicare un esempio di script Python di avvio per JMP?
Grazie
Automazione e scriptingRe: Interfaccia dello script Python JMP per puntare all'installazione di Python diversa dalle cartelle native di JMPPrima di JMP 18, era possibile indirizzare JMP a una specifica installazione di Python e farla eseguire. Per farlo in JMP 18 o versioni successive, credo che si debba usare Run Program(), il che non sembra la soluzione ideale.
Re: Interfaccia dello script Python JMP per puntare all'installazione di Python diversa dalle cartelle native di JMPJMP 14-17 tentava di utilizzare la versione di Python installata sul sistema dell'utente. Questo funzionava solo con le versioni di Python.org e presentava difficoltà se sul sistema era installata più di una versione di Python. Se JMP identificava correttamente la versione di Python sul sistema, tutto funzionava correttamente... In caso contrario, era quasi impossibile per l'utente specificare i parametri necessari per puntare alla versione di Python. JMP 14-17 presentava l'interfaccia solo tramite comandi di scripting JSL. Inoltre, gestiva script non portabili perché il destinatario dello script poteva non avere Python installato o una versione incompatibile.
Gli obiettivi del JMP 18 erano:
- Per garantire che Python funzioni con JMP fin da subito, non è necessaria alcuna configurazione.
- Ogni utente di JMP 18 avrebbe la stessa versione di Python 3.11.x, quindi la compatibilità degli script non sarebbe più un problema.
- Fornire un ambiente incentrato su Python anziché un'interfaccia solo JSL per Python,
- Consente una facile installazione di pacchetti Python esterni per integrare le funzionalità JMP.
- Iniziare a fornire un migliore scambio di dati tra gli ambienti JMP e Python, in particolare per quanto riguarda le tabelle dati che diventano riferimenti a copia zero anziché copie di dati trasferiti tramite il file system tra gli ambienti.
Per realizzare l'integrazione Zero-copy delle tabelle dati è necessario collegarci alla libreria condivisa Python, che è ciò che stabilisce il requisito che può essere utilizzato solo il Python incorporato fornito da JMP.
JMP 19 è fornito in bundle con Python 3.13.x. JMP continuerà a rimanere fedele alle attuali release di Python grazie a correzioni di bug e aggiornamenti di sicurezza. Forniamo versioni aggiornate di Python con le nostre release di manutenzione; manterremo sempre la stessa versione Major/Minor per tutto il ciclo di rilascio della specifica versione di JMP.
JMP 20 verrà probabilmente distribuito con 3.14.x
Considerate l'ambiente JMP come un ambiente virtuale specifico di JMP. Nulla vi impedisce di utilizzare JMP Python per interagire con un ambiente Python esterno. Il mio suggerimento è di utilizzare JMP Python interno per spostare i dati in un database o passarli all'altro ambiente Python tramite mmap (memoria condivisa), socket, ZeroMQ, ... molti modi per farlo senza dover riscrivere i dati nel file system.
A questo punto è possibile utilizzare RunProgram() di JSL o il multiprocessing di Python per avviare l'altro ambiente Python.
Re: Interfaccia dello script Python JMP per puntare all'installazione di Python diversa dalle cartelle native di JMPGrazie per le risposte. Sono un po' lento nell'acquisire la documentazione di JMP Python. Vorrei che ci fosse una sorta di modello con esempi (e forse c'è). Potrei avere altre domande.
Le mie esigenze nei confronti di Python sono dovute a:
1.EBM (Explainable Boosting Machines): non disponibile in JMP
2. Grafici specifici SHAP.. SHAP può essere ottenuto tramite diverse piattaforme, ma mi piacciono i formati di grafici specifici forniti dalla libreria SHAP originale.
In particolare, le versioni specifiche di Python e scikit-learn per EBM. Credo che l'esempio di esempio mi renderebbe più rapido nell'installare ed eseguire una semplice libreria e poi restituire l'output a JMP come tabella dati. Credo di aver capito fin qui la parte "come installare".
E da quello che ho capito dalle spiegazioni: se si deve usare una libreria Python che non fa parte delle cartelle di installazione di JMP, la soluzione passa attraverso Run_Program()
Re: Interfaccia dello script Python JMP per puntare all'installazione di Python diversa dalle cartelle native di JMPIn generale, finché un modulo è compatibile con l'installazione Python di JMP, è possibile utilizzarlo. Per installarlo, utilizzare Python Install Packages( "nome pacchetto " ), supponendo che sia disponibile tramite pip.
Re: Interfaccia dello script Python JMP per puntare all'installazione di Python diversa dalle cartelle native di JMPCiao @altug_bayram ,
"Vorrei che ci fosse una sorta di modello con esempi"
L'indice degli script contiene alcuni rapidi esempi di Python. Integrazione Python > Funzioni > from_dataframe contiene alcuni esempi che potrebbero fare al caso tuo.
Non sono esattamente le domande che stai ponendo, ma potrebbero essere utili:
EBM (Explainable Boosting Machines)
Non ho molta familiarità con l'EBM, ma la piattaforma Predictor Screening in JMP e le piattaforme Bootstrap Forest / Boosted Tree in JMP Pro potrebbero fare al caso tuo. Da una breve panoramica online, sembra che l'EBM sia una sorta di mix tra Bootstrap Forest e Boosted Tree, ma forse è una semplificazione eccessiva.
Grafici specifici SHAP
Questo link potrebbe essere utile per la trama?
Specifiche di Python:
In definitiva, non dovrebbero esserci ostacoli tecnici nell'inviare una tabella dati a Python, utilizzando librerie specifiche per Python e poi riportare i dati e/o le immagini a JMP.
Ho allegato uno script di esempio che utilizza la libreria ephem per calcolare la posizione dei pianeti, quindi esporta i dati in JMP per la visualizzazione. Nota che le righe 9-10 installano la libreria ephem dall'ambiente Python di JMP e devono essere eseguite una sola volta.