HTML CSS JAVASCRIPT SQL MYSQL PYTHON JAVA PHP C C++ C# PACKET TRACER CYBERSECURITY REACTTYPESCRIPTNODE.JSGIT & GITHUBDATA SCIENCEBOOTSTRAPGOKOTLINJQUERYDJANGOVUEANGULAR MONGODB POSTGRESQL SASS NUMPY PANDAS SCIPY DSA RUST SWIFT BASHXMLW3.CSSANGULARJSAIAWSPROGRAMMAZIONEEXCEL WORD POWERPOINT KNIME
Corso gratuito

Corso di KNIME Analytics Platform in italiano

Il tutorial completo per imparare l'analisi dei dati con KNIME, la piattaforma visuale e senza codice: dai workflow e i nodi alla pulizia dei dati, fino ad aggregazioni, join e machine learning di base.

Cos'è KNIME Analytics Platform

KNIME Analytics Platform è un software gratuito e open source per l'analisi dei dati, la data science e il machine learning. La sua caratteristica principale è l'approccio visuale e low-code/no-code: invece di scrivere righe di codice, costruisci il tuo flusso di lavoro trascinando dei blocchi chiamati nodi e collegandoli tra loro.

Con KNIME puoi importare dati da file, database e fonti web, pulirli e trasformarli, combinarli, visualizzarli e applicare algoritmi di machine learning, il tutto in modo ripetibile e documentato. È usatissimo in azienda da analisti e data scientist proprio perché abbatte la barriera della programmazione.

Perché imparare KNIME?

  • Non serve saper programmare: ideale per chi viene da Excel e vuole fare di più.
  • Gratuito e open source: nessuna licenza da pagare per la versione desktop.
  • Riproducibile: un workflow documenta tutti i passaggi dell'analisi, dall'inizio alla fine.
  • Potente e scalabile: dalla semplice pulizia di un CSV fino al machine learning e all'integrazione con Python e R.
📥 Si scarica gratuitamente dal sito ufficiale knime.com. Esiste anche KNIME Business Hub per la collaborazione e il deployment in azienda, ma per imparare basta la piattaforma desktop.

Installare KNIME

Per iniziare, scarica KNIME Analytics Platform da knime.com/downloads, scegliendo la versione per il tuo sistema operativo (Windows, macOS o Linux). L'installazione è guidata e non richiede configurazioni particolari.

Primo avvio: il workspace

Al primo avvio KNIME chiede di scegliere una cartella workspace: è lo spazio sul disco dove verranno salvati i tuoi workflow. Puoi accettare quella predefinita. Da qui in poi tutto il lavoro vive dentro il workspace, organizzato in cartelle e progetti.

💡 KNIME è basato su Eclipse: la prima apertura può richiedere qualche secondo in più. È del tutto normale.

L'interfaccia di KNIME (la Workbench)

La schermata di KNIME, chiamata Workbench, è divisa in alcune aree principali. Conoscerle è il primo passo per orientarsi.

AreaA cosa serve
KNIME ExplorerL'albero dei tuoi workflow e delle cartelle del workspace.
Workflow EditorL'area centrale (la “tela”) dove costruisci il flusso trascinando i nodi.
Node RepositoryIl catalogo di tutti i nodi disponibili, organizzati per categoria e con ricerca.
DescriptionLa documentazione del nodo selezionato: cosa fa e come configurarlo.
Node Monitor / ConsoleAnteprima dei dati in uscita da un nodo e messaggi di esecuzione.
🔎 Se non trovi un'area, riattivala dal menu View → .... Per cercare un nodo, usa la casella di ricerca in cima al Node Repository.

I nodi e i workflow

Il nodo è il mattone fondamentale di KNIME: ogni nodo svolge un singolo compito (leggere un file, filtrare righe, calcolare una colonna, addestrare un modello...). Un workflow è la sequenza di nodi collegati che, insieme, realizzano l'intera analisi.

Anatomia di un nodo

  • Porte di input (a sinistra): ricevono i dati dal nodo precedente.
  • Porte di output (a destra): inviano i risultati al nodo successivo.
  • Semaforo di stato (sotto): indica se il nodo è configurato, pronto o eseguito.

