Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Strumenti per il Machine Learning

Impariamo quali sono i principali strumenti per l'implementazione di soluzioni di machine learning basate su Python.
Impariamo quali sono i principali strumenti per l'implementazione di soluzioni di machine learning basate su Python.
Link copiato negli appunti

Un progetto di Machine Learning può essere suddiviso in una serie di fasi che, sommariamente, possono
essere così descritte:

  • raccolta dati
    Questi possono essere ottenuti in varie modalità: accedendo a dataset,
    pubblicamente disponibili, acquisendoli mediante fonti private o ricavandoli in maniera automatizzata;
  • organizzazione dei dati
    "pulizia" dove si verifica la qualità dei dati e la necessità di operare alcune formattazioni, trasformazioni o
    ottimizzazioni ma anche dove i dati vengono integrati con altre fonti disponibili nonché immagazzinati
    eventualmente in supporti più idonei al loro utilizzo;
  • esplorazione
    molto interessante fatta di statistiche, visualizzazioni di grafici, proiezioni, tutte attività volte a comprendere
    aspetti salienti del fenomeno da studiare attraverso le caratteristiche matematiche dei dati che lo rappresentano;
  • preparazione all'apprendimento
    esplorati possiamo passare alla loro predisposizione per l'apprendimento automatico. Qui ci si occupa di preprocessing
    (rielaborazione dei dati per ottimizzare alcune loro proprietà statistiche), selezione delle features
    (comprendere quali aspetti tra i dati raccolti sono più significativi per comprendere il fenomeno) e trasformazione (convertire
    la forma dei dati in maniera che siano utilizzabili dagli algoritmi di apprendimento);
  • apprendimento
    le nostre indicazioni, studierà i dati preparati e ne individuerà al meglio le regole interne;
  • validazione del modello e testing
    attendibilità, mettendolo alla prova con dati di test;
  • previsione
    su dati nuovi.
  • Questa descrizione degli step di un progetto di Machine Learning è una buona approssimazione del
    lavoro dei data scientist ma in realtà ognuna di queste fasi è caratterizzate da una serie di ulteriori task con
    specifici obiettivi. Per fare tutto ciò servono gli strumenti giusti pertanto prima di proseguire nella
    guida ci soffermiamo per comprendere bene cosa la cassetta degli attrezzi del professionista dovrebbe contenere.

    Linguaggi: perchè proprio Python?

    Il Machine Learning potrebbe essere praticato con vari linguaggi di programmazione e ne esistono
    diversi ottimi. Pensiamo al C++ con cui
    è stata scritta buona parte dell'Informatica esistente, Java
    ottimo linguaggio alla base di molti strumenti NoSQL e per Big Data ma anche R
    linguaggio idoneo anche a chi non è un programmatore di natura o alternative più recenti come
    il linguaggio Julia. Si tratta di tutte soluzioni
    di assoluto rilievo, ricche di strumenti e caratterizzate da ottime prestazioni ma nel nostro caso, per questa
    guida, abbiamo adottato un linguaggio leader nel settore: Python.

    I motivi per cui Python si rivela un'ottima scelta sono molti:

    • è uno dei linguaggi più usati al mondo;
    • ha attorno a sé una delle community di programmatori più popolose e attive esistenti;
    • ha una sintassi molto concisa ma al contempo espressiva;
    • è ricco di funzionalità;
    • su di esso si basa un ecosistema per la Data Science di grandissimo valore.
    • Proprio di questo ecosistema faremo grande uso pertanto, prima di passare alla fase della sua predisposizione, è importante
      capire le tipologie di strumenti di cui conviene dotarsi.

      Quali strumenti?

      Gli strumenti di seguito elencati saranno il pane quotidiano del data scientist e sarà fondamentale
      averli installati e configurati per le nostre esigenze:

      • libreria matematica
        per la gestione di funzioni matematiche e statistiche, dotata di proprie strutture dati
        adatte allo scopo ed in grado di offrire ottime prestazioni. In questo, la scelta preferenziale ricade
        su NumPy
        offre già molte funzionalità con i suoi moduli math, statistics e le strutture dati ma per un contesto come il
        Machine Learning è indispensabile qualcosa di studiato ad hoc;
      • libreria di elaborazione dati
        Pandas
        per la gestione dei dataset (DataFrame e Series), molte funzioni, capacità grafiche ma anche interazione con i principali sistemi di
        dati come file CSV
        fogli di Microsoft Excel e database SQL
      • libreria per grafici
        visualizzare le distribuzioni dei dati.
        Allo scopo, sarà importante padroneggiare due librerie in particolare: Matplotlib
        Seaborn
      • librerie per il Machine Learning : per affrontare le vere e proprie fasi di Intelligenza Artificiale ci affideremo
        a tre ottimi strumenti: scikit-learn Tensorflow
        Keras
      • ambienti di sviluppo
        Data Science ma in questo ambito, per migliorare la produttività e la condisibivilità del proprio lavoro, si ricorre spesso ai
        notebook Jupyter
        certa fama tra i data scientist anche l'ambiente di sviluppo Spyder IDE
        scientifica.

Ti consigliamo anche