Un ambito molto ampio, dove le scelte giuste hanno la loro importanza
È una domanda che mi sento porre spesso: perché usare KNIME? Penso che sia utile chiarire un punto preliminare: l’ambito della Data Science è troppo ampio per essere coperto da un solo strumento. Limitarsi all’utilizzo di un unico tool sarebbe come chiedere a un dentista di effettuare il suo lavoro solo ed esclusivamente con una pinza: non vorreste trovarvi come pazienti sulla sua poltrona!
Quello che consiglio ai data scientist (o apprendisti tali) è costruirsi una cassetta degli attrezzi che includa una selezione di strumenti del mestiere. Sarà l’esperienza con il tempo a chiarire quale strumento utilizzare in quale occasione.
Nel secondo capitolo del mio libro Big Data Analytics parlo di una serie di strumenti utilizzati nella Data Analytics e delle loro caratteristiche (vedi la figura sottostante). Sicuramente KNIME ha il vantaggio di essere molto intuitivo (e quindi facile da utilizzare per chi entra in questo mondo) ed estremamente versatile (sono d’accordo con chi l’ha denominato il coltellino svizzero della Data Science).
KNIME è leader nell’insieme delle sue possibilità
Malgrado la sua completezza, sancita dalla sua riconferma nel 2019 come leader tra le piattaforme di Data Science, KNIME non è certo il migliore strumento sul mercato per ogni singolo aspetto specifico.
Ad esempio, le librerie di Python e del progetto R (seppur integrabili in KNIME) offrono funzionalità ancora più ricche di quanto faccia il repository di nodi KNIME. Anche le visualizzazioni interattive di Power BI, Spotfire e altri tool focalizzati sulla visualizzazione offrono un’esperienza più varia, almeno per il momento.
Un altro aspetto importante da considerare è mantenersi sempre aperti a considerare nuovi strumenti e pronti a rimboccarsi le maniche per mettersi a studiare e imparare come usarli. Il rischio è cadere nella convinzione che, solo perché lo si conosce bene, lo strumento da noi preferito oggi sarà sicuramente sufficiente anche in futuro.
Personalmente posso dirvi che anche solo cinque anni fa utilizzavo strumenti diversi da quelli che uso oggi per l’analisi e la visualizzazione dei dati. Bisogna quindi continuare a rimanere curiosi e guardarsi sempre intorno alla ricerca dello strumento che fa per noi. Ai sostenitori di Python che immaginano sia destinato a rimanere il linguaggio della Data Science mi permetto di ricordare che si pensava lo stesso – seppure in altri ambiti – per il linguaggio C, Java e R…
Una serie di buoni motivi per scegliere KNIME per la Data Science
KNIME è nato nel 2006 nei laboratori dell’Università di Costanza, nella Svizzera tedesca. I suoi primi sviluppatori avevano le idee molto chiare su quello che la piattaforma avrebbe dovuto esprimere: facilità d’uso, interfaccia grafica accattivante, gratuità, espandibilità, modularità; tutte caratteristiche che sonostate mantenute fino ai giorni nostri e che hanno portato KNIME a una crescita veloce e ininterrotta.
Nel 2018 KNIME è stato confermato da Gartner – un’autorità nell’ambito dell’Information Technology – come uno dei cinque leader tra le piattaforme analitiche per la Data Science e il machine learning. Come potete osservare nella prossima figura, KNIME vanta un’invidiabile posizione nel gruppo, sovrastando nomi molto quotati come SAS, IBM, Microsoft e SAP sia in termini di abilità di esecuzione (customer experience, attenzione al prodotto, operations), sia per quanto riguarda la completezza della visione strategica (consapevolezza dei trend di mercato, innovazione, posizionamento).
A livello di curiosità, KNIME è una sorta di acronimo: KN è l’abbreviazione della città natìa, ovvero Costanza. IM sta per Information Mining, mentre i fondatori confessano che la E finale si deve a puri motivi eufonici. La pronuncia fonetica precisa è /naɪm/, simile a knife (il coltello in inglese), con la m al posto della f.
KNIME a confronto con le altre piattaforme per la Data Science
Pur avendo visto quanto KNIME abbia dimostrato di farsi valere tra i grandi, è opportuno mettere a fuoco le sue proprietà e compararle con quelle di altre piattaforme su cui fare analytics. Per fare questo, considereremo sei diverse caratteristiche:
- Data Input/ETL: la facilità di importare flussi di dati, trasformarli armonizzandoli con formati diversi e, infine, esportarli o caricarli su altri sistemi. ETL sta per Extract, Transform, Load. I processi di ETL sono davvero facili e immediati da impostare in KNIME. Quello che in R o Python ci forzerebbe a scrivere più linee di codice, e in Excel ci obbligherebbe a creare macro o applicare una serie di passi manuali come copia/incolla, formule, e riformattazioni, in KNIME si ottiene collegando nodi.
- Machine Learning: l’applicazione di algoritmi intelligenti è il cuore pulsante di una piattaforma analitica. KNIME include nella sua versione base oltre 200 algoritmi di machine learning implementati e configurabili con facilità anche dai non esperti. Sicuramente le librerie di R e Python includono un maggior numero di algoritmi implementati ma, considerando che abbiamo un modo per includere R e Python all’interno dei nostri lavori in KNIME, questo non deve preoccuparci eccessivamente.
- Data Visualization: l’inesorabile conclusione di un lavoro di analisi dei dati è visualizzare l’informazione che essi contengono. Questo non è – almeno per il momento – un punto di forza di KNIME. Per mostrare i risultati del nostro lavoro in KNIME converrà considerare strumenti specifici come Spotfire, PowerBI e Tableau, o il semplice Excel/LibreOffice.
- User friendliness: l’interfaccia di KNIME è intuitiva, semplice da navigare e visivamente attraente, What You See Is What You Get. A differenza di quello che succede programmando in Python, in KNIME scegliere quali passi analitici effettuare e in che ordine vuol dire creare con il mouse una semplice rappresentazione grafica del flusso dei dati e delle trasformazioni o degli algoritmi da applicare.
- Collaboration: chi ha il bisogno (e il piacere) di lavorare in team sa bene quanto sia importante poter condividere con facilità dati, documenti, programmi, codice, risultati intermedi e altro con i propri colleghi. Per KNIME la collaborazione è un evidente punto di forza: i lavori precedenti o parte di essi possono essere modularizzati, esportati, commentati con estrema facilità.
- Community libraries: le funzionalità di KNIME sono un po’ come il nostro universo, in continua espansione. Essendo un applicativo open source, agli sviluppatori di KNIME si sono aggiunti migliaia di programmatori che hanno introdotto funzionalità aggiuntive o migliorato quelle esistenti. Su circa 2,5 milioni di righe di codice, oltre mezzo milione è stato sviluppato dalla comunità che gravita intorno a KNIME. Questa comunità mantiene attivo anche un forum a cui si può fare riferimento per capire come risolvere problemi o chiedere aiuto. R e Python hanno una più ampia libreria di moduli aggiuntivi creati dalla comunità: la buona notizia è che il codice scritto in questi linguaggi può essere integrato al momento del bisogno.
Comparando KNIME con altri strumenti. si capisce che è uno strumento versatile, a tutto tondo, in grado di gestire in completa autonomia la stragrande maggioranza delle esigenze di machine learning, ma anche di essere integrato all’occorrenza da funzionalità aggiuntive avanzate. Queste caratteristiche fanno di KNIME un ottimo strumento con cui iniziare (e anche continuare) a fare analytics a diversi livelli di complessità e completezza.
Il primo strumento per la cassetta degli attrezzi da Data Science
KNIME è indubbiamente una buona base di partenza, ma conviene pensare ai vari strumenti di analytics come agli utensili presenti nella cassetta degli attrezzi di un bravo artigiano.
Essere bravissimi a utilizzare KNIME sarà sufficiente per la gran parte delle nostre esigenze, ma conviene costruire un bagaglio più ampio da cui pescare quando serve. Un bravo professionista in questo ambito costruirà un suo analyst toolkit, basato sulle proprie preferenze, che includerà una serie di strumenti complementari, tra cui ovviamente KNIME.
Questo articolo riprende parti del secondo capitolo di Big Data Analytics.
L'autore
Corsi che potrebbero interessarti
Big Data Executive: business e strategie
Big Data Analytics - Iniziare Bene
Strategie e modelli contrattuali per cedere e acquisire software