Perché KNIME?

Dall'ampia copertura delle tecniche di data science e l'implementazione efficace a una fiorente comunità di supporto

Ho scritto questa prefazione per un libro di Machine Learning. Ho pensato che potesse interessare più persone che solo i lettori del libro. Quindi lo sto condividendo qui. In questa prefazione, avrei dovuto descrivere dove sta la convenienza nell’adottare il software KNIME per i tuoi progetti di data science.

— — — — — — —

Mappa mentale sulle funzionalità del software KNIME fornite da Vijaykrishnan Venkataram.

Il successo dei data scientist al lavoro dipende in gran parte dallo strumento su cui fanno affidamento.

La conoscenza matematica degli algoritmi, l’esperienza sugli algoritmi più efficaci, la saggezza di dominio, sono tutti ingredienti di base, importanti, necessari per il successo di un progetto di data science. Tuttavia, ci sono altri fattori più contingenti che influenzano anche l’impressione finale lasciata sugli stakeholder.

Chiaramente, ogni progetto ha una scadenza, spesso è stringente che non lascia molto margine per un approccio “try and error”. Dobbiamo implementare una soluzione in breve tempo e assicurarci che sia corretta. Abbiamo bisogno di sperimentare rapidamente diverse tecniche per raggiungere e adottare la procedura migliore per il progetto. Naturalmente, ogni progetto ha anche un budget. La rapida implementazione della soluzione è spesso ulteriormente limitata da un budget ridotto.

Alcuni progetti sono piuttosto complessi e richiedono tecniche specializzate, oltre ai classici algoritmi generali di machine learning. A volte, siamo costretti ad apprendere nuove tecniche e nuovi algoritmi sul posto – cioè sul progetto – e, data la scadenza, la curva di apprendimento deve svilupparsi in breve tempo. In questo caso, più tempo abbiamo da dedicare alla teoria e alla matematica, più velocemente procederà l’apprendimento.

Infine, il passaggio dal prototipo alla produzione deve essere il più veloce (di nuovo) e il più sicuro possibile. Non possiamo correre il rischio di degradare parti della soluzione mentre la trasferiamo in produzione ed esponendola a un diverso gruppo di utenti meno esperti. Se necessario, un diverso insieme di soluzioni, con più o meno gradi di interazione, dovrebbe essere messo a disposizione del grande pubblico.

Come si vede, molti altri fattori contingenti, come la facilità di apprendimento, la velocità di implementazione del prototipo, le opzioni di debug e test per garantire la correttezza della soluzione, la flessibilità di sperimentare approcci diversi, la disponibilità di aiuto da parte di collaboratori esterni ed esperti e, infine, le capacità di automazione e sicurezza, contribuiscono tutti al successo del progetto di scienza dei dati,  oltre la matematica, l’esperienza e la conoscenza del dominio. Tutti questi fattori contingenti dipendono fortemente dallo strumento utilizzato dai data scientist.

 

Vincoli di progetto: tempo e denaro

Vincoli di progetto: tempo e denaro

KNIME Analytics Platform è un software open source per tutte le tue esigenze di dati. È scaricabile gratuitamente dal sito web KNIME e  gratuito, copre tutte le principali tecniche di data wrangling e machine learning e si basa sulla programmazione visiva.

Le implicazioni dell’essere open source e liberi di usare sono autoesplicative, riducendo i grattacapi legali delle licenze e l’impatto sul budget del progetto.

L’impatto della programmazione visiva potrebbe richiedere qualche parola in più di spiegazione. La programmazione visiva è diventata molto popolare negli ultimi tempi e mira a sostituire, parzialmente o completamente, la pratica della codifica. Nella programmazione visiva, un’interfaccia utente grafica (GUI) guida l’utente attraverso tutti i passaggi necessari per creare una pipeline (flusso di lavoro) di blocchi dedicati (nodi). Ogni nodo implementa un determinato compito; Ogni flusso di lavoro di nodi prende i tuoi dati dall’inizio alla fine del percorso progettato. Un flusso di lavoro sostituisce uno script; Un nodo sostituisce una o più righe di script.

In KNIME Analytics Platform, i nodi vengono creati trascinando (o facendo doppio clic) dal Node Repository nell’editor del flusso di lavoro nella parte centrale dell’ambiente di lavoro KNIME. Nodo dopo nodo, la pipeline viene rapidamente costruita, configurata, eseguita, ispezionata e documentata.