Costruire il primo workflow

  1. Trascina un nodo dal Node Repository sulla tela.
  2. Collega l'output di un nodo all'input del successivo (clicca e trascina dal triangolino).
  3. Configura il nodo con doppio clic (o tasto destro → Configure).
  4. Esegui il nodo con tasto destro → Execute (o F7).
💡 La porta dati standard è un piccolo triangolo nero: rappresenta una tabella. Altre forme/colori indicano modelli, database, immagini, ecc.

Gli stati di un nodo (il semaforo)

Sotto ogni nodo c'è un piccolo semaforo che ne comunica lo stato. Imparare a leggerlo è essenziale per capire a colpo d'occhio cosa sta succedendo nel workflow.

StatoSignificato
🔴 RossoNon configurato: il nodo va impostato prima di poter essere eseguito.
🟡 GialloConfigurato e pronto: il nodo è pronto per l'esecuzione.
🟢 VerdeEseguito: il nodo ha prodotto il suo output, ora disponibile.

Se qualcosa va storto, il nodo mostra un triangolo rosso di errore o un avviso giallo: passandoci sopra con il mouse leggi il messaggio che spiega il problema.

▶️ Per eseguire tutto il workflow in un colpo solo usa il pulsante Execute All (la doppia freccia nella barra in alto) o la scorciatoia Shift + F7.

Leggere i dati: CSV ed Excel

Ogni analisi parte dall'importazione dei dati. KNIME mette a disposizione nodi specifici per ogni formato. I più comuni sono:

  • CSV Reader: per i file di testo separati da virgola/punto e virgola.
  • Excel Reader: per i file .xlsx e .xls.
  • File Reader: lettore generico e configurabile per file di testo.
  • DB nodes: per leggere direttamente dai database (MySQL, PostgreSQL, ecc.).

Nel CSV Reader indichi il percorso del file e KNIME prova a riconoscere automaticamente il separatore, l'intestazione e i tipi di colonna. Puoi correggere tutto nella finestra di configurazione e usare l'anteprima per controllare il risultato.

CSV Reader — impostazioni tipiche
# Esempio di file: vendite.csv
data;prodotto;categoria;quantita;prezzo
2026-01-03;Tastiera;Accessori;5;19.90
2026-01-03;Monitor;Hardware;2;149.00
2026-01-04;Mouse;Accessori;8;9.50

# Nel CSV Reader imposti:
Column Delimiter   = ;        ! il separatore di colonna
Row Delimiter      = \n       ! fine riga
! Spunta "has column header" se la prima riga contiene i nomi
💡 Attenzione ai numeri con la virgola: in Italia usiamo spesso la virgola come separatore decimale. Verifica che la colonna prezzo venga letta come numero (Double) e non come testo.

Le tabelle e i tipi di dato

In KNIME i dati viaggiano sempre sotto forma di tabella (table): righe e colonne, come in Excel. Ogni colonna ha un tipo di dato ben preciso, indicato da un'icona nell'intestazione.

TipoIcona/SiglaEsempio
Numero interoInteger (I)5, 42, -3
Numero decimaleDouble (D)19.90, 3.14
TestoString (S)"Tastiera"
BooleanoBooleantrue / false
Data e oraDate&Time2026-01-03

Ogni riga ha inoltre un identificatore univoco, il RowID. Per vedere i dati prodotti da un nodo eseguito: tasto destro → ultima voce del menu (es. File Table) oppure usa il Node Monitor.

🔧 Se un tipo è sbagliato (es. un numero letto come testo) puoi correggerlo con i nodi String to Number, Number to String o String to Date&Time.

Filtrare le righe: Row Filter

Il nodo Row Filter (e il più recente Row Filter (Labs)) serve a tenere o scartare righe in base a una condizione su una colonna. È l'equivalente del WHERE in SQL o del filtro di Excel.

Nella configurazione scegli la colonna, il criterio (uguale, maggiore di, contiene, intervallo...) e se includere o escludere le righe che lo soddisfano.

