4 modi unici per ottenere set di dati per il tuo progetto di machine learning
La mancanza di dati è spesso una delle principali battute d'arresto per la maggior parte dei progetti di scienza dei dati. Tuttavia, sapere come raccogliere dati per qualsiasi progetto in cui vuoi intraprendere è un'abilità importante che devi acquisire come data scientist.
I data scientist e gli ingegneri di machine learning ora utilizzano moderne tecniche di raccolta dati per acquisire più dati per l'addestramento degli algoritmi. Se hai intenzione di intraprendere il tuo primo progetto di data science o machine learning, devi essere in grado di ottenere anche i dati.
Come puoi semplificare il processo per te stesso? Diamo un'occhiata ad alcune tecniche moderne che puoi utilizzare per raccogliere dati.
Perché hai bisogno di più dati per il tuo progetto di data science
Gli algoritmi di apprendimento automatico dipendono dai dati per diventare più accurati, precisi e predittivi. Questi algoritmi vengono addestrati utilizzando set di dati. Il processo di formazione è un po 'come insegnare a un bambino il nome di un oggetto per la prima volta, quindi consentirgli di identificarlo da solo quando lo vedrà la volta successiva.
Gli esseri umani hanno bisogno solo di pochi esempi per riconoscere un nuovo oggetto. Non è così per una macchina, poiché necessita di centinaia o migliaia di esempi simili per acquisire familiarità con un oggetto.
Questi esempi o oggetti di addestramento devono essere forniti sotto forma di dati. Un algoritmo di machine learning dedicato esegue quindi quel set di dati chiamato set di addestramento e ne apprende di più per diventare più accurato.
Ciò significa che se non fornisci dati sufficienti per addestrare il tuo algoritmo, potresti non ottenere il risultato corretto alla fine del tuo progetto perché la macchina non dispone di dati sufficienti da cui apprendere.
Quindi, è necessario ottenere dati adeguati per migliorare l'accuratezza del risultato. Vediamo di seguito alcune strategie moderne che puoi utilizzare per raggiungere questo obiettivo.
1. Scraping dei dati direttamente da una pagina Web
Il web scraping è un modo automatizzato per ottenere dati dal web. Nella sua forma più semplice, il web scraping può comportare la copia e l'incollaggio degli elementi di un sito web in un file locale.
Tuttavia, il web scraping implica anche la scrittura di script speciali o l'utilizzo di strumenti dedicati per estrarre direttamente i dati da una pagina web. Potrebbe anche comportare una raccolta di dati più approfondita utilizzando API (Application Programming Interfaces) come Serpstack .
Sebbene alcune persone credano che il web scraping possa portare alla perdita della proprietà intellettuale, ciò può accadere solo quando le persone lo fanno in modo malizioso. Il web scraping è legale e aiuta le aziende a prendere decisioni migliori raccogliendo informazioni pubbliche sui propri clienti e concorrenti.
Ad esempio, potresti scrivere uno script per raccogliere dati dai negozi online per confrontare prezzi e disponibilità. Anche se potrebbe essere un po 'più tecnico, puoi anche raccogliere file multimediali non elaborati come file audio e immagini sul Web.
Dai un'occhiata al codice di esempio qui sotto per dare un'occhiata al web scraping con la libreria di parser HTML beautifulsoup4 di Python.
from bs4 import BeautifulSoup
from urllib.request import urlopen
url = "Enter the full URL of the target webpage here"
targetPage = urlopen(url)
htmlReader = targetPage.read().decode("utf-8")
webData = BeautifulSoup(htmlReader, "html.parser")
print(webData.get_text())
Prima di eseguire il codice di esempio, è necessario installare la libreria. Crea un ambiente virtuale dalla riga di comando e installa la libreria eseguendo pip install beautifulsoup4 .
2. Tramite moduli web
Puoi anche sfruttare i moduli online per la raccolta dei dati. Ciò è particolarmente utile quando si dispone di un gruppo target di persone da cui si desidera raccogliere i dati.
Uno svantaggio dell'invio di moduli web è che potresti non raccogliere tutti i dati che desideri. È abbastanza utile per piccoli progetti o tutorial di data science, ma potresti incontrare dei vincoli nel tentativo di raggiungere un gran numero di persone anonime.
Sebbene esistano servizi di raccolta dati online a pagamento, non sono consigliati per le persone, poiché sono per lo più troppo costosi, tranne se non ti dispiace spendere un po 'di soldi per il progetto.
Esistono vari moduli web per raccogliere dati dalle persone. Uno di questi è Google Forms, a cui puoi accedere andando su forms.google.com . Puoi utilizzare Moduli Google per raccogliere informazioni di contatto , dati demografici e altri dettagli personali.
Una volta creato un modulo, tutto ciò che devi fare è inviare il link al tuo pubblico di destinazione tramite posta, SMS o qualsiasi altro mezzo disponibile.
Tuttavia, Google Forms è solo un esempio di moduli web popolari. Ci sono molte alternative là fuori che fanno anche ottimi lavori di raccolta dati.
3. Tramite social media
Puoi anche raccogliere dati tramite social media come Facebook, LinkedIn, Instagram e Twitter. Ottenere dati dai social media è un po 'più tecnico di qualsiasi altro metodo. È completamente automatizzato e prevede l'utilizzo di diversi strumenti API.
I social media possono essere difficili da estrarre i dati poiché sono relativamente disorganizzati e ce n'è una grande quantità. Organizzato correttamente, questo tipo di set di dati può essere utile nei progetti di scienza dei dati che coinvolgono analisi dei sentimenti online, analisi delle tendenze di mercato e branding online.
Ad esempio, Twitter è un esempio di un'origine dati di social media in cui è possibile raccogliere un grande volume di set di dati con il suo pacchetto API Python tweepy , che è possibile installare con il comando pip install tweepy .
Per un esempio di base, il blocco di codice per estrarre i Tweet della homepage di Twitter è simile a questo:
import tweepy
import re
myAuth = tweepy.OAuthHandler(paste consumer_key here, paste consumer_secret key here)
auth.set_access_token(paste access_token here, paste access_token_secret here)
authenticate = tweepy.API(myAuth)
target_tweet = api.home_timeline()
for targets in target_tweet:
print(targets.text)
È possibile visitare il sito Web docs.tweepy.org per accedere alla documentazione di tweepy per maggiori dettagli su come usarlo. Per utilizzare l'API di Twitter, è necessario richiedere l'account di uno sviluppatore accedendo al sito Web developer.twitter.com .
Facebook è un'altra potente piattaforma di social media per la raccolta di dati. Utilizza uno speciale endpoint API chiamato Facebook Graph API. Questa API consente agli sviluppatori di raccogliere dati sui comportamenti di utenti specifici sulla piattaforma Facebook. Puoi accedere alla documentazione dell'API Graph di Facebook su developers.facebook.com per saperne di più.
Una spiegazione dettagliata della raccolta dei dati sui social media con l'API va oltre lo scopo di questo articolo. Se sei interessato a saperne di più, puoi consultare la documentazione di ciascuna piattaforma per una conoscenza approfondita su di loro.
Oltre a scrivere script per la connessione a un endpoint API, sono disponibili anche dati sui social media che raccolgono strumenti di terze parti come Scraping Expert e molti altri. Tuttavia, la maggior parte di questi strumenti web ha un prezzo.
4. Raccolta di set di dati preesistenti da fonti ufficiali
Puoi anche raccogliere set di dati preesistenti da fonti autorevoli. Questo metodo prevede la visita di banche dati ufficiali e il download da esse di set di dati verificati. A differenza del web scraping e di altre opzioni, questa opzione è più veloce e richiede poche o nessuna conoscenza tecnica.
I set di dati su questi tipi di origini sono generalmente disponibili nei formati CSV, JSON, HTML o Excel. Alcuni esempi di fonti di dati autorevoli sono Banca mondiale , UNdata e molti altri.
Alcune origini dati possono rendere privati i dati correnti per impedire al pubblico di accedervi. Tuttavia, i loro archivi sono spesso disponibili per il download.
Altre fonti di set di dati ufficiali per il tuo progetto di machine learning
Questo elenco dovrebbe darti un buon punto di partenza per ottenere diversi tipi di dati con cui lavorare nei tuoi progetti.
- Portale Open Data dell'UE
- Set di dati Kaggle
- Google Dataset Search
- Hub dati
- Registro di dati aperti su AWS
- Agenzia governativa europea: dati e mappe
- Microsoft Research Open Data
- Fantastico archivio di set di dati pubblici su GitHub
- Data.Gov: la sede degli open data del governo degli Stati Uniti
Esistono molte più fonti di questa e un'attenta ricerca ti ricompenserà con dati perfetti per i tuoi progetti di data science.
Combina queste tecniche moderne per ottenere risultati migliori
La raccolta dei dati può essere noiosa quando gli strumenti disponibili per l'attività sono limitati o difficili da comprendere. Mentre i metodi vecchi e convenzionali funzionano ancora bene e in alcuni casi sono inevitabili, i metodi moderni sono più veloci e affidabili.
Tuttavia, piuttosto che fare affidamento su un unico metodo, una combinazione di questi metodi moderni di raccolta dei dati ha il potenziale per produrre risultati migliori.