• 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
  • 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
Data Science, machine-learning

Python Libraries per Data Science and Machine Learning

Python Libraries per Data Science and Machine Learning

Ho individuato e raccolto per te le librerie Python (Python Libraries) per Data Science e Machine Learning.

L’articolo sarà in continua evoluzione, così da arricchirlo costantemente di nuovi potenti tool.

L’obiettivo è quello di fornirti validi aiuti nella creazione di modelli di machine learning e nel loro rilascio in produzione.

Parola d’ordine? Open Source.

Python Libraries

Python è tra i linguaggi di programmazione maggiormente impiegati in ambito data science e nella creazione di modelli di machine learning, grazie alla sua semplicità e versatilità.

Da queste premesse muove l’idea di andare alla scoperta di preziosi tool che agevolino e semplifichino la nostra vita, consentendoci di risolvere nuovi problemi.

Basta indugi, iniziamo!

Palladium

La prima delle Python Libraries che esaminiamo è chiamata Palladium.

Si tratta di un progetto relativamente poco noto, sviluppato internamente a OttoGroup, in questo momento una delle più gradi società di e-commerce al mondo.

L’obiettivo era quello di offrire una transizione indolore dall’ambiente di sviluppo a quello di produzione, evitare boilerplate in progetti di machine learning, offrire alta scalabilità e abbattere i costi di licenza.

Così è nato Palladium, un framework per lo sviluppo di soluzioni di machine learning e data science, basato su scikit-learn.

Implementa operazioni comunemente richieste nello sviluppo di un progetto di machine learning come:

  • caricamento dataset
  • model training e ricerca iperparametri
  • web serive
  • persistenza dati

In questo modo lasciamo la mente concentrasi sullo sviluppo del modello vero e proprio.

Siamo così in grado di ridurre i costi di sviluppo e mantenimento implementando una soluzione versatile e flessibile.

Attraverso dei file di configurazione, andiamo a definire le specifiche del progetto: la composizione del dataset, le operazioni da eseguire, il modello da creare, etc.

Una delle funzionalità che più mi ha colpito è senza dubbio la possibilità di avviare un web service in pochi secondi, configurando un endpoint per la ricezione delle previsioni: fantastico!

Qui puoi trovare la documentazione completa.

Skorch

La seconda delle Python Libraries di questo post è definita Skorch.

Una valida alternativa a TensorFlow nello sviluppo di reti neurali artificiali è PyTorch.

Ora, consideriamo la situazione in cui tu voglia sfruttare sklearn e PyTorch congiuntamente.

La soluzione si chiama Skorch.

Due elementi che potrebbero tornarti utile a questo proposito sono:

  • skorch.callbacks.LRScheduler, che ti permette di adattare il learning rate durante l’allenamento, sulla base di condizioni arbitrarie.
  • skorch.callbacks.EarlyStopping, con il quale bloccare il training qualora continuandolo non avremmo miglioramenti.

Dask

Dask è una potente libreria python per il calcolo parallelo (parallel computing)

La libreria si compone di due parti:

  • Pianificazione dinamica delle attività (Dynamic task scheduling) ottimizzata per il calcolo. È una cosa simile ad Apache AirFlow, Spotify Luigi, Celery o Make, con la differenza che Dask è ottimizzata per interactive computational workloads.
  • Collezioni di Big Data come array paralleli, dataframes, e liste che estendono le interfacce comuni di NumPy, Pandas, o Python iterators superando le limitazioni. Queste collezioni parallele sono gestite dal Dynamic task scheduling.

I motivi per cui scegliere Dask sono molteplici.

Grazie all’interfaccia estremamente familiare, per chi opera quotidianamente con Pandas e Numpy, la curva di apprendimento si appiattisce.

La sua flessibilità ha poi davvero pochi eguali: scala agevolmente da un laptop a un cluster di 100 macchine.

Dask è quindi elastico e a bassa latenza, fondamentale quando si sposta l’esecuzione dalla memoria al disco (o all’SSD).