Figura 1. Piattaforma di analisi KNIME. Dall’angolo in alto a sinistra: KNIME Explorer per archiviare i flussi di lavoro, Workflow Coach per i consigli sui nodi, Node Repository come archiviazione dei nodi, Struttura per la panoramica del flusso di lavoro, Console per gli errori e Descrizione per saperne di più. Al centro l’editor del flusso di lavoro per assemblare il flusso di lavoro KNIME.

La programmazione visiva è una caratteristica chiave di KNIME Analytics Platform per la prototipazione rapida. Rende lo strumento molto facile da usare. Produrre alcuni prototipi sperimentali diversi, prima di decidere la direzione finale del progetto, è veloce e abbastanza semplice. La facilità di implementazione libera tempo per pensare più a fondo alle possibili alternative teoriche alla soluzione attuale.

La curva di apprendimento

La programmazione visiva rende inoltre la curva di apprendimento molto più veloce rispetto agli strumenti basati su codice.

La scienza dei dati è ora utilizzata in più o meno tutte le discipline, comprese le discipline umanistiche, le lingue, le scienze della vita, l’economia e altre aree insospettate della saggezza umana. Non tutti gli scienziati sono programmatori esperti e non tutti gli scienziati hanno tempo libero per diventare programmatori esperti. Uno strumento basato su GUI può essere appreso e applicato in meno tempo rispetto a uno strumento basato su codice, liberando nuovamente tempo e risorse preziose per indagini più importanti.

Inoltre, quando ci si prepara a diventare futuri scienziati nelle discipline umanistiche, lingue, scienze della vita, economia o altre discipline accademiche, uno strumento basato su GUI potrebbe liberare più tempo per studiare e ricercare. Ho visto troppo spesso interi mesi dedicati ad apprendere la pratica del coding, prima ancora di approcciarmi a qualsiasi tecnica di analisi dei dati. Con KNIME Analytics Platform, in poche settimane è già possibile assemblare flussi di lavoro piuttosto complessi per la trasformazione dei dati e per l’addestramento degli algoritmi di machine learning.

Un sacco di risorse educative in tutto il web e soprattutto sul sito KNIME, ovviamente, aiutano ad accelerare ancora di più la curva di apprendimento. Partendo dalla pagina generica di APPRENDIMENTO sul sito KNIME, puoi passare a  corsi con un istruttore o corsi completamente autogestiti, tutti portando ad una possibile certificazione. Puoi anche decidere di imparare da solo con l’aiuto di un libro, come questo.

Un altro enorme aiuto per i principianti viene dal KNIME Hub. Con il KNIME Hub abbiamo introdotto un altro grande punto di forza della piattaforma KNIME Analytics: la KNIME Community.

La comunità KNIME

Il KNIME Hub è il repository pubblico per la comunità KNIME. Qui puoi condividere i tuoi flussi di lavoro e scaricare i flussi di lavoro di altri utenti KNIME. Basta digitare le parole chiave e otterrai un elenco di flussi di lavoro, componenti, estensioni e altro correlati. È un ottimo punto di partenza con molti esempi! Ad esempio, basta digitare nella casella di ricerca “base” o “principianti” e si otterrà un elenco di flussi di lavoro di esempio che illustrano i concetti di base in KNIME Analytics Platform; digita “leggi file” e otterrai un elenco di flussi di lavoro di esempio che illustrano come leggere file CSV, file .table, file excel, ecc. Si noti che un sottoinsieme di questi flussi di lavoro di esempio è riportato anche nel server EXAMPLES nel pannello KNIME Explorer nell’angolo superiore sinistro dell’ambiente di lavoro KNIME.

Una volta isolato il flusso di lavoro di interesse, fai clic su di esso per aprire la sua pagina, quindi scaricalo o aprilo sulla tua piattaforma di analisi KNIME. Una volta nell’area di lavoro locale, puoi iniziare ad adattarla ai tuoi dati e alle tue esigenze. Seguendo la tendenza popolare nella programmazione – ovvero la ricerca di pezzi di codice pronti all’uso – puoi semplicemente scaricare, riutilizzare e riadattare i flussi di lavoro o i flussi di lavoro dall’hub KNIME al tuo problema.

Naturalmente, puoi anche condividere il tuo lavoro sul KNIME Hub per il bene pubblico. È sufficiente copiare i flussi di lavoro da condividere dall’area di lavoro locale nella cartella My-KNIME-Hub/Public nel pannello KNIME  Explorer all’interno dell’ambiente KNIME.

Figura 2. Elenco risultante dei flussi di lavoro dalla ricerca “file letto” sull’hub KNIME.

