Welche Datensätze eignen sich zum Erlernen grundlegender Algorithmen für maschinelles Lernen und warum?


19

Ich bin neu im maschinellen Lernen und suche nach Datensätzen, mit denen ich die Unterschiede zwischen verschiedenen Algorithmen für maschinelles Lernen (Decision Trees, Boosting, SVM und Neuronale Netze) vergleichen und gegenüberstellen kann.

Wo finde ich solche Datensätze? Wonach sollte ich suchen, wenn ich einen Datensatz in Betracht ziehe?

Es wäre großartig, wenn Sie auf einige gute Datensätze verweisen und mir sagen könnten, was sie zu einem guten Datensatz macht.


6
Ich frage mich, ob diese Frage nicht besser zu opendata.stackexchange.com passt. Was Datensätze betrifft , erwähnen die meisten Lehrbücher solche Datensätze und stellen sie zur Verfügung. Viele sind bereits in statistischer Software oder in Bibliotheken für solche Software verfügbar. Sie können auch archive.ics.uci.edu/ml/datasets.html anzeigen . Eine andere Frage ist natürlich, warum manche Datensätze zum Lernen "gut" und manche "schlecht" sind - es ist eine interessante Frage.
Tim

Sie finden einige Datensätze als Pakete auf CRAN, z. B .: ElemStatLearn und andere.
kjetil b halvorsen

2
@Tim Da diese Frage einen pädagogischen Aspekt hat (zum Beispiel zeigt ein Beispiel für einen "guten" Datensatz für Lernzwecke, wo verschiedene Algorithmen sehr unterschiedliche Ergebnisse liefern), denke ich, dass sie für den Lebenslauf besser geeignet ist als für OpenData.
Silverfish


@Silverfish: Dies wurde auf Meta diskutiert - „Fragen zu Datensätzen“: Mögliche Ausnahmen? - & Es scheint allgemeine Übereinstimmung mit Ihrer Sichtweise gegeben zu haben. Aber ich denke immer noch, dass diese q. ist ziemlich breit - was unterscheidet es deutlich von der Lokalisierung frei verfügbarer Datenproben ?
Scortchi

Antworten:


16

Die Datensätze auf den folgenden Seiten stehen kostenlos zur Verfügung. Diese Datensätze wurden verwendet, um den Schülern ML-Algorithmen beizubringen, da für die meisten Datensätze Beschreibungen vorliegen. Es wurde auch erwähnt, welche Art von Algorithmen anwendbar sind.

  1. UCI-Maschinelles Lern-Repository
  2. ML Comp
  3. Mammo Image
  4. Mulan

11

Kaggle verfügt über eine ganze Reihe von Datensätzen, mit denen Sie üben können.

(Ich bin überrascht, dass es bisher nicht erwähnt wurde!)

Es gibt zwei Dinge (unter anderem), die es zu einer unschätzbaren Ressource machen:

  • Viele saubere Datensätze. Rauschfreie Datensätze sind zwar nicht wirklich repräsentativ für reale Datensätze, sie eignen sich jedoch besonders für Ihre Zwecke - die Bereitstellung von ML-Algorithmen.
  • Sie können auch die ML-Modelle anderer Benutzer für denselben Datensatz anzeigen. Dies kann eine unterhaltsame Möglichkeit sein, unterwegs einige Hacks zu erfassen. Es versteht sich von selbst, dass die Art der Exposition, die Sie durch das Lernen von den besten Praktikern erhalten, wie bei allem anderen sehr hilfreich ist.

1
Dies sollte wirklich die beste Antwort sein, da die Foren für jede Herausforderung neben einer enormen Vielfalt an Datensätzen eine unschätzbare Ressource für das Erlernen von Techniken und Tricks sowie Codebeispielen darstellen.
Alex R.

2

Zunächst würde ich empfehlen, mit den Beispieldaten zu beginnen, die mit der Software bereitgestellt werden. Die meisten Softwareverteilungen enthalten Beispieldaten, mit denen Sie sich mit dem Algorithmus vertraut machen können, ohne sich mit Datentypen zu befassen und die Daten in das richtige Format für den Algorithmus zu ringen. Selbst wenn Sie einen Algorithmus von Grund auf neu erstellen, können Sie mit dem Beispiel einer ähnlichen Implementierung beginnen und die Leistung vergleichen.

Zweitens würde ich empfehlen, mit synthetischen Datensätzen zu experimentieren, um ein Gefühl dafür zu bekommen, wie der Algorithmus funktioniert, wenn Sie wissen, wie die Daten generiert wurden und wie das Signal-Rausch-Verhältnis ist.

In R können Sie mit diesem Befehl alle Datensätze in den derzeit installierten Paketen auflisten:

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

Die mlbench des R-Pakets enthält reale Datensätze und kann synthetische Datensätze generieren , die für die Untersuchung der Algorithmusleistung nützlich sind.

Pythons Scikit-Learn enthält Beispieldaten und generiert auch einen synthetischen Datensatz / Spielzeugdatensatz.

SAS hat die Ausbildung Daten - Set zum Download zur Verfügung und die SPSS Beispieldaten werden mit der Software unter C: \ Programme \ IBM \ SPSS \ Statistics \ 22 \ Samples

Zuletzt würde ich mir Daten in freier Wildbahn ansehen. Ich würde die Leistung verschiedener Algorithmen und Optimierungsparameter an realen Datensätzen vergleichen. Dies erfordert normalerweise viel mehr Arbeit, da Sie selten Datasets mit Datentypen und Strukturen finden, die Sie direkt in Ihre Algorithmen einfügen können.

Für Daten in freier Wildbahn würde ich empfehlen:

reddits Datensatzarchiv

KDnugget's Liste


1
Für diejenigen , die nicht R haben, und wollen nicht den Zugriff auf diese Datensätze erhalten nur zum Download, die Datensätze und Beschreibungen sind online verfügbar hier .
gung - Wiedereinsetzung von Monica

0

Der Iris- Datensatz ist zweifellos. Es ist auch in Basis R.


1
Bitte beantworten Sie den inhaltlichen Teil der Frage: "... sagen Sie mir auch, was sie zu einem guten Datensatz macht?"
whuber

0

Meiner Meinung nach sollten Sie mit kleinen Datensätzen beginnen, die nicht zu viele Funktionen haben.

Ein Beispiel wäre der Iris-Datensatz (zur Klassifizierung). Es verfügt über 3 Klassen, 50 Stichproben für jede Klasse mit insgesamt 150 Datenpunkten. Eine hervorragende Ressource, mit der Sie diesen Datensatz erkunden können, ist diese Videoserie von Data School.

Ein weiterer zu überprüfender Datensatz ist der Wine Quality-Datensatz aus dem UCI -ML-Repository. Es hat 4898 Datenpunkte mit 12 Attributen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.