Öffentliche Datensätze
Öffentliche Datensätze sind hilfreich, wenn man sich mit neuen Machine Learning-Techniken auseinandersetzt und dafür Daten zum Üben braucht. Doch auch für das Training spezifischer KI-Systeme können frei verfügbare Datensätze genutzt werden, ohne dass man Ressourcen ins Sammeln eigener Daten stecken muss. In diesem Post gebe ich eine Übersicht über die wichtigsten Quellen für öffentliche Datensätze. Ich gebe auch ein paar kurze Beispiele, um zu zeigen, wie einige Datensätze in verschiedenen Anwendungsfällen genutzt werden können.
Öffentliche Datensätze
UCI Machine Learning Repository
Das UCI Machine Learning Repository ist eine Sammlung von verschiedenen Datensätzen. Wie der Name schon impliziert wurden diese speziell für maschinelles Lernen und verwandte Forschungsbereiche zur Verfügung gestellt. Die Seite enthält eine praktische Suchfunktion. So kann man Datensätze für eine spezifische Disziplin suchen (z.B. Biologie, Finanzen oder Bildung). Man kann aber auch nur nach Datensätzen suchen, die z.B. für Klassifikationsaufgaben geeignet sind. Das Repository wird häufig in der akademischen Forschung verwendet und ist perfekt für verschiedene KI-Projekte.
Kaggle Datasets
Kaggle ist eine Plattform für Data Science und maschinelles Lernen und ist unter anderem für die Wettbewerbe in diesem Bereich bekannt. Darüber hinaus bietet die Plattform auch eine Vielzahl von Datensätzen, die von der Community hochgeladen und geteilt werden. Die Themen sind vielfältig: Verkaufsdaten, Bilderkennung, Textanalyse, oder die Top Netflix-Filme in einem bestimmten Jahr. Um Zugriff auf die Daten zu bekommen, muss man einen (kostenlosen) Kaggle-Account haben. Ich finde aber, dass es sich lohnt, denn die es gibt wirklich viele interessante und auch aktuelle Datensätze.
ImageNet
ImageNet wird dann interessant, wenn man sich mit Bilderkennung auseinandersetzt. Es ist ein großer Bilddatensatz, der speziell für maschinelles Lernen und Computer Vision-Projekte entwickelt wurde. Der Datensatz enthält Millionen von Bildern, die in tausende Kategorien eingeteilt sind. ImageNet hat einen großen Einfluss auf die Entwicklung von Bilderkennungsalgorithmen gehabt und ist ein wichtiger Meilenstein in der KI-Forschung. Es gibt sogar einen jährlichen Wettbewerb, die ImageNet Large Scale Visual Recognition Challenge (ILSVRC), welcher auf ImageNet basiert und die Qualität der Bilderkennung stark vorangebracht hat.
SQuAD
SQuAD (Stanford Question Answering Dataset) ist ein großer Datensatz für ML, der speziell für die Entwicklung und Evaluierung von Frage-Antwort-Systemen konzipiert ist. Er besteht aus über 100.000 Fragen, die von Crowdworkern aus Wikipedia-Artikeln generiert wurden. Die Antwort auf jede Frage ist ein Textabschnitt oder eine Textstelle aus einem entsprechenden Artikel; die Frage könnte aber auch unbeantwortbar sein. Der Datensatz dient auch als Benchmark zur Messung der Performance von KI-Modellen im Bereich der natürlichen Sprachverarbeitung (engl. Natural Language Processing, oder auch NLP).
Datensätze von Cloudanbietern
Die Datensätze, die von den Cloudplattformen wie AWS, Azure und GCP angeboten werden, sind zwar öffentlich und kostenlos zugänglich. Wenn ich das richtig sehe, braucht man aber einen Cloud-Account bei dem jeweiligen Anbieter, um auf darauf zugreifen zu können. Wenn du also ML in der Cloud machen möchtest, dann wäre da einiges verfügbar. Außerdem: Neue Accounts haben oft kostenlose Kontingente bzw. bieten Testversionen einiger Services.
Hier die Links für die Datensätze:
- Amazon Web Services: AWS Public Datasets
- Microsoft Azure: Azure Open Datasets
- Google Cloud Platform: Google BigQuery Public Datasets
Weitere Quellen für öffentliche Datensätze
Nun noch ein paar weitere Quellen ohne tiefergehende Beschreibung:
- Open Images: Bilder
- DBpedia: Infos aus Wikipedia
- Natural Earth: Geo-Datensätze
- YouTube-8M: YT-Videos mit Metadaten
- Nasdaq Data Link: Finanzdaten
- FRED: USA-Wirtschaftsdaten
Beispiele zur Nutzung von öffentlichen Datensätzen
Verwendung eines Kaggle-Datensatzes
Angenommen du möchtest ein KI-Modell für die Sentiment-Klassifizierung von Tweets zu Corona erstellen. Eine Suche auf Kaggle könnte „Coronavirus tweets NLP – Text Classification“ hervorbringen. Der Datensatz wurde mit einer hohen Usability (10.0) bewertet (d.h., es gibt eine allgemeine Beschreibung, Infos über die Spalten, eine spezifische Lizenz, usw.). Der Vorteil von Kaggle ist, dass es für einige Datensätze (wie z.B. dieser) Diskussionen und sogar Code-Beispiele von der Community gibt.
Bilderkennung mit ImageNet
Du möchtest dich mit Bilderkennung auseinandersetzen? Da bietet sich ImageNet an. Vielleicht möchtest du ein Modell erstellen, das spezifische elektronische Geräte in Bildern identifiziert. Mit diesem Ziel kann man einen Teil des ImageNet-Datensatzes verwenden, der Bilder von solchen Objekten enthält. Vielleicht werden die Daten noch augmentiert bzw. mit eigenen weiteren Bildern zusammengefügt. Anschließend kann ein Modell mit Python und TensorFlow oder PyTorch trainiert und genutzt werden.
Fazit
Dieser Post hatte als Ziel, ein paar Quellen für öffentliche Datensätze vorzustellen. Darunter das UCI Machine Learning Repository, Kaggle Datasets, ImageNet, SQuAD und Datensätze von den Cloudanbietern AWS, Azure und BigQuery. Gerade für Übungsprojekte oder Prototypen sind öffentliche Datensätze gut geeignet. Vielleicht kennst du weitere Quellen, dann kommentier gerne!
Wenn du ein Wunschthema hast oder mir Feedback geben willst, schreibe gerne einen Kommentar oder schicke eine Mail an mail@thorejohannsen.de.