La comunità KNIME non si ferma al KNIME Hub. È davvero molto attivo con suggerimenti e trucchi anche sul Forum KNIME. Qui puoi porre domande o cercare risposte precedenti. La comunità è molto attiva ed è molto probabile che qualcuno abbia già posto la tua domanda.

Infine, i contenuti innovativi prodotti da KNIMErs sono disponibili come post sul blog KNIME, come libri sulla  KNIME Press e come video sul  canale KNIME TV su YouTube.

Nota. Da giugno 2021, KNIME ha una propria pubblicazione su Medium: Low Code for Advanced Data Science. Pubblichiamo contenuti su storie di dati di successo, teoria della scienza dei dati, suggerimenti e trucchi per iniziare a utilizzare KNIME Analytics Platform e altro ancora. E la cosa migliore è che raccoglie articoli scritti dalla comunità per la comunità. Scopri come contribuire e condividere le tue storie qui.

Correttezza e flessibilità

Facile, facile, facile, ma posso assicurarmi che sia corretto? È abbastanza flessibile per sperimentare procedure alternative? Questa è davvero una domanda chiave, perché per molti degli strumenti software disponibili al giorno d’oggi “facile” va a scapito del “controllo” per la correttezza e della “flessibilità” per le opzioni alternative.

L’apprendimento automatico automatico è diventato molto popolare negli ultimi tempi. Porta la promessa di ottenere i tuoi dati, sputare alcuni risultati, senza nemmeno alzare un dito. Per quanto affascinante possa sembrare questa opzione, insieme alla promessa comporta anche alcuni rischi.

Prima di tutto, funziona come una scatola nera. Il suo processo decisionale non è trasparente. Quando fornisco la scatola con i miei dati, devo fidarmi completamente della macchina che il processo di analisi dei dati è corretto, si adatta alle caratteristiche e alle distribuzioni dei dati ed è sintonizzato sul problema che desidero risolvere. Probabilmente è un esercizio di fiducia, come in questi incontri di supporto psicologico. Preferisco assicurarmi personalmente che tutti i passaggi dell’analisi siano implementati correttamente, secondo il design originale dell’applicazione. Quando si esegue un nodo in KNIME Analytics Platform, è sempre possibile ispezionare i risultati dell’output con un clic destro e quindi selezionare l’ultima opzione nel menu di scelta rapida. Questo è un modo per eseguire il debug dell’applicazione passo dopo passo e assicurarsi che tutti i passaggi funzionino come richiesto dalla progettazione.

In secondo luogo, il mondo non è mai ideale, e nemmeno i dati. L’analisi automatizzata potrebbe funzionare bene su dati perfetti, senza classi sbilanciate, senza valori anomali, senza record sporchi, ecc. Questo accade a volte, principalmente nei set di dati dei giocattoli. Nella vita reale, ci sono sempre aggiustamenti da fare per le classi sbilanciate, per i dati sporchi, per i valori mancanti, per le incoerenze e così via. L’aggiunta di una fase di pulizia o di un’altra, l’introduzione di un ciclo di ottimizzazione su un parametro o su un altro potrebbe modificare i risultati finali del flusso di lavoro. Per sperimentare nuove strategie, è imperativo che lo strumento sia abbastanza flessibile e personalizzabile in ogni fase dell’analisi. Un approccio automatizzato black-box non consente molta flessibilità, non consente di modificare i passaggi intermedi nell’analisi, personalizzare le feature o ottimizzare i parametri. La piattaforma di analisi KNIME dall’altro lato è abbastanza modulare e con un’ampia copertura delle operazioni di data wrangling e degli algoritmi di apprendimento automatico per consentire questo tipo di flessibilità. È abbastanza flessibile da scambiare un nodo di manipolazione dei dati con un altro, introdurre un ciclo di ottimizzazione o modificare il valore di un parametro nel training di un modello di apprendimento automatico.

Una piccola nota, prima di approfondire la “vasta copertura delle operazioni di data wrangling e degli algoritmi di apprendimento automatico”. Se apri un vecchio flusso di lavoro, ovvero un flusso di lavoro sviluppato con versioni precedenti di KNIME Analytics Platform, probabilmente troverai nodi “obsoleti” o “legacy”. Questi nodi sono scoraggiati dall’uso corrente, poiché nel frattempo sono stati sviluppati nuovi nodi migliori. Tuttavia, i nodi obsoleti e legacy, esistono ancora e funzionano ancora. In effetti, la retrocompatibilità con le versioni precedenti è una caratteristica chiave di KNIME Analytics Platform. Solo garantire che i vecchi flussi di lavoro funzionino esattamente nello stesso modo in cui sono stati progettati, può garantire la riproducibilità dei risultati. Come tutti sapete, la riproducibilità è un argomento estremamente importante nella convalida dei risultati nella ricerca scientifica.