Row Filter — esempi di condizione
! Tieni solo le righe della categoria "Accessori"
Column    = categoria
Operator  = equals
Value     = Accessori
Mode      = Include rows

! Tieni solo le righe con quantita maggiore di 4
Column    = quantita
Operator  = greater than
Value     = 4
💡 Per condizioni multiple combinate con AND/OR usa il nodo Row Filter (Labs) oppure il Rule-based Row Filter, che accetta espressioni più complesse.

Selezionare le colonne: Column Filter

Spesso una tabella ha più colonne di quelle che servono. Il nodo Column Filter permette di scegliere quali colonne mantenere ed escludere le altre, semplicemente spostandole tra le liste Include ed Exclude.

Puoi selezionare le colonne manualmente, per tipo (es. solo le numeriche) o con un pattern sul nome (es. tutte quelle che iniziano per “prezzo”). Mantenere solo le colonne utili rende il workflow più leggero e leggibile.

🔄 Nodi “gemelli” utili: Column Rename (rinomina le colonne), Column Resorter (cambia l'ordine) e Constant Value Column (aggiunge una colonna fissa).

Ordinare i dati: Sorter

Il nodo Sorter ordina le righe in base a una o più colonne, in modo crescente o decrescente. Puoi impostare più criteri in cascata: prima per categoria, poi per prezzo, e così via.

Sorter — criteri di ordinamento
! Ordina prima per categoria (A-Z), poi per prezzo (dal più alto)
1) categoria  -> Ascending
2) prezzo     -> Descending
💡 Per estrarre solo le prime N righe (es. i 10 prodotti più costosi) collega dopo il Sorter un nodo Row Filter in modalità “by row number” o il nodo Top k Selector.

Calcolare nuove colonne: Math Formula

Il nodo Math Formula (del pacchetto KNIME Math Expression) calcola una nuova colonna numerica a partire da una formula matematica che usa le altre colonne. È perfetto per ricavare totali, percentuali e indicatori.

Nella formula richiami una colonna scrivendo il suo nome tra $, ad esempio $quantita$. Puoi scegliere se sostituire una colonna esistente o aggiungerne una nuova.

Math Formula — espressione (provala tu)
// Calcola il totale di riga: quantita * prezzo
$quantita$ * $prezzo$

// Applica uno sconto del 10% al totale
($quantita$ * $prezzo$) * 0.90

// Arrotonda a 2 decimali
round(($quantita$ * $prezzo$) * 0.90, 2)
🧮 Funzioni utili: round(), abs(), sqrt(), power(), ln(), min(), max(). Per espressioni più ricche (anche su testo e date) esiste il nodo Column Expressions.

Manipolare il testo: String Manipulation

Il nodo String Manipulation trasforma le colonne testuali con un linguaggio di funzioni simile a quello di Excel: ripulire spazi, unire testi, estrarre porzioni, cambiare maiuscole/minuscole.

String Manipulation — espressione (provala tu)
// Mette in maiuscolo il nome del prodotto
upperCase($prodotto$)

// Unisce categoria e prodotto: "Accessori - Tastiera"
join($categoria$, " - ", $prodotto$)

// Rimuove gli spazi iniziali e finali
strip($prodotto$)

// Estrae i primi 3 caratteri della categoria
substr($categoria$, 0, 3)
💡 Funzioni frequenti: length(), replace(), indexOf(), lowerCase(), capitalize(). Il risultato può sostituire la colonna o crearne una nuova.

Creare categorie: Rule Engine

Il nodo Rule Engine assegna un valore a una nuova colonna in base a una serie di regole valutate dall'alto verso il basso: la prima regola vera “vince”. È lo strumento ideale per creare fasce, etichette e classificazioni (l'equivalente di tanti if/else annidati).

Rule Engine — regole (provala tu)
// Crea una colonna "fascia_prezzo" in base al prezzo
$prezzo$ < 10          => "Economico"
$prezzo$ >= 10 AND $prezzo$ < 100 => "Medio"
$prezzo$ >= 100        => "Premium"
TRUE                   => "Non classificato"
🔀 Varianti utili: Rule-based Row Filter (filtra le righe con le stesse regole) e Rule Engine (Dictionary) (regole lette da una tabella esterna, comode quando sono tante).

