4 einzigartige Möglichkeiten, um Datensätze für Ihr maschinelles Lernprojekt abzurufen
Unzureichende Daten sind häufig einer der größten Rückschläge für die meisten datenwissenschaftlichen Projekte. Zu wissen, wie man Daten für jedes Projekt sammelt, mit dem Sie beginnen möchten, ist jedoch eine wichtige Fähigkeit, die Sie als Datenwissenschaftler erwerben müssen.
Datenwissenschaftler und Ingenieure für maschinelles Lernen verwenden jetzt moderne Datenerfassungstechniken, um mehr Daten für Trainingsalgorithmen zu erfassen. Wenn Sie planen, Ihr erstes Data Science- oder maschinelles Lernprojekt zu starten, müssen Sie auch in der Lage sein, Daten abzurufen.
Wie können Sie sich den Prozess erleichtern? Schauen wir uns einige moderne Techniken an, mit denen Sie Daten sammeln können.
Warum Sie mehr Daten für Ihr Data Science-Projekt benötigen
Algorithmen für maschinelles Lernen hängen von Daten ab, um genauer, präziser und prädiktiver zu werden. Diese Algorithmen werden unter Verwendung von Datensätzen trainiert. Der Trainingsprozess ist ein bisschen so, als würde man einem Kleinkind zum ersten Mal den Namen eines Objekts beibringen und es ihm dann ermöglichen, ihn allein zu identifizieren, wenn er ihn das nächste Mal sieht.
Menschen brauchen nur wenige Beispiele, um ein neues Objekt zu erkennen. Dies ist bei einer Maschine nicht der Fall, da Hunderte oder Tausende ähnlicher Beispiele erforderlich sind, um sich mit einem Objekt vertraut zu machen.
Diese Beispiele oder Trainingsobjekte müssen in Form von Daten vorliegen. Ein dedizierter Algorithmus für maschinelles Lernen durchläuft dann diesen Datensatz, der als Trainingssatz bezeichnet wird, und lernt mehr darüber, um genauer zu werden.
Das heißt, wenn Sie nicht genügend Daten bereitstellen, um Ihren Algorithmus zu trainieren, erhalten Sie am Ende Ihres Projekts möglicherweise nicht das richtige Ergebnis, da die Maschine nicht über genügend Daten verfügt, um daraus zu lernen.
Es ist daher erforderlich, ausreichende Daten zu erhalten, um die Genauigkeit Ihres Ergebnisses zu verbessern. Im Folgenden werden einige moderne Strategien vorgestellt, mit denen Sie dies erreichen können.
1. Daten direkt von einer Webseite kratzen

Web Scraping ist eine automatisierte Methode zum Abrufen von Daten aus dem Web. In seiner einfachsten Form kann das Web-Scraping das Kopieren und Einfügen der Elemente auf einer Website in eine lokale Datei umfassen.
Beim Web-Scraping müssen jedoch auch spezielle Skripte geschrieben oder spezielle Tools verwendet werden, um Daten direkt von einer Webseite zu kratzen. Es könnte auch eine eingehendere Datenerfassung mithilfe von APIs (Application Programming Interfaces) wie Serpstack umfassen .
Obwohl einige Leute glauben, dass Web-Scraping zum Verlust von geistigem Eigentum führen könnte, kann dies nur passieren, wenn Leute es böswillig tun. Web Scraping ist legal und hilft Unternehmen, bessere Entscheidungen zu treffen, indem sie öffentliche Informationen über ihre Kunden und Konkurrenten sammeln.
Sie können beispielsweise ein Skript schreiben, um Daten aus Online-Shops zu sammeln und Preise und Verfügbarkeit zu vergleichen. Es ist zwar etwas technischer, aber Sie können Rohmedien wie Audiodateien und Bilder auch über das Internet sammeln.
Schauen Sie sich den folgenden Beispielcode an, um einen Einblick in das Web-Scraping mit Pythons HTML-Parser-Bibliothek beautifulsoup4 zu erhalten .
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())
Bevor Sie den Beispielcode ausführen, müssen Sie die Bibliothek installieren. Erstellen Sie eine virtuelle Umgebung über Ihre Befehlszeile und installieren Sie die Bibliothek, indem Sie pip install beautifulsoup4 ausführen .
2. Über Web Forms

Sie können auch Online-Formulare für die Datenerfassung nutzen. Dies ist am nützlichsten, wenn Sie eine Zielgruppe von Personen haben, von denen Sie die Daten erfassen möchten.
Ein Nachteil beim Versenden von Webformularen besteht darin, dass Sie möglicherweise nicht so viele Daten erfassen, wie Sie möchten. Es ist ziemlich praktisch für kleine datenwissenschaftliche Projekte oder Tutorials, aber Sie könnten auf Einschränkungen stoßen, wenn Sie versuchen, eine große Anzahl anonymer Personen zu erreichen.
Es gibt zwar kostenpflichtige Online-Datenerfassungsdienste, diese werden jedoch nicht für Einzelpersonen empfohlen, da sie meist zu teuer sind – es sei denn, es macht Ihnen nichts aus, etwas Geld für das Projekt auszugeben.
Es gibt verschiedene Webformulare zum Sammeln von Daten von Personen. Eines davon ist Google Forms, auf das Sie über forms.google.com zugreifen können . Sie können Google Forms verwenden, um Kontaktinformationen , demografische Daten und andere persönliche Daten zu sammeln .
Sobald Sie ein Formular erstellt haben, müssen Sie den Link lediglich per E-Mail, SMS oder auf andere verfügbare Weise an Ihre Zielgruppe senden.
Google Forms ist jedoch nur ein Beispiel für beliebte Webformulare. Es gibt viele Alternativen, die auch hervorragende Datenerfassungsaufgaben erledigen.
3. Über Social Media

