Quali sono alcuni buoni set di dati per apprendere algoritmi di apprendimento automatico di base e perché?


19

Sono nuovo di machine learning e cerco alcuni set di dati attraverso i quali posso confrontare e contrastare le differenze tra i diversi algoritmi di machine learning (Decision Trees, Boosting, SVM e Neural Networks)

Dove posso trovare tali set di dati? Cosa dovrei cercare considerando un set di dati?

Sarebbe bello se puoi indicare alcuni buoni set di dati e anche dirmi cosa li rende un buon set di dati?


6
Mi chiedo se questa domanda non si adatta meglio a opendata.stackexchange.com ... Per quanto riguarda i set di dati, la maggior parte dei libri di testo menziona tali set di dati e li rende disponibili, molti sono già disponibili nei software statistici o nelle librerie per tali software. Puoi vedere anche archive.ics.uci.edu/ml/datasets.html . Naturalmente, un'altra domanda è ciò che rende alcuni set di dati "buoni" per l'apprendimento e alcuni "cattivi" - è una domanda interessante.
Tim

Troverai alcuni set di dati come pacchetti su CRAN, come: ElemStatLearn e altri.
kjetil b halvorsen,

2
@Tim Perché c'è un aspetto pedagogico in questa domanda (ad esempio, un esempio di un set di dati "buono" per scopi di apprendimento è uno che mostra dove algoritmi diversi danno risultati molto diversi) Penso che sia più adatto al CV che ad OpenData.
Silverfish


@Silverfish: questo è stato discusso su Meta - "Domande sui set di dati": possibili eccezioni? - e sembra esserci stato un accordo generale con il tuo punto di vista. Ma penso ancora che questo q. è piuttosto ampio: cosa lo distingue chiaramente dall'individuare campioni di dati disponibili gratuitamente ?
Scortchi - Ripristina Monica

Risposte:



11

Kaggle ha tutta una serie di set di dati con cui puoi esercitarti.

(Sono sorpreso che non sia stato menzionato finora!)

Ha due cose (tra le altre) che la rendono una risorsa di inestimabile valore:

  • Un sacco di set di dati puliti. Mentre i set di dati senza rumore non sono realmente rappresentativi dei set di dati del mondo reale, sono particolarmente adatti al tuo scopo: distribuire algoritmi ML.
  • Puoi anche visualizzare i modelli ML di altri per lo stesso set di dati, il che potrebbe essere un modo divertente per raccogliere alcuni hack lungo il percorso. Va da sé che il tipo di esposizione che si ottiene imparando dai migliori professionisti è, come per qualsiasi altra cosa, super utile.

1
Questa dovrebbe davvero essere la risposta migliore perché oltre a un'enorme varietà di set di dati, i forum per ogni sfida sono una risorsa inestimabile per raccogliere tecniche e trucchi, insieme ad esempi di codice.
Alex R.

2

Innanzitutto, consiglierei di iniziare con i dati di esempio forniti con il software. La maggior parte delle distribuzioni di software include dati di esempio che è possibile utilizzare per acquisire familiarità con l'algoritmo senza gestire i tipi di dati e wrestling i dati nel formato corretto per l'algoritmo. Anche se stai creando un algoritmo da zero, puoi iniziare con l'esempio da un'implementazione simile e confrontare le prestazioni.

In secondo luogo, consiglierei di sperimentare set di dati sintetici per avere un'idea di come funziona l'algoritmo quando sai come sono stati generati i dati e il rapporto segnale rumore.

In R, puoi elencare tutti i set di dati nei pacchetti attualmente installati con questo comando:

data(package = installed.packages()[, 1])

Il pacchetto R mlbench ha set di dati reali e può generare set di dati sintetici utili per studiare le prestazioni dell'algoritmo.

Python's scikit-learn ha dati di esempio e genera anche set di dati sintetici / giocattolo.

SAS ha un set di dati di formazione disponibile per il download e i dati di esempio SPSS sono installati con il software in C: \ Programmi \ IBM \ SPSS \ Statistics \ 22 \ Samples

Infine, guarderei i dati in natura. Confronterei le prestazioni di diversi algoritmi e parametri di ottimizzazione su set di dati reali. Questo di solito richiede molto più lavoro perché raramente troverai set di dati con tipi di dati e strutture che puoi inserire direttamente nei tuoi algoritmi.

Per i dati in natura, consiglierei:

archivio di set di dati di reddit

Elenco di KDnugget


1
Per coloro che non hanno R, e non vogliono scaricarlo solo per accedere a questi set di dati, i set di dati e le descrizioni sono disponibili online qui .
gung - Ripristina Monica

0

Il set di dati dell'iride è a mani basse. È anche nella base R.


1
Ti preghiamo di rispondere alla parte sostanziale della domanda: "... dimmi anche cosa li rende un buon set di dati?"
whuber

0

A mio avviso, puoi iniziare con piccoli set di dati che non hanno troppe funzionalità.

Un esempio potrebbe essere il set di dati Iris (per la classificazione). Ha 3 classi, 50 campioni per ogni classe per un totale di 150 punti dati. Una risorsa eccellente per aiutarti a esplorare questo set di dati è questa serie di video di Data School.

Un altro set di dati da verificare è il set di dati sulla qualità del vino dal repository UCI-ML. Ha 4898 punti dati con 12 attributi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.