La pulizia dei dati

I dati reali sono quasi sempre “sporchi”: valori mancanti, duplicati, scale diverse. KNIME offre nodi dedicati per la data cleaning, una fase cruciale prima di qualsiasi analisi.

NodoCosa fa
Missing ValueGestisce le celle vuote: le elimina, o le sostituisce con media, mediana, valore fisso, ecc.
Duplicate Row FilterTrova e rimuove le righe duplicate.
NormalizerRiporta i valori numerici su una scala comune (es. 0–1 o z-score).
String to NumberConverte testo in numeri (e viceversa) quando il tipo è stato letto male.
Cell SplitterDivide una colonna in più colonne in base a un separatore.
⚠️ La normalizzazione è importante prima del machine learning: algoritmi basati sulle distanze (come K-Means o k-NN) sono sensibili alle diverse scale delle variabili.

Aggregare i dati: GroupBy

Il nodo GroupBy raggruppa le righe in base ai valori di una o più colonne e calcola delle aggregazioni sui gruppi: somma, media, conteggio, minimo, massimo. È l'equivalente del GROUP BY di SQL e delle tabelle pivot.

GroupBy — configurazione concettuale
! Fatturato totale e quantità media per ogni categoria
Group column(s)   : categoria
Aggregation      : totale   -> Sum
                   quantita -> Mean
                   prodotto -> Count

! Risultato:
categoria   | Sum(totale) | Mean(quantita) | Count(prodotto)
Accessori   | 175.50      | 6.5            | 2
Hardware    | 298.00      | 2.0            | 1
📊 Per ottenere una vera tabella pivot (con i gruppi anche sulle colonne) usa il nodo Pivoting, che vedremo più avanti.

Combinare tabelle: Joiner

Il nodo Joiner unisce due tabelle in base a una o più colonne in comune (la chiave di join), proprio come il JOIN di SQL. Serve per arricchire i dati: ad esempio collegare le vendite all'anagrafica dei prodotti.

Tipo di joinCosa restituisce
Inner JoinSolo le righe con corrispondenza in entrambe le tabelle.
Left OuterTutte le righe di sinistra + le corrispondenze di destra.
Right OuterTutte le righe di destra + le corrispondenze di sinistra.
Full OuterTutte le righe di entrambe le tabelle.
💡 Nel Joiner imposti la Joining Column(s) per la tabella Top e Bottom, scegli il tipo di join e quali colonne includere nel risultato.

Impilare tabelle: Concatenate

Mentre il Joiner unisce in orizzontale (affianca colonne), il nodo Concatenate unisce in verticale: impila le righe di due o più tabelle con la stessa struttura. È utile, ad esempio, per unire i file delle vendite di mesi diversi.

🔗 Se le tabelle hanno colonne leggermente diverse, puoi scegliere come gestire le colonne non comuni (intersezione o unione). Il nodo Concatenate (Optional in) accetta più ingressi opzionali.

Le tabelle pivot: Pivoting

Il nodo Pivoting crea una tabella a doppia entrata: scegli una colonna per i gruppi sulle righe, una colonna i cui valori diventano nuove colonne (pivot) e un'aggregazione da calcolare nelle celle. È la tabella pivot di Excel, riprodotta in modo riproducibile.

Pivoting — esempio
! Quantità venduta per categoria (righe) e per data (colonne)
Group column   : categoria
Pivot column   : data
Aggregation    : quantita -> Sum

! Risultato:
categoria  | 2026-01-03 | 2026-01-04
Accessori  | 5          | 8
Hardware   | 2          | 0

Visualizzare i dati

KNIME include numerosi nodi per i grafici interattivi, utili per esplorare i dati e presentare i risultati. La maggior parte apre una vista interattiva con tasto destro → Interactive View.

  • Bar Chart: confronto tra categorie (es. fatturato per categoria).
  • Line Plot: andamenti nel tempo.
  • Scatter Plot: relazione tra due variabili numeriche.
  • Pie/Donut Chart: composizione percentuale.
  • Histogram: distribuzione di una variabile.
