Java al servizio della Data Science
Uno sguardo a H2O.ai e KNIME
Chi siamo
Francesco Vettoretti
DevOps
Studente in Data Analytics
francesco@datatellers.info
Silvia Fracalossi
Dev & Data Management
Studente in Data Management
silvia@datatellers.info
Contenuti
Introduzione
Perché Java per la Data Science?
Perché H2O.ai e KNIME?
Ruolo dei due software
In che fase di progetto
eccellono questi due engine?
Funzionalità
Alcuni riferimenti ad esempi
pratici ed alle performance
Stack di progetto
Trarre vantaggio dal poter
integrare le due tecnologie
Introduzione
Perché JAVA?
● Velocità di calcolo (soprattutto in multithread)
● Adattabilità ad altri sistemi preesistenti
● Librerie di Data Science affidabili (WEKA, Java-ML...)
● Scalabilità e manutenibilità
Perché H2O.ai e KNIME?
Open-Source (community, bugfixing)
Tra i leader nel settore
Facilità di utilizzo
Predisposizione alla scalabilità
Facilità di integrazione con
numerose altre tecnologie
Perché H2O.ai e KNIME?
Ruolo dei due software
KNIME
Cosa
Piattaforma di Data Analysis,
Predictive Analysis e Modeling
Come
Procedure in un workflow, a loro
volta composte da nodi
Perché
Intuitivo, permette sia al Data
Scientist di testare velocemente
i modelli, che al Business Owner
di visualizzarne i risultati con
facilità. Open Source!
H2O.ai
Cosa
Motore avanzato e libreria di
Data Modeling e Machine Learning
Come
Nativamente con Java o Scala, o
tramite API (già accessibile con
librerie per R, Python, etc..)
Perché
Vantaggioso soprattutto
nell’ambito dei Big Data grazie
all’ottimo multithreading. Open
Source!
Funzionalità dei due software
KNIME
Data Access
MySQL, PGSQL, Oracle DB, JSON,
XML, file di testo, immagini…
Big Data
Spark, Hive, Teradata…
Trasformazione dati
Righe, colonne, matrici, testo,
serie temporali, immagini…
KNIME
Data Analysis & Mining
Statistica, ML, Data Mining, Web
Analytics… (con H2O.ai, Java,
Scala, R, Python…)
Data Visualization
JS, Python, R…
Deployment
JSON, XML, DBs, Excel, immagini…
H2O.ai
SUPERVISED LEARNING
Analisi statistica
Generalized Linear Models
(binomiale, gaussiana, poisson…)
e classificatore Bayesiano
Ensembles
Distributed Random Forest
(regression) e Gradient Boosting
Machine (decision tree)
Deep Neural Networks
Trasformazioni non lineari
multilivello
H2O.ai
UNSUPERVISED LEARNING
Clustering
K-Means (con autodetect di k)
Riduzione dimensionale
Principal Component Analysis
(riduzione lineare) e
Generalized Low Rank Models
(estensione della PCA per dati
arbitrari e mancanti)
Rivelazione di anomalie
Autoencoders (deep learning con
riduzione dimensionale non
lineare)
Performance
Risultati benchmark per regressione lineare Risultati benchmark per random forest
Fonte: github.com/szilard/benchm-ml
Stack di progetto
Stack di progetto
Scarica lo stack | Guarda la descrizione
Grazie per l’attenzione
Slide disponibili su bit.ly/2L3IiZK
Link utili
Documentazione H2O.ai
Documentazione
Documentazione KNIME
Documentazione
Booklet di H2O.ai
- R
- Python
Quickstart KNIME
- Getting started
- Cheatsheet
Link utili
Esempi di H2O.ai
Esempi multilinguaggio
Esempi di KNIME
KNIME examples server
Esempi di KNIME e H2O.ai
combinati
KAGGLE competition

Java al servizio della data science - Java developers' meeting

  • 1.
    Java al serviziodella Data Science Uno sguardo a H2O.ai e KNIME
  • 2.
    Chi siamo Francesco Vettoretti DevOps Studentein Data Analytics francesco@datatellers.info Silvia Fracalossi Dev & Data Management Studente in Data Management silvia@datatellers.info
  • 3.
    Contenuti Introduzione Perché Java perla Data Science? Perché H2O.ai e KNIME? Ruolo dei due software In che fase di progetto eccellono questi due engine? Funzionalità Alcuni riferimenti ad esempi pratici ed alle performance Stack di progetto Trarre vantaggio dal poter integrare le due tecnologie
  • 4.
  • 5.
    Perché JAVA? ● Velocitàdi calcolo (soprattutto in multithread) ● Adattabilità ad altri sistemi preesistenti ● Librerie di Data Science affidabili (WEKA, Java-ML...) ● Scalabilità e manutenibilità
  • 6.
    Perché H2O.ai eKNIME? Open-Source (community, bugfixing) Tra i leader nel settore Facilità di utilizzo Predisposizione alla scalabilità Facilità di integrazione con numerose altre tecnologie
  • 7.
  • 8.
    Ruolo dei duesoftware
  • 9.
    KNIME Cosa Piattaforma di DataAnalysis, Predictive Analysis e Modeling Come Procedure in un workflow, a loro volta composte da nodi Perché Intuitivo, permette sia al Data Scientist di testare velocemente i modelli, che al Business Owner di visualizzarne i risultati con facilità. Open Source!
  • 10.
    H2O.ai Cosa Motore avanzato elibreria di Data Modeling e Machine Learning Come Nativamente con Java o Scala, o tramite API (già accessibile con librerie per R, Python, etc..) Perché Vantaggioso soprattutto nell’ambito dei Big Data grazie all’ottimo multithreading. Open Source!
  • 11.
  • 12.
    KNIME Data Access MySQL, PGSQL,Oracle DB, JSON, XML, file di testo, immagini… Big Data Spark, Hive, Teradata… Trasformazione dati Righe, colonne, matrici, testo, serie temporali, immagini…
  • 13.
    KNIME Data Analysis &Mining Statistica, ML, Data Mining, Web Analytics… (con H2O.ai, Java, Scala, R, Python…) Data Visualization JS, Python, R… Deployment JSON, XML, DBs, Excel, immagini…
  • 14.
    H2O.ai SUPERVISED LEARNING Analisi statistica GeneralizedLinear Models (binomiale, gaussiana, poisson…) e classificatore Bayesiano Ensembles Distributed Random Forest (regression) e Gradient Boosting Machine (decision tree) Deep Neural Networks Trasformazioni non lineari multilivello
  • 15.
    H2O.ai UNSUPERVISED LEARNING Clustering K-Means (conautodetect di k) Riduzione dimensionale Principal Component Analysis (riduzione lineare) e Generalized Low Rank Models (estensione della PCA per dati arbitrari e mancanti) Rivelazione di anomalie Autoencoders (deep learning con riduzione dimensionale non lineare)
  • 16.
    Performance Risultati benchmark perregressione lineare Risultati benchmark per random forest Fonte: github.com/szilard/benchm-ml
  • 17.
  • 18.
    Stack di progetto Scaricalo stack | Guarda la descrizione
  • 19.
    Grazie per l’attenzione Slidedisponibili su bit.ly/2L3IiZK
  • 20.
    Link utili Documentazione H2O.ai Documentazione DocumentazioneKNIME Documentazione Booklet di H2O.ai - R - Python Quickstart KNIME - Getting started - Cheatsheet
  • 21.
    Link utili Esempi diH2O.ai Esempi multilinguaggio Esempi di KNIME KNIME examples server Esempi di KNIME e H2O.ai combinati KAGGLE competition