Condividere l'ultimo vantaggio: un viaggio dalla modellazione al punteggioAstratto
Trovare il modello giusto per prevedere nuovi risultati sulla base di nuovi dati è un risultato importante. Ma molte volte è una fase di un viaggio in cui l'obiettivo finale è condividere il potere predittivo del modello con un pubblico molto più vasto. JMP Pro dispone di molti strumenti per facilitare l'adattamento, il confronto e la selezione dei modelli predittivi. JMP Pro 13 ha aggiunto Formula Depot: un modo efficiente per raccogliere modelli, applicarli a nuove tabelle e accedere alle piattaforme Model Comparison e Profiler. Per facilitare la distribuzione dei modelli alla produzione, Formula Depot può anche convertirli in codice di punteggio in diversi linguaggi di programmazione. In questo tutorial, utilizziamo un caso di studio immobiliare per illustrare il flusso di lavoro di modellazione predittiva. Compileremo i dati, prepareremo i dati per la modellazione, genereremo modelli predittivi, pubblicheremo modelli nel Formula Depot ed esploreremo e selezioneremo i migliori modelli. Quindi, genereremo il codice di punteggio per supportare la creazione di applicazioni Web in grado di calcolare i prezzi delle case "sul posto". Esploreremo anche diversi metodi per il punteggio dei dati e forniremo una panoramica delle attuali architetture di distribuzione.
Contenuto dell'esercitazione
Il risultato finale del tutorial è un'applicazione web con capacità predittive di housing ospitate su AWS. Puoi trovarlo Qui . Quella che segue è una spiegazione del contenuto associato al tutorial, come si può trovare negli allegati a questa pagina.
Il livello client (vedere il file allegato RedFinWeb.zip) utilizza Bootstrap per l'interfaccia utente e OpenLayer per le capacità di mappatura.È implementato come sito Web statico ospitato su AWS S3 ; l'interfaccia raccoglie i dati inseriti dall'utente utilizzando un form HTML personalizzato; questi vengono utilizzati come valori di input nella valutazione del modello, che viene attivata da a RIPOSO chiamata al livello di calcolo.
Il livello di calcolo (vedi file allegato RedFinServerless.zip) utilizza due servizi Amazon: Gateway dell'API è il punto di ingresso per le chiamate REST, che sono mappate a un AWS Lambda servizio. Lambda è l'implementazione di Amazon del Architettura senza server paradigma, noto anche come Function-as-a-Service (FaaS). Il serverless offre prestazioni su larga scala con bassi costi di gestione per applicazioni stateless, a bassa latenza e ad alto throughput, il che lo rende perfetto per le applicazioni di punteggio che sono, per definizione, parallelo imbarazzante .
Il servizio Lambda era la destinazione di distribuzione finale per il codice di punteggio Python generato da JMP. La distribuzione delle applicazioni ai servizi AWS può essere eseguita manualmente utilizzando il loro console di gestione , ma per snellire il processo consigliamo l'utilizzo di uno dei tanti wrapper open source disponibili. In questo esercizio abbiamo usato il Framework per applicazioni senza server .
Nota come il codice Python acquisisce sia le attività di ingegneria delle funzionalità (clustering, binning, imputazione) sia il modello costruito su di esse. Ciò consente di utilizzare le stesse origini dati non elaborate utilizzate per creare il modello anche per valutare nuovi dati in produzione, una considerazione importante quando si crea una pipeline di analisi manutenibile.
In allegato troverete anche un Taccuino di Giove (RedFinNotebook.zip) utilizzato per testare il modello prima della distribuzione; una raccolta di modelli Python generati da JMP per lo scenario abitativo (RedFinModels.zip); e la tabella JMP originale con la pulizia dei dati e gli script per generare i modelli. (RedFinData.zip). Quest'ultimo file .zip include anche un foglio di calcolo che illustra come il backend REST può essere richiamato direttamente per il punteggio da altre applicazioni, in questo caso da una formula di Excel.
Riferimenti
Accesso e manipolazione dei datiModellazione predittivaRi: Condividere l'ultimo vantaggio: un viaggio dalla modellazione al punteggioL'idea è che la pagina Web sia un'interfaccia utente attraverso la quale si ottengono i dati che devono essere valutati, ad esempio un dialogo in cui l'utente digita alcuni valori. Una volta inviati i valori, il gestore dell'evento li raccoglie e chiama il codice del modello JavaScript generato da JMP. Il risultato viene visualizzato all'utente. Il vantaggio principale è che non è necessario rispondere a un server, quindi questo è il più scalabile possibile. Lo svantaggio è che sei limitato a valutare una o poche osservazioni alla volta, ma a seconda del caso d'uso, questo non è un problema.
Per un esempio concreto, dai un'occhiata a questo:
http://jmp.valentine.s3-website-us-east-1.amazonaws.com/
Qui invece dell'input dell'utente, la pagina Web genera punti casuali che devono essere classificati come all'interno o all'esterno di una curva. La classificazione viene eseguita da un modello di rete neurale di JMP. La visualizzazione viene eseguita con D3.js.
Un altro esempio che mostra come utilizzare un'applicazione Web per raccogliere dati dall'utente, valutare l'input e restituire il risultato, è disponibile nel file scoring_examples.zip allegato al Presentazione 2016 .
La cartella "WebApp" come applicazione web completa che ne illustra il concetto. È stato progettato per essere utilizzato da un botanico di ricerca sul campo, cercando di classificare nuovi esemplari di fiori di iris in base alle loro misurazioni (lo so, lo so, quanto sono originali... 
Ri: Condividere l'ultimo vantaggio: un viaggio dalla modellazione al punteggioCIAO,
Apprezzo il vostro aiuto.l'ultima volta hai suggerito di eseguire all'interno di un browser dietro HTML ...
Puoi darmi più dettagli o link a qualcosa che mi aiuterebbe a raggiungere qualcosa di tangibile?
Grazie,
Jim
Ri: Condividere l'ultimo vantaggio: un viaggio dalla modellazione al punteggioCIAO @jgrayson ,
Si trova nella directory di installazione, in Risorse/Punteggio. Ad esempio, nella mia macchina Windows, è sotto
C:\Programmi\SAS\JMPPRO\16\Risorse\Punteggio\JavaScript
Ri: Condividere l'ultimo vantaggio: un viaggio dalla modellazione al punteggioCIAO,
Puoi dirmi dove trovare il "jmp_score" per javascript?
Grazie,
Jim Grayson