Sie können Daten auch über soziale Medien wie Facebook, LinkedIn, Instagram und Twitter sammeln. Das Abrufen von Daten aus sozialen Medien ist etwas technischer als jede andere Methode. Es ist vollständig automatisiert und beinhaltet die Verwendung verschiedener API-Tools.
Es kann schwierig sein, Daten aus sozialen Medien zu extrahieren, da sie relativ unorganisiert sind und eine große Menge davon enthalten. Richtig organisiert, kann diese Art von Datensatz in datenwissenschaftlichen Projekten nützlich sein, die Online-Stimmungsanalyse, Markttrendanalyse und Online-Branding umfassen.
Beispielsweise ist Twitter ein Beispiel für eine Social-Media-Datenquelle, in der Sie mit dem Python-API-Paket tweepy , das Sie mit dem Befehl pip install tweepy installieren können, eine große Menge von Datensätzen erfassen können.
Für ein einfaches Beispiel sieht der Codeblock zum Extrahieren von Twitter-Homepage-Tweets folgendermaßen aus:
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)
Sie können die Website docs.tweepy.org besuchen, um auf die Tweepy- Dokumentation zuzugreifen und weitere Informationen zur Verwendung zu erhalten. Um die API von Twitter nutzen zu können, müssen Sie ein Entwicklerkonto beantragen, indem Sie auf die Website developer.twitter.com gehen .
Facebook ist eine weitere leistungsstarke Social-Media-Plattform zum Sammeln von Daten. Es wird ein spezieller API-Endpunkt verwendet, der als Facebook Graph API bezeichnet wird. Mit dieser API können Entwickler Daten über das Verhalten bestimmter Benutzer auf der Facebook-Plattform sammeln. Sie können auf die Facebook Graph API-Dokumentation unter developer.facebook.com zugreifen, um mehr darüber zu erfahren.
Eine ausführliche Erläuterung der Erfassung von Social Media-Daten mit API würde den Rahmen dieses Artikels sprengen. Wenn Sie mehr erfahren möchten, können Sie in der Dokumentation der einzelnen Plattformen detaillierte Informationen dazu finden.
Neben dem Schreiben von Skripten für die Verbindung mit einem API-Endpunkt stehen auch Social-Media-Daten zur Verfügung, mit denen Tools von Drittanbietern wie Scraping Expert und viele andere erfasst werden. Die meisten dieser Web-Tools haben jedoch ihren Preis.
4. Sammeln bereits vorhandener Datensätze aus offiziellen Quellen
Sie können auch bereits vorhandene Datensätze aus maßgeblichen Quellen erfassen. Bei dieser Methode werden offizielle Datenbanken besucht und verifizierte Datensätze von diesen heruntergeladen. Im Gegensatz zu Web Scraping und anderen Optionen ist diese Option schneller und erfordert wenig oder keine technischen Kenntnisse.
Die Datensätze für diese Arten von Quellen sind normalerweise in den Formaten CSV, JSON, HTML oder Excel verfügbar. Einige Beispiele für maßgebliche Datenquellen sind die Weltbank , UNdata und einige andere.
Einige Datenquellen machen aktuelle Daten möglicherweise privat, um zu verhindern, dass die Öffentlichkeit auf sie zugreift. Ihre Archive stehen jedoch häufig zum Download zur Verfügung.
Weitere offizielle Datensatzquellen für Ihr maschinelles Lernprojekt
Diese Liste sollte Ihnen einen guten Ausgangspunkt bieten, um verschiedene Datentypen für die Arbeit in Ihren Projekten zu erhalten.
- EU Open Data Portal
- Kaggle-Datensätze
- Google Dataset Search
- Data Hub
- Registrierung von Open Data in AWS
- Europäische Regierungsagentur – Daten und Karten
- Microsoft Research Open Data
- Awesome Public Datasets Repository auf GitHub
- Data.Gov: Die Heimat der offenen Daten der US-Regierung
Es gibt viel mehr Quellen als diese, und eine sorgfältige Suche belohnt Sie mit Daten, die perfekt für Ihre eigenen datenwissenschaftlichen Projekte geeignet sind.
Kombinieren Sie diese modernen Techniken für bessere Ergebnisse
Die Datenerfassung kann mühsam sein, wenn die verfügbaren Tools für die Aufgabe begrenzt oder schwer zu verstehen sind. Während ältere und konventionelle Methoden immer noch gut funktionieren und in einigen Fällen unvermeidbar sind, sind moderne Methoden schneller und zuverlässiger.
Anstatt sich auf eine einzige Methode zu verlassen, kann eine Kombination dieser modernen Methoden zur Datenerfassung zu besseren Ergebnissen führen.