La documentazione illustra poi nel dettaglio ogni particolarità di questa versatile Python Library per Big data e data science.

Qualora decidessi d’impiegarlo, immagino che questo Dask Cheat Sheet ti possa tornare parecchio utile!

A questo potrebbe essere utile ricorrere a un esempio che ci aiuti a comprendere meglio come Dask si riveli particolarmente efficace.

Consideriamo un’operazione di Grid Search per l’individuazione degli iperparametri migliori:

 'grid_search': {
        'param_grid': {  # 3 * 4 * 4 * 5 = 240 fits!
            'net__lr': [0.03, 0.1, 0.3],
            'net__max_epochs': [50, 100, 200, 400],
            'net__num_units': [5, 10, 20, 40],
        },

Persino un numero così esiguo di variazioni produce in realtà 240 fits.

Dask consente di parallelizzare il calcolo in cluster e velocizzare la ricerca.

Pe ril momento è tutto!

Un caldo abbraccio, Andrea.

Written by Andrea Provino - Giugno 16, 2020
Tags | consigli, data science, portfolio project

You Might Also Like

Machine Learning Pipelines cosa sono? In italiano

Settembre 21, 2019
domino's-pizza-data-visualization-tools-python-machine-learning-data-science-tutorial-pie-charts-box-plots-scatter-plot

Data Visualization Tools Python: Pie Charts, Box Plots, Scatter Plots

Novembre 8, 2019
business-understanding

Business Understanding e Analytic Approach | Data Science Methodology

Settembre 16, 2019
Next Post
Previous Post

Una pubblicità che non vedi se usi AdBlock

EXPAND YOUR KNOWLEDGE

  • rust-react-webassembly-privacy-preserving-machine-learning Logs

    Rust, WebAssembly, React e un MVP

    Dicembre 21, 2020
  • diffie-hellman-key-exchange-protocol-scambio-di-chiavi-diffie-hellman Data Science, Privacy Preserving

    Cos’è lo scambio di chiavi Diffie-Hellman (DH)? | Privacy Preserving

    Dicembre 15, 2020
  • principio-di-esattezza-data-science-machine-learning-gdpr-data-accuracy Data Science, GDPR Compliant

    GDPR: Principio di esattezza dei dati (Data Accuracy)

    Dicembre 12, 2020
  • tensorflow-extended-tfx-deploy-machine-learning-guide-machine-learning-pipelines machine-learning

    TFX: come funziona Tensorflow Extended?

    Dicembre 9, 2020
  • tensorflow-extended-tfx-deploy-machine-learning-guide-machine-learning-pipelines machine-learning

    TensorFlow Extended (TFX) | Production Machine Learning Pipeline

    Dicembre 6, 2020
  • mean-shift-clustering-guida-italiano-spiegazione-semplice-algoritmo-di-clustering-esempio Data Science

    Mean-Shift Clustering

    Dicembre 3, 2020
  • data-minimization-principle-gdpr-principio-minimizzazione-dati-personali-gdpr-italia-consulenza-spiegazione-semplice Data Science, GDPR Compliant

    GDPR: Principio di minimizzazione dei dati (Data minimization)

    Dicembre 1, 2020
  • machine-learning-for-finance-trading-online-data-science-deep-learning-intelligenza-artificiale AI, machine-learning

    FinTech: Machine Learning for Finance (FinML) | Guide e Risorse di qualità

    Novembre 29, 2020
  • gdpr-principio-di-limitazione-della-finalita-machine-learning-data-science-guida-prupose-limitation-gdpr Data Science, GDPR Compliant

    GDPR: Principio di Limitazione della finalità | Purpose Limitation

    Novembre 26, 2020
  • machine-learning-engineer-lavoro-stipendio-responsabilità-come-diventare AI, Business, machine-learning

    Machine Learning Engineer

    Novembre 23, 2020

Quello che Google pensa ti possa piacere

Prodotti che i Cookie dicono potresti trovare interessanti

AI Blog - © 2019-2021 Andrea Provino