Astratto
Trovare il modello giusto per prevedere nuovi risultati dati nuovi è un risultato importante. Ma spesso è una tappa in un percorso in cui l'obiettivo finale è condividere il potere predittivo del modello con un pubblico molto più vasto. JMP Pro ha molti strumenti per facilitare l'adattamento, il confronto e la selezione di 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 in 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 della modellazione predittiva. Compileremo i dati, prepareremo i dati per la modellazione, genereremo modelli predittivi, pubblicheremo i modelli su Formula Depot ed esploreremo e selezioneremo i migliori modelli. Quindi, genereremo 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 la valutazione dei dati e forniremo una panoramica delle attuali architetture di distribuzione.
Contenuto del tutorial
Il risultato finale del tutorial è un'applicazione web con capacità di previsione dell'alloggio ospitata su AWS. Puoi trovarla qui . Quello che segue è una spiegazione del contenuto associato al tutorial, come può essere trovato negli allegati a questa pagina.
Il livello client (vedere il file allegato RedFinWeb.zip) utilizza Stivaletto per l'interfaccia utente e Livelli aperti per le capacità di mappatura. È implementato come un sito Web statico ospitato su S3 di AWS ; l'interfaccia raccoglie l'immissione dei dati utente tramite un modulo HTML personalizzato; questi vengono utilizzati come valori di input nella valutazione del modello, che viene attivata da una chiamata RIPOSO al livello di elaborazione.
Il livello di elaborazione (vedere il file allegato RedFinServerless.zip) utilizza due servizi Amazon: Portale API è il punto di ingresso per le chiamate REST, che sono mappate a un servizio AWS Lambda . Lambda è l'implementazione di Amazon del paradigma Architettura senza server , noto anche come Function-as-a-Service (FaaS). Serverless fornisce prestazioni su larga scala con bassi costi di gestione per applicazioni stateless, a bassa latenza e ad alta produttività, il che lo rende un'ottima soluzione per la valutazione di applicazioni che sono, per definizione, imbarazzantemente parallele .
Il servizio Lambda è stata la destinazione di distribuzione finale per il codice di punteggio Python generato da JMP. La distribuzione delle applicazioni sui servizi AWS può essere eseguita manualmente utilizzando la loro console di gestione , ma per semplificare il processo consigliamo di utilizzare uno dei tanti wrapper open source disponibili. In questo esercizio, abbiamo utilizzato il framework applicativo Serverless .
Nota come il codice Python cattura sia le attività di feature engineering (clustering, binning, imputation) sia il modello costruito su di esse. Ciò consente alle stesse fonti di dati grezzi utilizzate per creare il modello di essere utilizzate anche per assegnare punteggi a nuovi dati in produzione, una considerazione importante quando si costruisce una pipeline di analisi gestibile.
In allegato troverete anche un Quaderno di Jupyter (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 chiamato direttamente per la valutazione da altre applicazioni, in questo caso da una formula Excel.
Riferimenti