Ampia copertura delle tecniche di Data Science

Un altro complemento necessario alla facilità d’uso è la copertura delle tecniche di data science. Senza un’ampia copertura delle tecniche di data wrangling comunemente e meno comunemente usate, degli algoritmi di apprendimento automatico, dei tipi e dei formati di dati e senza l’integrazione con i software di database e le fonti di dati più utilizzati, gli strumenti di reporting, altri script e linguaggi, la facilità d’uso sarebbe di convenienza limitata.

Partiamo dagli algoritmi di machine learning. KNIME Analytics Platform copre la maggior parte degli algoritmi di machine learning: dagli alberi decisionali alle foreste casuali e agli alberi potenziati dal gradiente, dai motori di raccomandazione a una serie di tecniche di clustering, da Naïve Bayes alla regressione lineare e logistica, dalle reti neurali al deep learning. La maggior parte di questi algoritmi sono nativi di KNIME Analytics Platform, alcuni sono integrati da altri strumenti di script open source. In particolare, i livelli, le unità e le architetture preconfigurate di deep learning sono disponibili tramite l’integrazione KNIME Deep Learning – Keras. Questo integra le librerie Keras all’interno della piattaforma di analisi KNIME e le offre all’utente tramite la familiare GUI KNIME. In questo modo, è possibile trascinare e rilasciare i nodi per creare strati di neuroni per architetture neurali complesse e addestrare la rete finale senza scrivere codice.

È inoltre disponibile un numero molto elevato di nodi per implementare una miriade di tecniche di Data Wrangling. Combinando nodi dedicati a piccole attività, è possibile implementare operazioni di trasformazione dei dati fino a molto complesse. L’assemblaggio di tali operazioni è così semplice che viene spesso utilizzato per la preparazione dei dati per altri strumenti, ad esempio per generare report o per creare un data warehouse.

KNIME Analytics Platform si collega anche alla maggior parte delle fonti di dati richieste: dai database ai repository cloud, dalle piattaforme di big data ai file. Quindi, non preoccuparti qui. Per quanto strani siano la tua origine dati e i tuoi tipi di dati, è probabile che tu possa connetterti a loro dall’interno di KNIME Analytics Platform.

E se tutto ciò non bastasse? Cosa succede se ho bisogno di una procedura specifica per l’analisi del DNA o la conversione molecolare? Cosa succede se ho bisogno di una funzione di manipolazione della rete specifica da Python? Cosa succede se devo esportare i risultati in un report di Tableau? Dove KNIME Analytics Platform non può raggiungere, di solito c’è almeno un’estensione di terze parti dalla comunità KNIME che fornisce i nodi mancanti per quel particolare dominio o attività. Dove KNIME Analytics Platform e le sue estensioni non possono raggiungere, ci sono le integrazioni con altri linguaggi di scripting e programmazione, come Python, R, Java e Javascript, per citarne alcuni.

KNIME Analytics Platform ha una perfetta integrazione con lo strumento BIRT Reporting. Poiché anche questo è open source, la sua integrazione si adatta bene alla filosofia della piattaforma KNIME Analytics. Tuttavia, sono disponibili anche integrazioni con altre piattaforme di reporting come Tableau, QlickView, PowerBI e Spotfire. In questi casi, tuttavia, è necessario acquistare e installare il software di reporting di destinazione.

Tuttavia, non è nemmeno necessario passare a un software di reporting esterno per visualizzare i dati o i risultati. Un certo numero di nodi basati su Javascript sono disponibili all’interno della categoria Views/Javascript nel Node Repository. Questi nodi implementano grafici e grafici di visualizzazione dei dati: da un semplice grafico a dispersione a un grafico sunburst più complesso, da un semplice istogramma a un grafico a coordinate parallele e altro ancora. Questi nodi sembrano semplici ma sono potenzialmente molto potenti. Se li si combina all’interno di un componente, la selezione interattiva dei punti dati su più grafici viene abilitata automaticamente. Il componente eredita e combina quindi tutte le viste dai nodi contenuti e le collega in modo che, se i punti sono selezionati e visualizzati in un grafico, possono anche essere selezionati e visualizzati negli altri grafici della vista composita del componente.

Data Science nell'azienda

