
Chi sono, cosa faccio, perché ho deciso di condividere questo corso su KNIME.
Introduzione al corso KNIME Analytics Platform per data scientists.
Sommario degli argomenti.
In questa lezione imparerete come scaricare KNIME Analytics Platform e come installarlo su Windows 10.
In questa lezione imparerete ad installare una Extension in KNIME Analytics Platform.
In questa lezione imparerete cos'è il Workbench e quali sono le funzioni presenti in ogni suo frame.
In questa lezione imparerete cosa è la Welcome Page, all'interno del Workbench, e come accedere a KNIME Hub da KNIME Analytics Platform.
In questa lezione imparerete a cosa servono i frame Workflow Editor e Node Explorer all'interno del Workbench.
In questa lezione imparerete a modificare alcuni aspetti grafici del Workflow Editor e a come renderli permanenti in tutti i nuovi Workflow.
In questa lezione imparerete cosa sono i mountpoint, come copiare un Workflow da EXAMPLES a LOCAL e come funziona lo spazio personale su KNIME Hub.
In questa lezione imparerete a cosa servono le finestre Outline e Description
In questa lezione imparerete a cosa serve la finesta di Console, all'interno del Workbench.
In questa lezione imparerete come funziona la gerarchia dei nodi in Node Explorer.
In questa lezione imparerete come muovervi all'interno del mountpoint EXAMPLES, come cercare una risorsa su KNIME Hub e come importare un Workflow da KNIME Hub per poterlo modificare.
In questa lezione imparerete a creare un Workflow Group e un Workflow.
In questa lezione imparerete cos'è un Workflow, quali sono gli stati dei nodi e cosa indichino.
In questa lezione imparerete come inserire un commento in un nodo e come creare una annotazione per rendere più leggibile il vostro Workflow.
In questa lezione imparerete come sono strutturati i dati in KNIME, cosa sono i Missing Values, come modificare l'ordinamento o la visualizzazione delle colonne in una vista di dati.
In questa lezione imparerete ad esportare ed importare un Workflow o un Workflow Group.
In questa lezione imparerete come utilizzare i nodi di reading e di writing e come accedere ad una risorsa su Amazon S3 o su Google Cloud
In questa lezione imparerete come configurare il nodo CSV Reader per leggere i vostri dati.
In questa lezione imparerete com usare il nodo Table Reader per leggere dataset salvati in questo formato proprietario di KNIME.
In questa lezione imparerete come configurare il nodo Excel Reader per leggere files con estensione .xls e .xlsx
In questa lezione imparerete come collegarvi ad un database SQLite tramite i nodi SQLite Connector, DB Table Selector e DB Reader.
In questa lezione imparerete ad usare il nodo Row Filter e tutte le sue caratteristiche.
Questa lezione è il seguito della precedente e tratterà altre opzioni del nodo Row Filter
In questa lezione imparerete ad usare il nodo Column Filter per escludere o includere nei vostri Workflow, le colonne che desiderate.
Anche questo nodo fa parte degli strumenti di ETL di cui non si può fare a meno.
In questa lezione imparerete ad usare i nodo Rule Engine, Math Formula, String Manipulation che vi permetteranno di manipolare i dati utilizzando alcune funzioni avanzate.
Questa è la continuazione della lezione precedente, in cui termineremo la trattazione dei nodi Rule Engine, Math Formula, String Manipulation
In questa lezione imparerete come usare il nodo Column Expression che può sostituire egregiamente i nodi Rule Engine, String Manipulation e Math Formula.
In questa lezione imparerete cos'è l'aggregazione e come è possibile svolgerla col nodo GroupBy
In questa lezione imparerete ad effettuare operazioni di aggregazione utilizzando il nodo GroupBy. Saranno mostrati diversi esempi, reperibili su KNIME Hub, che saranno utili per il vostro lavoro di data scientists.
In questa lezione, che è la continuazione della precedente, imparerete come eseguire ulteriori operazioni di aggregazione utilizzando il nodo GroupBy.
Saranno mostrati diversi esempi, reperibili su KNIME Hub, che saranno utili per il vostro lavoro di data scientists.
In questa lezione apprenderete come costruire una tabella pivot utilizzando le funzioni di aggregazione.
In questa lezione, che è la continuazione della precedente, imparerete a creare altre tabelle Pivot, utilizzando il nodo Pivoting.
In questa lezione imparerete ad utilizzare la funzione di Join e le varie modalità disponibili.
Nella successive, vedremo come effettuare queste operazioni tramite il nodo Joiner di KNIME Analytics Platform.
In questo lezione imparerete a configurare il nodo Joiner per eseguire una Left Outer Join, una Right Outer Join e una Full Outer Join.
In questa lezione imparerete ad usare altri aspetti della configurazione del nodo Joiner che potrebbero tornarvi utili nel vostro lavoto di Data Scientists.
In questa lezione imparerete ad usare il nodo Concatenate, che permette di unire due dataset.
In questa lezione imparerete ad usare i Metanodes e i Components per migliorare la leggibilità dei vostri Workflow o per condividere un Workflow che esegue una funzionalità che pensate di riutilizzare nel futuro o intendete rendere pubblica.
In questa lezione imparerete ad esplorare il vostro dataset per capire che dati contiene, quali siano le colonne col maggior numero di missing values o i valori minimo, massimo, media e altro per le colonne numeriche o la frequenza dei termini nelle colonne nominali.
Tutto questo sarà possibile utilizzando il nodo Data Explorer.
In questa lezione imparerete ad usare il nodo Scatter Plot interattivo, che permette di visualizzare il rapporto tra due variabili di un dataset per potere effettuare l'analisi esplorativa visuale dei dati.
In questa lezione vedrete come comporre una dashboard interattiva utilizzando i nodi di visualizzazione presenti su KNIME Analytics Platform e alcuni widget.
In questa lezione imparerete come costruire un processo di data mining, come preparare i dati, effettuare il partizionamento (e perché), a cosa servono il training e il testing e, infine, la validazione di un modello di data mining.
In questa lezione imparerete a cosa servono i nodi di Learner e di Predictor e come si possono utilizzare nei Workflow di data mining.
In questa lezione imparerete come svolgere la classificazione dei dati di un dataset, utilizzando l'algoritmo Decision Tree. In particolare, qui, verranno spiegati i nodi necessari per il caricamento dei dati e il preprocessing, mentre nelle successive analizzeremo il nodo di Learning e di Predictor e, infine, i nodi per la validazione del Workflow che abbiamo creato.
In questa lezione imparerete com configurare i nodi Decision Tree Learner, Decision Tree Predictor e PMML Writer. Capirete come funzione l'algoritmo Decision Tree e come salvare il modello generato dopo la fase di training per mezzo del nodo PMML Writer, per poterlo condividere o utilizzarlo in produzione per poter classificare i vostri dataset.
In questa lezione imparerete ad usare i nodi Scorer ed ROC Curve per valutare i vostri modelli di classificazione.
In questa lezione imparerete come utilizzare un modello generato da un Workflow di data mining in un contesto produttivo in cui si voglia applicarlo ai propri dati per effettuare una predizione.
Il caso che analizzeremo è relativo alla determinazione della probabilità di churn di un cliente di un operatore di telecomunicazioni.
In questa lezione vedremo come applicare l'algoritmo di Regressione lineare utilizzando i nodi Linear Regression Learner e Regression Predictor in KNIME Analytics Platform.
Utilizzeremo anche il nodo Missing Values per gestire la presenza di valori mancanti nel dataset e, infine, useremo il nodo Scatter Plot per analizzare le due grandezze, variabile dipendente e indipendente, con le quali intendiamo addestrare il modello di learning.
In questa lezione imparerete come si configurano i nodi Linear Regression Learner e Regression Predictor e come si valuta il modello con il nodo Numeric Scorer.
Infine vedremo, sulla base dei risultati della valutazione precedente, come migliorare il modello.
In questa lezione imparerete ad usare i nodi Logistic Regression Learner e Logistic Regression Predictor per risolvere un problema di classificazione, in maniera analoga a quella vista nell'esempio che utilizzava l'algoritmo Decision Tree.
Farete conoscenza anche del nodo Normalizer, che è indispensabile per applicare l'algoritmo di Regressione Logistica e, vedremo più avanti, per il Clustering.
In questa lezione imparerete che gli algoritmi Decision Tree e Logistic Regression possono essere applicati nella risoluzione dei medesimi problemi, con risultati paragonabili.
Verrà, infatti, risolto il problema di classificazione che avevamo presentato nella lezione precedente, usando stavolta l'algorirmo Decision Tree.
Verrà anche introdotto il nodo Decision Tree View, che permette la struttura del modello generato dal Learner.
Infine verrà introdotto il nodo Scorer (JavaScript), che permette di avere, in un solo posto, tutti i dati che sul nodo Scorer sono disponibili su viste diverse e come si può interagire con la vista che esso presenta.
In questa lezione imparerete le applicazioni degli algoritmi di Clustering, le differenza rispetto agli algoritmi di classificazione supervisionati e il funzionamento dell'algoritmo K-Means.
In questa lezione imparerete come usare il nodo K-Means in KNIME per risolvere un problema di classificazione non supervisionata.
Verrà utilizzato il dataset IRIS e il nostro Workflow cercherà di associare, per ogni misurazione di Iris presente nel dataset, la corretta specie.
Incontrerete anche il nodo Shape Manager e lo Scatter Plot (JFreeChart) che vi permetteranno di avere una visualizzazione più immediata dei cluster generati tramite K-Means.
In questa lezione imparerete come utilizzare il modello generato dal nodo K-Means dopo un addestramento, per applicarlo ad un dataset diverso e associare, alle caratteristiche, il cluster più appropriato.
Utilizzeremo il modello generato nell'esempio della lezione precedente e un diverso dataset di Iris.
In questa lezione imparerete a creare una istanza di SQLite sulla vostra macchina, a creare una tabella col nodo DB Writer in cui scrivere il contenuto di un file CSV.
Imparerete anche ad eseguire delle Query usando e il linguaggio SQL sui nodi DB Table Selector e ad estrarre il risultato con il nodo DB Table Reader.
In questa lezione imparerete a configurare i nodi TABLE Writer, EXCEL Writer e CSV Writer per salvare i dataset delle vostre elaborazioni.
In questa lezione imparerete a cosa serve il framework BIRT, incluso in KNIME e come collegare gli output dei propri workflow per mezzo dei nodi Data to Report e Data to Image.
In questa lezione vedremo come scaricare e installare la versione 5.1 di KNIME Analytics Platform
In questa lezione vedremo la nuova UI/UX, chiamata anche Modern UI, impareremo dove si trovano i nostri workflows e workflow group, come possiamo installare le estensioni, aggiornare KNIME e come passare dalla Modern UI alla Classic User Interface.
In questa lezione vedremo come accedere al panel delle preferences e come questo sia stato ottimizzato per semplificare la vita degli aspiranti data analyst
In questa lezione vedremo la nuova UI di KNIME 5.1 ed in particolare, lo Space explorer e il Node repository, con la sua nuova organizzazione e la nuova funzionalità di node raccomandation detta Quick node adding, che permette di ricevere suggerimenti in linea sui nodi compatibili e più utilizzati rispetto a quello selezionato.
Faremo conoscenza anche della finestra Node Monitor, che ci dà la possibilità di effettuare una veloce indagine esplorativa sui dati e la funzione Statistics che è stata integrata nel Node monitor per verificare, a colpo d'occhio, se i dati che stiamo elaborando siano coerenti per il nostro lavoro di mining o di analisi dati dati.
In questa lezione vedremo nuovamente il Node monitor e altre sue peculiarità e scopriremo la funzione Execute and open view che è stata integrata nei nodi di visualizzazione direttamente tra le scorciatoie disponibili per tutti i nodi e di cui abbiamo parlato in una lezione precedente.
In questa lezione faremo la conoscenza dell'estensione K-AI o KNIME AI Assistant.
Si tratta di una caratteristica innovativa introdotta nella versione KNIME 5.1, che utilizza un modello di LLM, come quello di chatGPT, addestrato sull'applicativo, che si pone l'obiettivo di dare supporto ai novizi che non lo hanno mai usato e che intendono costruire un workflow per risolvere qualche loro problema di data analysis o data mining.
È una funzionalità al momento molto acerba ma funzionante, sicuramente da conoscere e provare.
Può essere d'aiuto anche per suggerirci quale nodo risolva una certa funzione e di cui non ricordiamo il nome...
In questa sezione verrà trattata una raccolta strutturata di esempi pratici di utilizzo della piattaforma KNIME Analytics Platform, elaborata a partire dai workflows presenti nel folder Examples sul sito https://hub.knime.com.
Lo scopo è quello di dimostrare come l’analisi dei dati e le tecniche di machine learning possano essere integrate nei processi decisionali aziendali.
Obiettivi della sezione
Dimostrare la versatilità di KNIME attraverso soluzioni scalabili per diversi settori, come finanza, marketing, manifattura e logistica.
Guidare l'utente nell'implementazione pratica di modelli analitici, dalla preparazione dei dati alla fase di deployment.
Fornire casi d'uso concreti che mostrano come l’automazione e l’integrazione possano ottimizzare i flussi di lavoro aziendali.
Promuovere l’adozione di tecniche avanzate di data mining e predictive analytics per migliorare la gestione operativa e strategica.
In questa lezione, introdurremo l'elenco dei casi che verranno trattati nella sezione.
I casi (il cui nome è stato volutamente mantenuto in inglese, perché con tale nome sono conosciuti in letteratura), saranno i seguenti:
Credit scoring: vedremo, nei panni di un impiegato di una banca, come valutare l'affidabilità di un cliente che chiede un prestito, sulla base di alcune informazioni anagrafiche e contabili relativi ai precedenti rapporti finanziari.
Churn analysis: nei panni di un operatore di telecomunicazioni, impareremo come predire la probabilità di abbandono di un cliente
Market basket analysis: siamo i gestori di un supermercato e ci interessa sapere, ogni volta che un cliente compra un certo tipo di articoli, qual è l'articolo che più spesso si trovano ad acquistare altri clienti nelle sue condizioni. Questa esigenze risponde alla regola: 'Se hai questo nel carrello, allora devi avere anche questo..."
Fraud detection: stavolta vedremo due approcci differenti che sono richiesti dalla natura del problema che vogliamo risolvere; in alcuni casi, infatti, potremo contare su osservazioni che possiamo etichettare come anomalie, perché fanno parte del nostro dataset, mentre in altri non sappiamo che caratteristiche queste possano avere, ma sappiamo come distinguerle dalle osservazioni normali. Il dataset che utilizzeremo è relativo ad un gestore di carte di credito che è interessato a evidenziare le transazioni fraudolente...
Time series: la predizione di una grandezza che evolve nel tempo è sempre stato un tema affascinante. Adesso, con gli strumenti di machine learning (e con KNIME Analytics Platform), abbiamo la possibilità di riuscire, anche noi a realizzare questo scopo. Il dataset che useremo è relativo ai consumi energetici dell'Irlanda, in un periodo specificato e vedremo come predire i consumi di alcuni cluster di clienti (volutamente si approccerà la tecnica utilizzando alcune semplificazioni, ad esempio, non verrà tenuto conto della stagionalità. Ricordiamo che, dopotutto, questo è un corso base...)
Inventory optimization: la gestione della logistica, in alcuni tipi di business è cruciale per il successo di una azienda. In questo esempio vedremo come possiamo, anche in questo caso, approcciare il tutto utilizzando KNIME
Anomaly detection: stavolta vedremo un caso particolare di rilevamento di una anomalia, che scaturisce dall'analisi delle misure di alcuni sensori montati su un motore elettrico che ci permetteranno, in ottica preventiva, di individuare il momento esatto in cui sta per iniziare una deriva del suo funzionamento che lo porterà, inevitabilmente, alla rottura.
Reccomendation engine: questa tecnica di machine learning è pervasiva e la vediamo utilizzata su molti siti di e-commerce e piattaforme di streaming (non facciamo nomi). L'esempio che vedremo ci permetterà di raccomandare a un utente, alcuni titoli di film sulla base di alcune preferenze che ha espresso.
Customer Segmentation: questa tecnica permette di creare dei clusters dei clienti di una azienda sulla base delle loro caratteristiche demografiche, di consumo e di interazione con la stessa. È una attività che può essere eseguita con diversi approcci, ma noi analizzeremo una implementazione con k-Means e punteggio silhouette, utilizzando un dataset da cui ricaveremo cinque tipologie di clienti su cui cucire la nostre offerte commerciali.
Credit Scoring: Valutazione dell’Affidabilità Creditizia
Modello di Machine Learning:
Questo modello è progettato per prevedere se un richiedente otterrà un prestito basandosi su dati storici. KNIME permette di costruire flussi di lavoro visivi per l’analisi dei dati, rendendo il processo di modellazione più intuitivo.
Ottimizzazione della Soglia:
La soglia di classificazione è il valore che determina il punto in cui il modello decide tra due classi (ad esempio, concedere o non concedere un prestito). Ottimizzare questa soglia è cruciale per bilanciare la precisione del modello e minimizzare i costi associati agli errori di classificazione. Ad esempio, un errore di tipo I (falso positivo) potrebbe significare concedere un prestito a qualcuno che non lo ripagherà, mentre un errore di tipo II (falso negativo) potrebbe significare rifiutare un prestito a qualcuno che lo ripagherebbe.
Dataset Utilizzato:
Il German Credit Data Set è un dataset comunemente utilizzato per problemi di classificazione binaria. Contiene informazioni su 1000 richiedenti prestiti, inclusi dettagli come lo stato civile, l’occupazione, il reddito, e la storia creditizia. Questi dati vengono utilizzati per addestrare il modello a riconoscere pattern che indicano la probabilità che il cliente restituisca il prestito.
Valutazione del Modello:
La matrice di confusione è uno strumento che permette di visualizzare le prestazioni del modello di classificazione. Mostra il numero di veri positivi, falsi positivi, veri negativi e falsi negativi. Questo aiuta a comprendere meglio dove il modello sta commettendo errori. Inoltre, è importante considerare i costi e i profitti delle decisioni prese dal modello, per assicurarsi che l’implementazione del modello sia economicamente vantaggiosa.
In questa lezione vedremo nel dettaglio il workflow che metterà in atto le informazioni teoriche di cui abbiamo parlato nella lezione precedente.
In questa lezione, utilizzeremo il modello generato e salvato nel workflow di addestramento per effettuare l'operazione di deployment, cioè quando il modello viene utilizzato, fattivamente, per mettere in pratica quello che ha imparato dall'addestramento iniziale.
In questa lezione vedremo una analisi molto cara alle aziende, in particolare agli operatori di telecomunicazioni.
L'analisi riguarderà la predizione del Churn, cioè l'abbandono dei clienti.
Analizzeremo, nell'ordine:
1. Previsione dell'abbandono dei clienti
- Vedremo una soluzione di machine learning (ML) low-code per prevedere l'abbandono dei clienti, utilizzando flussi di lavoro di training e distribuzione.
- L'applicazione è costituita da due flussi di lavoro: uno per l'addestramento del modello e uno per la distribuzione del modello addestrato.
2. Dati dei clienti
- I dati utilizzati includono informazioni demografiche (età, sesso), ricavi (volume delle vendite), percezioni (gradimento del marchio) e comportamenti (frequenza di acquisto).
- Viene utilizzato un set di dati simulato per i clienti delle telecomunicazioni, disponibile tramite Kaggle.
3. Preparazione ed esplorazione dei dati:
- Il flusso di lavoro di training inizia con la lettura e l'unione dei dati dai file XLS e CSV.
- La colonna "Churn" viene convertita in tipo stringa per soddisfare i requisiti dell'algoritmo di classificazione.
- Viene esplorato il set di dati tramite grafici visivi e statistiche di base.
- Per risolvere lo squilibrio di classe, viene utilizzato il nodo SMOTE per sovracampionare la classe di minoranza.
4. Formazione e test dell'algoritmo di predizione:
- Viene utilizzato l'algoritmo Random Forest per addestrare il modello, con una convalida incrociata di 5 volte per valutare la qualità del modello.
- Il nodo Scorer confronta le previsioni con i valori originali del set di dati e valuta la qualità del modello utilizzando metriche come accuratezza, precisione, richiamo, F1 e Kappa di Cohen.
5. Distribuzione del modello:
- Una volta addestrato, il modello viene applicato ai nuovi dati dei clienti per prevedere il rischio di abbandono.
- Il flusso di lavoro di distribuzione applica il modello ai nuovi dati e produce una dashboard interattiva per visualizzare i risultati.
Note: questa lezione è tratta da: Villaroel Ordenes & R. Silipo, “Machine learning for marketing on the KNIME Hub: The development of a live repository for marketing applications”, Journal of Business Research 137(1):393-410, DOI: 10.1016/j.jbusres.2021.08.036.
In questa lezione analizzeremo il workflow di training per il dataset di Churn disponibile, verificando alcune metriche e il loro miglioramento dopo l'utilizzo del nodo SMOTE. Vedremo anche l'utilizzo del grafico ROC Curve, a supporto delle metriche di validazione.
In questa lezione analizzeremo il workflow di deployment, tramite il quale potremo applicare il modello generato nella lezione precedente a dei nuovi numeri per verificare la probabilità di abbandono dell'operatore telefonico.
In questa lezione studieremo una tecnica di machine learning, utilizzata nella vendita al dettaglio, ma anche in altri contesti, che prende il nome di "Market Basket analysis".
L'analisi verrà affrontata utilizzando due workflow: uno per la generazione del modello (regole) per creare delle associazione tra gli articoli presenti in un generico carrello, l'altro per applicare queste regole ad un generico articolo nel carrello per suggerire quali altri articoli potrebbero essere comprati assieme.
Per la fase di creazione del modello, i punti principali da considerare sono:
Obiettivo dell'analisi: L'obiettivo principale dell'analisi del carrello della spesa è produrre un insieme di regole di associazione del tipo: "SE {pasta, vino, aglio} ALLORA salsa di pomodoro". La parte "SE" è chiamata "antecedente" e la parte "ALLORA" è chiamata "conseguente". Alcune misure, come supporto, confidenza e lift, definiscono l'affidabilità di ciascuna regola.
Algoritmo utilizzato: L'algoritmo più famoso per generare queste regole è l'algoritmo Apriori. Questo algoritmo può essere implementato in due modi: tradizionale o Borgelt. Quest'ultimo offre miglioramenti nelle prestazioni.
Dataset: Il dataset utilizzato è generato artificialmente e consiste in due tabelle KNIME: una contenente i dati delle transazioni (sequenze di ID prodotto nei carrelli immaginari) e una contenente le informazioni sui prodotti (nome e prezzo).
Costruzione delle regole di associazione: Il nodo centrale per costruire un motore di raccomandazione è il nodo Association Rule Learner, che implementa l'algoritmo Apriori. Le regole di associazione includono un insieme di ID prodotto come antecedente, un ID prodotto come conseguente e alcune metriche di qualità come supporto, confidenza e lift. È possibile regolare la dimensione del motore di regole di associazione modificando i valori di soglia nelle impostazioni di configurazione del nodo.
Per la fase in cui applichiamo il modello ad un articolo presente nel carrello, osserviamo quanto segue:
Implementazione delle regole di associazione in produzione: Per utilizzare le regole di associazione in un ambiente produttivo, si utilizza il nodo Subset Matcher. Questo nodo confronta il contenuto del carrello attuale con tutti i sottoinsiemi negli antecedenti delle regole. Solo le regole con il supporto, la confidenza e il potenziale di ricavo più alti vengono mantenute e i loro conseguenti vengono mostrati come raccomandazioni di acquisto.
In questa lezione analizzeremo il workflow di analisi delle transazioni presenti in un dataset generato artificialmente, allo scopo di creare le regole di associazione tra antecedent e consequent, che nel workflow di deployment ci consentirà di suggerire articoli non presenti nel carrello e col maggior ricavo per l'azienda.
In questa lezione vedremo come, applicando le regole generate col workflow della lezione precedente, possiamo suggerire agli acquirenti gli articoli che non possono mancare nel loro carello!
In questa lezione analizzeremo due tecniche di machine learning che possono aiutarci nella rilevazione delle frodi, un problema cruciale per le aziende e le banche che emettono carte di credito, perché è causa di mancati introiti per miliardi di dollari annui.
Esistono diversi approcci, ma noi ne vedremo due, in ragione del numero di scenari possibili:
Scenario 1, dataset con esempi di frodi: utilizzeremo le tecniche di machine learning supervisionato, come Random Forest. L'esempio che studieremo include la preparazione dei dati, l'addestramento del modello, la valutazione e l'ottimizzazione.
Scenario 2, dataset senza esempi di frodi: utilizzeremo le tecniche di rilevamento delle anomalie, come una rete Neural Autoencoder, con lo scopo di rilevare le anomalie rispetto al comportamento normale che la rete ha appreso. Anche in questo caso, il nostro esempio include la preparazione dei dati, l'addestramento del modello, la valutazione e l'ottimizzazione.
In questa lezione analizzeremo il workflow di training per lo scenario 1, cioè quello relativo alla predizione delle osservazioni fraudolente utilizzando la classificazione supervisionata.
In questa lezione analizzeremo il workflow di deployment per lo scenario 1, andando a leggere il modello creato nel workflow di training e applicandolo a dei dati non classificati.
In questa lezione analizzeremo il workflow relativo allo scenario 2, che utilizza una rete neurale autoencoder per determinare se una osservazione è una transazione normale o fraudolenta.
Vedremo la configurazione della rete neurale e dei nodi di learning e predictor. Vedremo anche come sia possibile trovare il migliore threshold per poter riconoscere il maggior numero di osservazioni di interesse attraverso la procedura di optimization.
In questa lezione continuerà l'analisi del workflow utilizzato nella lezione precedente.
In questa lezione prenderemo spunto dal whitepaper KNIME su Big Data, Smart Energy e Predictive Analytics, disponibile nei link delle risorse, che tratta della previsione delle serie temporali dei dati energetici registrati da contatori intelligenti. I punti principali di questo studio sono:
Introduzione ai Big Data e all'Energia Intelligente: Il documento discute l'importanza dei Big Data nell'analisi dei dati energetici e come questi possono essere utilizzati per migliorare l'efficienza energetica.
Prove Energetiche Irlandesi: Viene descritto uno studio basato sulle prove energetiche irlandesi, che coinvolge l'analisi dei dati dei contatori intelligenti di oltre 5000 case e aziende.
Approccio all'Analisi: descrive l'approccio utilizzato per importare, trasformare e analizzare i dati dei contatori intelligenti. Questo include la lettura dei dati, la trasformazione dei formati di data e ora proprietari e l'aggregazione dei dati a diverse scale temporali
Clustering dei Contatori: Utilizzando l'algoritmo k-Means, i contatori con comportamenti simili vengono raggruppati in cluster. Questo aiuta a identificare modelli di consumo energetico e a prevedere l'uso futuro dell'energia (il workflow che vedremo utilizza la base di dati elaborata a questo punto)
Previsione delle Serie Temporali: Il documento esplora vari metodi di previsione delle serie temporali, inclusi modelli autoregressivi e di regressione polinomiale, per prevedere il consumo energetico futuro basato sui dati storici (il workflow che vedremo utilizzerà una semplice regressione lineare, invece dei metodi più elaborati descritti nel documento)
In questa lezione analizzeremo un workflow che ci permetterà di predire una grandezza che varia nel tempo.
Ci sarà molto utile il nodo Lag Column, che permette di creare delle copie del contenuto di una colonna, effettuando uno shift selezionabile, oppure di creare delle colonne, affiancate a quelle della grandezza originale, che contengono un qualsiasi numeri di valori antecedenti.
Il nodo Lag Column è fondamentale in analisi di questo tipo.
In questa lezione continueremo l'analisi del workflow, iniziata nella lezione precedente.
In questa lezione vedremo come utilizzare KNIME Analytics Platform nell'ambito del supply chain e nella logistica. Questa, prende spunto da un articolo, il cui link si trova nelle risorse, che presenta quattro soluzioni e relativi workflow:
Valutazione dell'inventario: L'ottimizzazione dell'inventario è cruciale per evitare interruzioni nella supply chain. KNIME offre un dashboard per monitorare le tendenze della valutazione dell'inventario, aiutando a bilanciare gli SKU in movimento rapido e lento, critici e non critici, di alto e basso valore, e con tempi di consegna lunghi e brevi.
Analisi delle rotture di stock: La gestione delle rotture di stock è essenziale per evitare la perdita di clienti. KNIME consente di analizzare le cause principali delle rotture di stock attraverso grafici interattivi, permettendo agli utenti di visualizzare le tendenze e prevenire future rotture.
Visualizzazione dei tempi di ciclo: I tempi di ciclo sono fondamentali per la gestione dei fornitori, delle consegne e dell'evasione degli ordini. KNIME offre un'applicazione dati per monitorare e tracciare i tempi di ciclo, identificando i principali colli di bottiglia.
Analisi ABC: L'analisi ABC classifica gli articoli in categorie A, B e C in base alla loro importanza nelle vendite. KNIME implementa questa analisi con due approcci: classificazione di base e classificazione basata sull'incertezza della domanda (analisi XYZ), aiutando a prendere decisioni migliori sull'inventario
Analizziamo il primo dei Workflow che ci permetterà di effettuare la valutazione dell'inventario in una serie di ipotetici magazzini, per visualizzare, tramite una dashboard, l'andamento nei mesi e quando viene superato un KPI che abbiamo definito. Vedremo anche una sua implementazione come web app su KNIME Server (nelle risorse trovate il link)
Analizziamo il workflow che ci consentirà di monitorare l'andamento degli stocks ed evitare la rottura. Anche questo utilizzerà una dashboard dove sarà possibile selezionare, l'anno, il magazzino, la tipologia di SKU. Nelle risorse potete trovare l'equivalente web app generata a partire dal workflow analizzato.
In questa lezione analizzeremo il workflow che ci permetterà di monitorare e calcolare i tempi di cycle time per il processo PR-PO e PO-WH. Potremmo confrontare le informazioni di diversi dipartimenti e verificare quali fasi del processo siano più lunghe e quali dipartimenti siano interessati.
Seconda parte dell'analisi del workflow per l'elaborazione del cycle time.
In questa lezione vedremo come calcolare le categorie ABC e i criteri XYZ per le vendite di una serie di articoli contenuti in un dataset.
In questa lezione analizzeremo un workflow che è un approccio naive per il calcolo delle categorie ABC. Il dataset è identico a quello della lezione precedente e per una buona porzione, il workflow ha molti punti in comune.
Prevedere un guasto prima che questo si verifichi può ridurre i tempi di fermo necessari ad effettuare una manutenzione straordinaria e anche il fermo delle attività produttive. In questa lezione vedremo un caso di utilizzo di alcune tecniche di machine learning per determinare l'anomalia di un motore elettrico sulla base delle misure di alcuni suoi sensori.
Verranno trattati i seguenti argomenti:
Pre-elaborazione dei Dati: Allineamento temporale e aggregazione di dati registrati da sensori.
Training Modelli AR: Utilizzo di modelli autoregressivi per rilevare anomalie.
Visualizzazioni Interattive: Creazione di heatmap e grafici per l'analisi.
In questa lezione vedremo come è possibile svolgere un'analisi esplorativa dei dati per carpire informazioni essenziali per le analisi successive. Utilizzeremo diversi component, che implementeranno differenti viste e rappresentazioni grafiche dei dati a nostra disposizione.
In questa lezione analizzeremo il funzionamento del workflow di training che ci permetterà di addestrare un modello di predizione, utilizzando l'algoritmo Linear regression, per predire i valori di ampiezza, alle diverse frequenze, ricevute dai nostri sensori. Questo modello ci servirà, durante la fase di deployment, per stabilire se i valori sono quelli attesi o se siamo in presenza di un degrado dell'efficienza del motore.
In questa lezione, utilizzeremo i modelli creati durante la fase di training, gli errori e le statistiche di tutti i sensori a bordo del motore. Applicheremo i modelli ai dati precedenti alla sua rottura, che ricadono ne periodo di maintenance, per verificare se il modello avrebbe correttamente predetto le anomalie sulle misure di alcuni sensori e se sarebbero stati inviati gli allarmi di level 2 allo scopo di avvisare l'anomalia in atto.
In questa lezione vedremo come analizzare le misure provenienti dai sensori del motore, calcolando la Control Chart e verificando il numero di volte che le misure superano il livello inferiore o superiore della finestra mobile che abbiamo costruito. Questo ci permetterà di attivare degli allarmi di livello 1 e, successivamente, se ci siano le condizioni per segnalare un allarme di livello 2.
In questa lezione vedremo cosa è e come possiamo creare con KNIME Analytics Platform, un sistema di raccomandazioni di film utilizzando il filtraggio collaborativo con Spark.
Ecco i punti principali:
Filtraggio Collaborativo: Utilizza il filtraggio collaborativo basato sulla tecnica dei minimi quadrati alternati (ALS) per generare raccomandazioni. Questo algoritmo raccoglie le preferenze di molti utenti per prevedere gli interessi di un utente specifico.
Dataset MovieLens: Utilizza il dataset MovieLens, che contiene 20 milioni di valutazioni di film da parte di circa 130.000 utenti. I dati sono organizzati in file come ratings.csv e movies.csv.
Profilo dell'Utente: Per creare raccomandazioni, è necessario un profilo delle preferenze dell'utente corrente. L'utente valuta 20 film selezionati casualmente per costruire il suo profilo.
Ambiente Big Data Locale: KNIME crea un ambiente Big Data locale con Spark, Hive e HDFS per eseguire il filtraggio collaborativo. Questo ambiente è utile per il testare un workflow che utilizzerà i BIG DATA e lo sviluppo offline.
Modello di Raccomandazione: Il modello di raccomandazione viene creato utilizzando il nodo Spark Collaborative Filtering Learner di KNIME. Il modello prevede le valutazioni mancanti nel dataset.
Valutazione del Modello: Il modello viene valutato utilizzando metriche di errore numerico come l'errore assoluto medio (MAE) e l'errore quadratico medio (RMSE). Le raccomandazioni finali sono basate sulle valutazioni previste.
Distribuzione delle Raccomandazioni: Le raccomandazioni finali vengono presentate all'utente tramite il KNIME WebPortal. L'utente riceve una lista dei 10 film consigliati in base alle sue valutazioni precedenti
In questa lezione vedremo come è fatto il workflow che permette di applicare l'algoritmo di Collaboration filtering, addestrandolo con un dataset di 20 milioni di osservazioni costituite da valutazioni di films da parte di 130000 clienti, per poter poi raccomandare, ad un nostro ipotetico cliente, 10 films sulla base delle sue preferenze e di quelle di persone con gusti simili ai suoi.
Utilizzeremo l'extension BIG DATA e l'ambiente Apache Spark, tutto all'interno del nostro workflow.
Definizione di Customer Segmentation
La segmentazione dei clienti consiste nel raggruppare clienti basandosi su attributi come spesa, demografia e abitudini d'acquisto. Utilizza algoritmi di apprendimento non supervisionato.
Strategie di raggruppamento:
Basato su regole.
Tramite binning.
Per similitudine (più efficace con il supporto di algoritmi di machine learning).
Scelta degli attributi rilevanti:
È cruciale selezionare i dati che descrivono al meglio l'interazione del cliente con l'azienda, ad esempio visite al sito, frequenza d'acquisto, ecc.
La conoscenza del business e l'esperto di dominio sono fondamentali per questa selezione.
Punti di attenzione nel clustering:
I cluster devono avere senso per il business.
Ridurre le feature può semplificare l'interpretazione ma potrebbe ridurre l'efficacia.
Tecniche per analizzare e ottimizzare i cluster:
PCA (Principal Component Analysis) per ridurre le dimensioni e mantenere la varianza dei dati.
Metodi come "elbow" e il punteggio silhouette per determinare il numero ottimale di cluster.
Esempio di dataset:
Il dataset "Clothing_Customers" include attributi come reddito, età, giorni dall'ultimo acquisto, e spesa annuale.
Valutazione e utilizzo:
I cluster vengono analizzati con metodi grafici e statistici, come il punteggio silhouette, per verificarne la validità.
I risultati possono essere usati per creare "personas" e personalizzare strategie di marketing.
In questa lezione analizzeremo il workflow che permette di eseguire una attività di customer segmentation, utilizzando k-means e il punteggio silhouette. Vedremo anche una procedura di optimization che ci permetterà di trovare il miglior cluster, sulla base delle osservazioni passate e infine un curioso utilizzo della tecnica PCA per cercare di vedere, in una rappresentazione 3D, quanti dovrebbero essere i cluster nei dati.
In questa lezione conoscerete cosa sono i Cheat Sheets e come possono essere utili per costruire i vostri Workflows con KNIME.
Questo corso di rivolge alle persone che manipolano i dati per la loro attività (studenti, professionisti) e vorrebbero utilizzare gli algoritmi di machine learning per il data mining ma non hanno voglia o tempo di imparare un linguaggio di programmazione, come R o Python.
Fortunatamente ci sono strumenti che permettono di raggiungere gli stessi obiettivi, senza utilizzare una riga di codice (a meno che non si voglia proprio farlo).
Tra questi, sicuramente, KNIME Analytics Platform, o più semplicemente KNIME® è il più conosciuto e utilizzato in questo ambito.
KNIME® è un ambiente completo e Open Source per l'analisi dei dati e il machine learning, che permette l'uso degli algoritmi di data mining più diffusi all'interno di un Workbench visuale, grazie all'utilizzo di componenti software, detti nodi, che combinati in maniera opportuna, permettono di elaborare qualsiasi base di dati.
Il corso si compone di otto sezioni:
Introduzione all'applicativo KNIME Analytics Platform, i nodi, il Workflow, l'accesso ai dati memorizzati in files, in rete e su un database
Manipolazione e trasformazione dei dati e tecniche di aggregazione
Visualizzazione dei dati, creazione di viste interattive per l'analisi dei dati
Algoritmi di data mining con KNIME: classificazione supervisionata, regressione lineare, clustering
Salvataggio dei risultati delle proprie elaborazione su files o su databases e generazione di report
Aggiornamenti del corso relativi alla versione KNIME 5.1
Esempi e casi d'uso per KNIME Analytics Platform
Materiale Extra
La sezione "Esempi e casi d'uso per KNIME Analytics Platform" è un'espansione recente del corso, un corso nel corso, che riporta alcune applicazioni di KNIME Analytics Platform nei più svariati ambiti (gli esempi sono mostrati utilizzando la versione 5.3.2 di KNIME Analytics Platform):
Credit scoring: vedremo, nei panni di un impiegato di una banca, come valutare l'affidabilità di un cliente che chiede un prestito, sulla base di alcune informazioni anagrafiche e contabili relativi ai precedenti rapporti finanziari.
Churn analysis: nei panni di un operatore di telecomunicazioni, impareremo come predire la probabilità di abbandono di un cliente
Market basket analysis: siamo i gestori di un supermercato e ci interessa sapere, ogni volta che un cliente compra un certo tipo di articoli, qual è l'articolo che più spesso si trovano ad acquistare altri clienti nelle sue condizioni. Questa esigenze risponde alla regola: 'Se hai questo nel carrello, allora devi avere anche questo..."
Fraud detection: stavolta vedremo due approcci differenti che sono richiesti dalla natura del problema che vogliamo risolvere; in alcuni casi, infatti, potremo contare su osservazioni che possiamo etichettare come anomalie, perché fanno parte del nostro dataset, mentre in altri non sappiamo che caratteristiche queste possano avere, ma sappiamo come distinguerle dalle osservazioni normali. Il dataset che utilizzeremo è relativo ad un gestore di carte di credito che è interessato a evidenziare le transazioni fraudolente...
Time series: la predizione di una grandezza che evolve nel tempo è sempre stato un tema affascinante. Adesso, con gli strumenti di machine learning (e con KNIME Analytics Platform), abbiamo la possibilità di riuscire, anche noi a realizzare questo scopo. Il dataset che useremo è relativo ai consumi energetici dell'Irlanda, in un periodo specificato e vedremo come predire i consumi di alcuni cluster di clienti (volutamente si approccerà la tecnica utilizzando alcune semplificazioni, ad esempio, non verrà tenuto conto della stagionalità. Ricordiamo che, dopotutto, questo è un corso base...)
Inventory optimization: la gestione della logistica, in alcuni tipi di business è cruciale per il successo di una azienda. In questo esempio vedremo come possiamo, anche in questo caso, approcciare il tutto utilizzando KNIME
Anomaly detection: stavolta vedremo un caso particolare di rilevamento di una anomalia, che scaturisce dall'analisi delle misure di alcuni sensori montati su un motore elettrico che ci permetteranno, in ottica preventiva, di individuare il momento esatto in cui sta per iniziare una deriva del suo funzionamento che lo porterà, inevitabilmente, alla rottura.
Reccomendation engine: questa tecnica di machine learning è pervasiva e la vediamo utilizzata su molti siti di e-commerce e piattaforme di streaming (non facciamo nomi). L'esempio che vedremo ci permetterà di raccomandare a un utente, alcuni titoli di film sulla base di alcune preferenze che ha espresso.
Customer Segmentation: questa tecnica permette di creare dei clusters dei clienti di una azienda sulla base delle loro caratteristiche demografiche, di consumo e di interazione con la stessa. È una attività che può essere eseguita con diversi approcci, ma noi analizzeremo una implementazione con k-Means e punteggio silhouette, utilizzando un dataset da cui ricaveremo cinque tipologie di clienti su cui cucire la nostre offerte commerciali.
In tutte le sezioni si utilizzerà KNIME®, mostrando alcune implementazioni di data mining con dati pubblici.
Per migliorare la fruizione del corso e trarne il massimo profitto, sono state aggiunte diverse sezioni con Quiz, per verificare il vostro apprendimento e sono stati corretti i sottotitoli generati automaticamente in molte lezioni.
NOTE dell'autore:
KNIME® è un marchio registrato e il logo e il marchio OPEN FOR INNOVATION® sono utilizzati da KNIME AG su licenza di KNIME GmbH e sono registrati negli Stati Uniti. KNIME® è anche registrato in Germania.
L'autore non é collegato in alcun modo all'azienda.
Il corso è stato sviluppato sulla traccia del corso self paced [L1-DS] KNIME Analytics Platform for Data Scientists: Basics, disponibile, in lingua inglese, sul sito di KNIME.
La sezione "Esempi e casi d'uso per KNIME Analytics Platform" è stata elaborata, in buona parte, prendendo dei workflow di esempio dalla cartella Examples, disponibile sull'Hub di KNIME e da articoli pubblicati sul blog di KNIME.
Gli esempi mostrati durante le lezioni sono tutti disponibili sul sito KNIME Hub, cui si rimanda nelle risorse presenti alla fine di ogni lezione del corso.