📈 Il nodo Data Explorer offre una panoramica statistica automatica di tutte le colonne (min, max, media, valori mancanti, distribuzioni): ottimo come primo sguardo a un dataset nuovo.

Esportare i risultati

Una volta elaborati i dati, li salvi con i nodi Writer, speculari ai Reader visti all'inizio.

NodoOutput
CSV WriterFile di testo .csv
Excel WriterFoglio di calcolo .xlsx
Table WriterFormato nativo KNIME .table (mantiene tipi e metadati)
DB WriterScrive in una tabella di database
💡 Per i report eleganti pronti da condividere esistono i nodi del pacchetto Reporting e l'esportazione in PDF.

Le flow variables

Le flow variables (variabili di flusso) rendono i workflow dinamici e riutilizzabili: invece di scrivere a mano un percorso o un valore dentro un nodo, lo passi tramite una variabile. Così cambi un solo punto e tutto il flusso si adatta.

Tipici usi: il percorso di una cartella di input, una soglia di filtro, l'anno da analizzare. Le crei con nodi come String Configuration, Integer Input o il nodo Table Row to Variable, e le “agganci” ai parametri dei nodi dal pannello Flow Variables.

⚙️ Le flow variables sono la base per costruire i cicli (Loop Start / Loop End), che ripetono un blocco di nodi su più file o gruppi di dati.

Componenti e metanodi

Man mano che il workflow cresce, conviene organizzarlo. KNIME offre due strumenti per raggruppare più nodi in un unico blocco:

  • Metanodo: una “scatola” che racchiude un gruppo di nodi per tenere la tela ordinata. È trasparente: le variabili passano liberamente.
  • Componente: come un metanodo ma incapsulato, con una sua configurazione e una sua vista. È riutilizzabile e condivisibile, quasi come un nodo personalizzato che crei tu.
💡 Seleziona alcuni nodi → tasto destro → Create Metanode o Create Component. I componenti possono essere salvati nel KNIME Hub e riusati in altri progetti.

Un primo modello di machine learning

KNIME permette di costruire modelli predittivi senza scrivere codice. Lo schema base di un progetto di classificazione supervisionata segue sempre gli stessi passi.

  1. Partitioning: dividi i dati in training set (per addestrare) e test set (per valutare), ad esempio 80% / 20%.
  2. Learner: addestra il modello sul training set (es. Decision Tree Learner).
  3. Predictor: applica il modello al test set per ottenere le previsioni (es. Decision Tree Predictor).
  4. Scorer: confronta previsioni e valori reali e calcola l'accuratezza e la matrice di confusione.
Lo schema “Learner–Predictor”
! Flusso tipico di classificazione
Reader -> Partitioning ┬─(train)─> Decision Tree Learner ─┐
                       │                                  ▼
                       └─(test)──>  Decision Tree Predictor ─> Scorer
🤖 KNIME include moltissimi algoritmi pronti: alberi decisionali, Random Forest, regressione logistica e lineare, k-Means (clustering), k-NN e altri. La logica Learner–Predictor–Scorer resta sempre la stessa.

Complimenti! 🎉 Hai completato il corso base di KNIME

Hai imparato a muoverti nella Workbench, a costruire workflow con i nodi, a leggere e pulire i dati, a trasformarli con Math Formula, String Manipulation e Rule Engine, ad aggregarli e combinarli con GroupBy, Joiner e Pivoting, a visualizzarli, esportarli e perfino ad addestrare un primo modello di machine learning, il tutto senza scrivere una riga di codice.

Il modo migliore per consolidare è costruire i tuoi workflow su dati veri e sperimentare. Se prepari un esame di data analysis o vuoi un percorso guidato su KNIME, posso seguirti con le ripetizioni online e in presenza a Roma.

🎯 La tua sfida

Parti da un file CSV di vendite: leggilo, calcola con Math Formula il totale di riga (quantità × prezzo), aggiungi con Rule Engine una fascia di prezzo, aggrega il fatturato per categoria con GroupBy e visualizzalo con un Bar Chart. Tutto in un unico workflow.

✏️ Provalo tu — leggi e modifica l'espressione del nodo
Anteprima