• 🏡 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

Cos’è il bias in una rete neurale artificiale | Towards Machine Learning

Febbraio 27, 2019
primi-passi-con-streamlit-guida-machine-learning-deployment-italian

Primi passi con streamlit: Il Machine Learning Deployment rapido!

Giugno 4, 2020

Upload File AWS S3 with Node, React, Mongo (Multer S3) | Guida Italiano

Ottobre 15, 2019
Next Post
Previous Post

Una pubblicità che non vedi se usi AdBlock

EXPAND YOUR KNOWLEDGE

  • Blockchain Developer

    Circuito aritmetico

    Novembre 1, 2022
  • machine-learning

    Un nuovo inizio

    Settembre 4, 2021
  • Zero Knwoledge Proof Article Privacy Preserving

    Zero Knowledge Proof: zk-SNARK e zk-STARK | Prova a conoscenza zero

    Luglio 8, 2021
  • oblivious-transfer-spiegazione-italiano-ot-explanation Privacy Preserving

    Oblivious Transfer (OT)

    Luglio 6, 2021
  • Aleo Studio Website Preview machine-learning

    Aleo Studio: un IDE per Zero-Knowledge Proofs Applications

    Luglio 1, 2021
  • privacy-enhancing-technologies-data-machine-learning-data-science Privacy Preserving

    Perché il Privacy Tech è un vantaggio competitivo micidiale

    Giugno 17, 2021
  • bloom-filter-spiegazione-italian Privacy Preserving

    Bloom Filter

    Giugno 3, 2021
  • trusted-execution-environment-tee-data-science-come-fuziona Data Science, Privacy Preserving

    Trusted Execution Environment | Cos’è un TEE?

    Giugno 2, 2021
  • Crypto Custody services machine-learning

    Crypto Custody: Guida alla custodia delle criptomonete

    Maggio 26, 2021
  • deep-q-learning-q-learning-reinforcement-learning machine-learning

    Deep Q-Learning

    Aprile 27, 2021

Quello che Google pensa ti possa piacere

Prodotti che i Cookie dicono potresti trovare interessanti

AI Blog - © 2019-2021 Andrea Provino