I migliori set di dati per progetti di machine learning: tutto ciò che devi sapere
Pubblicato: 2020-03-20Sommario
introduzione
L' apprendimento automatico è una delle tecnologie più potenti utilizzate oggi. È un ramo molto importante dell'intelligenza artificiale utilizzato per rendere i computer più intelligenti, dando loro la possibilità di apprendere senza l'intervento umano. Ciò rende l'apprendimento automatico uno strumento fondamentale per la gestione dei dati. Poiché i dati vengono utilizzati letteralmente ovunque, dalle decisioni aziendali alla cura delle esperienze dei clienti, l'apprendimento automatico semplifica l'identificazione dei modelli nascosti all'interno di questi enormi set di dati.
Ancora più importante, questi set di dati sono un modo per organizzare enormi quantità di dati grezzi. Utilizzando questi set di dati, i programmi vengono scritti per creare applicazioni che semplificano le operazioni aziendali. In questo articolo, impariamo a conoscere i diversi set di dati per l'apprendimento automatico .
Ma prima di entrare in questo, comprendiamo prima le basi dell'apprendimento automatico.
Che cos'è l'apprendimento automatico?
L'apprendimento automatico è responsabile dell'alimentazione delle tue piattaforme preferite come Netflix, Facebook, Twitter, YouTube, Spotify, Google e Baidu. Anche gli assistenti vocali come Alexa e Siri selezionano le tue canzoni preferite per utilizzare l'apprendimento automatico! Tutte queste piattaforme cercano di utilizzare i dati associati a te. Ciò include le tue ricerche, i clic, le visualizzazioni, le immagini che condividi, i commenti, le reazioni e i post. Scopri di più sulle migliori applicazioni di machine learning.
L'apprendimento automatico utilizza questi dati per avere un'idea delle tue preferenze. Ad esempio, Netflix lo usa per suggerire una serie TV che ti potrebbe piacere guardare, in base a quelle che hai guardato. Anche piattaforme come Amazon utilizzano l'apprendimento automatico per suggerire i tuoi prodotti, in base alla cronologia degli acquisti precedenti.
Il segmento più importante del mercato dell'apprendimento automatico è il deep learning che potrebbe raggiungere fino a 1 miliardo entro il 2025.