Un ultimo passo è la distribuzione in produzione e, nel caso di un’azienda, una distribuzione facile, comoda e sicura. Questo è l’ultimo passaggio della catena di azioni in un progetto di data science. Al termine del flusso di lavoro, il modello (se presente) viene addestrato, le prestazioni vengono misurate, dobbiamo lanciare l’applicazione nel mondo reale per gestire i dati della vita reale. Questo processo di spostamento dell’applicazione nel mondo reale è chiamato spostamento in produzione. Il processo di inclusione del modello in questa applicazione finale è denominato distribuzione. Entrambe le fasi sono profondamente connesse e possono essere piuttosto problematiche poiché tutti gli errori nella progettazione dell’applicazione si presentano in questa fase.

È possibile, anche se limitato, spostare un’applicazione in produzione utilizzando KNIME Analytics Platform. Se tu, come data scientist solitario o studente di data science, non distribuisci regolarmente applicazioni e modelli, KNIME Analytics Platform è probabilmente sufficiente per le tue esigenze. Tuttavia, se sei solo un po ‘più in un tipo di ambiente aziendale, in cui sono necessari pianificazione, controllo delle versioni, diritti di accesso, scalabilità, facile implementazione, sicurezza, monitoraggio dei modelli, controllo e tutte le altre funzioni tipiche di un server di produzione, allora il semplice utilizzo di KNIME Analytics Platform per la produzione può essere ingombrante.

In questo caso, il server KNIME, che non è open source ma venduto per un canone di licenza annuale, può semplificarti la vita. Prima di tutto, si adatterà meglio alla governance dell’ambiente IT aziendale. Quindi, offre un ambiente protetto di collaborazione per il tuo gruppo e l’intero laboratorio di scienza dei dati. E, naturalmente, il suo principale vantaggio consiste nel rendere la distribuzione del modello e il passaggio alla produzione più semplice e sicuro, ad esempio utilizzando la funzionalità di distribuzione integrata e la distribuzione con un clic in produzione. Gli utenti finali eseguirebbero quindi l’applicazione da un client KNIME Analytics Platform o ancora meglio da un browser web.

Ricordate quelle viste composite che offrono viste interattive interconnesse di punti selezionati? Queste diventano pagine Web completamente formate quando l’applicazione viene eseguita su un browser Web tramite il WebPortal del server KNIME. Utilizzando i componenti come punti di contatto all’interno del flusso di lavoro, otteniamo un’applicazione di analisi guidata all’interno del browser web. L’analisi guidata inserisce punti di contatto che l’utente finale può utilizzare all’interno del flusso dell’applicazione su un browser Web. L’utente finale può sfruttare questi touchpoint per inserire conoscenze o preferenze e per indirizzare l’analisi nella direzione desiderata.

Sintesi e conclusioni

Spero di averti convinto sul perché KNIME Analytics Platform è un’ottima scelta come strumento di data science per supportarti nella tua futura carriera come data scientist.

Ricorda solo la facilità d’uso che ti farà risparmiare tempo e ti permetterà di dedicare più del tuo cervello ed energia ad argomenti di ricerca più importanti della semplice programmazione.

Ricorda la scelta open source per il software, con il prezzo e la comunità che ne deriva. L’aiuto della community è particolarmente utile per suggerimenti e trucchi, ad esempio flussi di lavoro, per nuovi nodi ed estensioni e, in generale, per consigli intelligenti.

Ricorda la capacità di debug per verificare la correttezza delle operazioni implementate e ricorda i compiti atomici per tutti i nodi in modo da consentire di sperimentare facilmente diverse strategie di analisi. La prototipazione semplice è infatti una delle migliori caratteristiche di KNIME Analytics Platform, consentendo una rapida valutazione e sperimentazione di nuove tecniche.

L’ampia copertura di algoritmi di apprendimento automatico, tecniche di data wrangling e fonti di dati accessibili rendono KNIME Analytics Platform uno strumento molto affidabile ma facile da usare. Se i nodi e le estensioni native non sono sufficienti, le estensioni della community, le integrazioni con altri linguaggi di scripting e programmazione e l’integrazione con gli strumenti di reporting possono compensare le funzionalità specifiche del dominio mancanti.

Infine, l’utilizzo del server KNIME come complemento alla piattaforma di analisi KNIME per le aziende consente un’implementazione facile e sicura e una perfetta integrazione nell’ambiente IT aziendale.

Con tutti questi argomenti e le loro lunghe descrizioni, spero di averti ormai convinto a scaricare KNIME Analytics Platform e a provarlo!

 

Articolo di Rosaria Silipo

Why KNIME?. From extensive coverage of data science… | by Rosaria Silipo | Low Code for Advanced Data Science | Medium

 

Share:

Contenuti
Torna in alto