Sembra interessante? Entriamo nei tecnicismi dell'argomento.
Categorie di Machine Learning
L'apprendimento automatico è sostanzialmente diviso in tre: apprendimento supervisionato, non supervisionato e apprendimento per rinforzo .
Apprendimento supervisionato
In questo processo, il computer imparerà da un set di dati chiamato training data . Prenderà decisioni e predirà i risultati futuri sulla base di questo. Imparerai più avanti i set di dati di addestramento per l'apprendimento automatico . Qui, il sistema riceve coppie di input-output e, mentre lavora con queste coppie, apprende come sono mappate insieme. È come avere una serie di domande a cui sono contrassegnate le risposte corrette.
Quando il sistema o l'algoritmo apprende la relazione tra le coppie input-output, può prevedere l'output quando gli viene fornito un nuovo input. Ulteriori informazioni sui tipi di apprendimento supervisionato.
Apprendimento senza supervisione
Qui, il computer esamina i set di dati per identificare i modelli nascosti senza alcuna assistenza. Funziona su compiti complicati e scopre i risultati da solo. Ulteriori informazioni sull'apprendimento non supervisionato.
Insegnamento rafforzativo
Questo processo di apprendimento automatico utilizza un metodo di prova ed errore per determinare la soluzione a un problema. Quindi l'output del programma dipenderà dall'input corrente fornitogli.
Ora che hai una conoscenza di base dell'apprendimento automatico, passiamo ai set di dati.
Cosa sono i set di dati per l'apprendimento automatico?
Un set di dati, come suggerisce il nome, è una raccolta di dati . Possono essere i dati di un singolo database, in cui una variabile viene utilizzata per rappresentare le colonne. Le righe di questa tabella possono essere rappresentate da un membro di questo particolare set di dati.
La preparazione dei set di dati per l'apprendimento automatico è importante. Questo perché gli algoritmi non possono funzionare correttamente su dati grezzi o non strutturati. È necessario un set di dati adeguato per risolvere i problemi e arrivare alle decisioni. Ad esempio, un'applicazione meteo potrebbe non avere il set di dati corretto contenente i dati climatici degli ultimi giorni o settimane. Pertanto, non sarà in grado di fornire previsioni meteorologiche accurate per la prossima settimana.
Pertanto, senza set di dati adeguati per l'apprendimento automatico , il progetto di apprendimento automatico non avrà successo nemmeno con data scientist addestrati.
I set di dati per l'apprendimento automatico vengono utilizzati per la creazione di modelli di apprendimento automatico . Questi modelli rappresentano un problema del mondo reale utilizzando un'espressione matematica. Per generare un tale modello, devi fornirgli un set di dati per imparare e lavorare.
I tipi di set di dati utilizzati nell'apprendimento automatico sono i seguenti:
1. Set di dati di allenamento
Questo è forse il più importante tra i set di dati per l'apprendimento automatico. Viene inviato a un algoritmo di apprendimento automatico per creare un modello. L'algoritmo cerca modelli di dati per identificare le variabili di input. Questo lo aiuterà a raggiungere il suo obiettivo finale o l'output desiderato. L'output di questo set di dati è un modello di apprendimento automatico che puoi utilizzare per prevedere i risultati.
Circa il 60% del set di dati è occupato da un set di dati di addestramento.
2. Set di dati di convalida
Un set di dati di convalida viene utilizzato nella fase di convalida, durante la creazione di un progetto di apprendimento automatico. Questa fase arriva subito dopo l'allenamento. Questo set di dati è importante per valutare il modello di apprendimento automatico. Gli ingegneri di machine learning usano questo set per modificare e regolare gli iperparametri del modello. Questi iperparametri sono parametri con valori impostati prima che il programma inizi l'apprendimento.
I loro valori non possono essere stimati dai dati. Ad esempio, gli iperparametri possono includere la profondità di un albero o un numero di livelli non rilevati in una rete neurale.
Secondo i famosi scrittori Max Kuhn e Kjell Johnson , “un modello di dati deve essere valutato utilizzando campioni che non sono stati utilizzati per crearlo o modificarlo. Questo ti dà un risultato imparziale dell'efficacia del modello. Quando si lavora con un'enorme quantità di dati, è meglio mettere da parte alcuni campioni di dati per la valutazione. Il set di addestramento è il campione utilizzato per costruire il modello, mentre i campioni di convalida e test vengono utilizzati per analizzarne le prestazioni".
3. Test set di dati
I set di dati di test per l'apprendimento automatico vengono utilizzati per comprendere come funzionerà il modello di apprendimento automatico in futuro. Utilizzando questo set di dati, sarai in grado di capire quanto sia accurato il tuo modello di dati. In parole povere, questo set di dati ti dirà quanto il tuo modello di dati ha imparato dal set di addestramento.
Questi set occupano il 20% dei dati. Il set conterrà variabili di input insieme a output verificati. Tuttavia, nei progetti di apprendimento automatico , generalmente non utilizziamo un set di dati di addestramento nella fase di test. Questo perché l'algoritmo sarà a conoscenza dell'output atteso, come ha appreso in precedenza da questo set di dati.
Dopo la fase di test, il modello di dati di solito non viene più modificato. Questo perché un ulteriore aggiustamento può portare a un overfitting . L'overfitting si verifica quando un modello di dati viene addestrato con troppi dati. In questo caso, il modello inizia ad apprendere dalle voci di dati imprecise nel set di dati specificato. Di conseguenza, non funziona correttamente sui nuovi set di dati. È come cercare di infilarti in jeans oversize quando non puoi!
Ma affinché il modello di apprendimento automatico funzioni correttamente, è necessario fornirgli un buon set di dati. Senza set di dati per l'apprendimento automatico , l'algoritmo non sarà in grado di apprendere e risolvere i problemi. Ad esempio, quando non hai i libri e le risorse giuste, non puoi superare il test che desideri.

Preparazione di set di dati per l'apprendimento automatico
Scopriamo insieme i passaggi necessari per creare set di dati per il machine learning .
Raccolta dati
Il primo passaggio consiste nel raccogliere tutti i dati rilevanti di cui potresti aver bisogno per il tuo modello di machine learning. La quantità di dati dipenderà dalla complessità del progetto di apprendimento automatico . Un progetto semplice richiederà meno dati di uno complicato. Quindi, è necessario determinare tutto ciò di cui hai effettivamente bisogno per risolvere il problema in questione.
I dati possono essere raccolti facilmente rispondendo alle seguenti domande:
- Che tipo di dati hai a disposizione per il progetto?
- Quali dati non sono disponibili di cui hai bisogno per il progetto? – Ciò può includere determinati database o dati archiviati in sistemi cloud. Potrebbe essere necessario derivare questi dati.
- Quali dati puoi rimuovere dai dati esistenti? Ciò significa eliminare i dati indesiderati che sono irrilevanti per il tuo progetto.
Quando hai le risposte a tutte queste domande, puoi iniziare a raccogliere dati da varie fonti. Questi possono essere file di testo, file .csv, che esaminano strutture di dati nidificate in file JSON e XML e repository di dati.
Ora puoi passare al passaggio successivo nella creazione di set di dati per l'apprendimento automatico .
Preelaborazione dei dati
Ora che hai tutti i dati di cui hai bisogno, devi elaborarli correttamente per il tuo modello. Il metodo di preelaborazione converte i set di dati grezzi in set significativi utilizzabili. Il processo consiste nei tre passaggi seguenti:
Formattazione
I dati grezzi che hai raccolto molti non sono in un formato adatto al tuo modello di machine learning. Potrebbe trovarsi in un file JSON o in un database relazionale. Devi convertire questi dati in un file di testo o in un file .csv secondo la tua convenienza.
Pulizia
Questo è il processo in cui risolvi e rimuovi i dati mancanti e indesiderati dal tuo set di dati. Queste istanze di dati potrebbero non aiutare a risolvere il problema. Inoltre, potrebbero esserci informazioni riservate all'interno di alcuni attributi che potresti dover nascondere o rimuovere completamente. Ciò rende i tuoi set di dati per l'apprendimento automatico più significativi.
Campionamento
Potresti aver raccolto molti più dati di quelli effettivamente necessari per il progetto. I set di dati di grandi dimensioni consumano molto spazio di memoria. Inoltre, causano tempi di esecuzione più lunghi e molto più calcolo quando alimentati a un algoritmo di apprendimento automatico. Per evitare questi problemi, devi creare campioni più piccoli dei dati selezionati che il tuo modello può utilizzare facilmente. Questo processo è chiamato campionamento .
Ingegneria delle funzionalità
Qui, il set di dati viene analizzato per determinare le migliori caratteristiche e modelli che aiuteranno a risolvere il problema e fare previsioni. Pertanto, in questo processo, alcuni dei dati potrebbero essere rimossi da un set di dati di grandi dimensioni. L'attenzione si concentra sulle caratteristiche più importanti che si adattano al modello.
I dati possono essere scomposti in piccole parti per identificare le caratteristiche cruciali. Ad esempio, i dati sulle vendite di un determinato anno possono essere suddivisi in mesi e giorni della settimana. In questo modo l'analisi dell'andamento delle vendite è più facile e veloce. Questo aiuta anche l'algoritmo di apprendimento automatico a calcolare più velocemente.
Dividere i dati
Ora i dati devono essere suddivisi in tre set: training, test e validazione. Devi dividerlo rispettivamente in 70%, 20% e 10% per i set. Per un test corretto, assicurati di selezionare solo sottoinsiemi di dati non sovrapposti. Dividere correttamente i set di dati per consentire al modello di apprendimento automatico di raggiungere più rapidamente l'output desiderato. È possibile perfezionare il modello dati in un secondo momento.
Bene, ora hai imparato come curare un set di dati per un algoritmo di apprendimento automatico. Ma cosa succede se hai un progetto in arrivo e non hai il tempo di creare il tuo set di dati? Grazie a Internet, sono disponibili molti set di dati pronti per l'uso tra cui scegliere.
Set di dati di apprendimento automatico online
Ecco i set di dati più utili per l'apprendimento automatico sul Web:
- Il set di dati sugli alloggi di Boston
Una scelta popolare tra i set di dati per l'apprendimento automatico . È usato per il riconoscimento di schemi. Consiste in informazioni sulle varie case di Boston, inclusi dati come il numero di camere, l'aliquota fiscale e l'aliquota di criminalità nell'area. Composto da 506 righe e 14 variabili nelle colonne di dati, il set di dati è utile per prevedere i prezzi delle case.
- Set di dati sul Parkinson
Questo set di dati è composto da 195 cartelle cliniche, insieme a 23 diversi attributi che hanno misurazioni biomediche. È possibile utilizzare il set di dati per separare i pazienti sani da quelli affetti dal morbo di Parkinson.
- IMDB
Un set di dati composto da 25.000 recensioni di film. Viene utilizzato per la classificazione binaria del sentimento.
- MIMIC-III
Questo è un set di dati apertamente disponibile che è stato creato dal MIT Lab for Computational Physiology. Consiste di dati sanitari di circa 40.000 pazienti in terapia intensiva. Informazioni come farmaci, test di laboratorio, parametri vitali e dati demografici sono incluse qui.

- Berkeley DeepDrive BDD100k
Il Berkeley DeepDrive BDD100k è attualmente il più grande set di dati utilizzato per lo sviluppo di programmi di apprendimento automatico per auto a guida autonoma. Contiene più di 100.000 video di guida in vari momenti della giornata in diverse condizioni climatiche. I dati si basano sulle città di New York e San Francisco.
- Set di dati dei pickup Uber
Questo set di dati contiene informazioni sui ritiri dei clienti Uber da aprile a settembre 2014 a New York. Esistono circa 4,5 milioni di dati sui clienti di questo tipo e altri 14 milioni da gennaio a giugno 2015. È possibile eseguire l'analisi dei dati utilizzando questo set di dati per raccogliere maggiori informazioni sui clienti. Questo può aiutare le aziende a migliorare significativamente il proprio business.
- Set di dati dei clienti del centro commerciale
Contiene informazioni sulle persone che visitano i centri commerciali. Il set di dati contiene dettagli come sesso, età, ID cliente, punteggio di spesa e molto altro. Questo può essere molto utile nel marketing target. Sulla base di dati quali età e punteggio di spesa, le aziende possono segmentare i clienti in gruppi. Possono creare esperienze cliente uniche per questi gruppi.
Conclusione
Proprio come le parole e le frasi corrette fanno sì che una poesia rimanga con te per molto tempo, il giusto set di dati è necessario per un progetto di successo. Questo è il motivo per cui molte delle migliori aziende reclutano ingegneri di dati per il compito di creare il miglior set di dati per un particolare sistema di apprendimento automatico. Quindi prenditi il tuo tempo mentre prepari i tuoi set di dati per l'apprendimento automatico .
Se sei interessato a saperne di più sull'apprendimento automatico, dai un'occhiata al Diploma PG di IIIT-B e upGrad in Machine Learning e AI, progettato per i professionisti che lavorano e offre oltre 450 ore di formazione rigorosa, oltre 30 casi di studio e incarichi, IIIT- B Stato di ex alunni, oltre 5 progetti pratici pratici e assistenza sul lavoro con le migliori aziende.
Che cos'è un set di dati per l'apprendimento automatico?
I dati sono la componente più importante per l'apprendimento automatico. Il set di dati è una raccolta di informazioni da cui si apprende. Il set di dati proviene in genere da un'origine diversa dai dati di addestramento. Questi dati vengono utilizzati per valutare il funzionamento del modello. Ad esempio, per addestrare un classificatore di immagini, utilizzerai le immagini della raccolta ImageNet. Vale la pena notare che un'immagine può essere presente sia nei set di dati di addestramento che di test, ma deve essere in categorie distinte. Un altro uso popolare dei set di dati è quello di addestrare l'algoritmo di riconoscimento delle immagini. Per addestrare l'algoritmo, dovrai avere diecimila immagini di gatti e diecimila immagini di cani. ImageNet è uno dei set di dati ampiamente utilizzati nel settore.
Che cos'è un set di dati di convalida nell'apprendimento automatico?
Nell'apprendimento automatico supervisionato, abbiamo il set di dati di addestramento, che consiste in campioni di input e dei relativi output desiderati. Il set di dati di convalida è il secondo set di dati, su cui i parametri del modello/modello non vengono addestrati. I parametri del modello/modello sono stimati sul set di dati di addestramento. Il set di dati di convalida viene utilizzato per stimare l'accuratezza attesa del modello di apprendimento supervisionato su campioni invisibili, ovvero campioni di test. Il set di dati di convalida viene utilizzato per misurare o stimare l'errore di generalizzazione del modello di apprendimento supervisionato.
Quali sono alcuni set di dati popolari utilizzati nell'apprendimento automatico?
Esistono diversi set di dati che possiamo utilizzare per migliorare l'apprendimento automatico. Alcuni di essi sono: reddito familiare e dati dell'indagine demografica, sondaggio condotto dall'Ufficio censimento degli Stati Uniti sui titolari di attività commerciali, prezzi di borsa, età e sesso dei cittadini statunitensi, consumo energetico degli stati statunitensi, percentuale di case acquistate, vendute e affittate, hashtag di Twitter, Facebook Mi piace e altre attività delle persone su Facebook, set di dati ImageNet Large Scale Visual Recognition Challenge (ILSVRC), volume di spedizione mensile dai principali porti degli Stati Uniti, ecc. Esistono molti altri set di dati che possiamo utilizzare per l'apprendimento automatico.