18 wichtige Software, die jeder Data Scientist kennen sollte

Die Welt der Datenwissenschaft: Ein Überblick über essenzielle Werkzeuge

Data Science ist ideal für diejenigen, die Freude daran haben, komplexe Sachverhalte zu analysieren und verborgene Schätze in scheinbar chaotischen Datenmengen zu entdecken. Es ist vergleichbar mit der Suche nach der berühmten Nadel im Heuhaufen, nur dass Datenwissenschaftler ihre Hände nicht schmutzig machen müssen. Stattdessen nutzen sie hochentwickelte Tools, farbenfrohe Diagramme und den Blick auf große Zahlenmengen, um in den Datenbergen wertvolle Erkenntnisse mit hohem Geschäftswert zu finden.

Ein typischer Datenwissenschaftler sollte in seinem Werkzeugkasten mindestens ein Element aus jeder der folgenden Kategorien haben: relationale Datenbanken, NoSQL-Datenbanken, Big-Data-Frameworks, Visualisierungstools, Scraping-Tools, Programmiersprachen, IDEs und Deep-Learning-Tools. Die folgende Übersicht stellt eine Auswahl wichtiger Werkzeuge vor.

Relationale Datenbanken

Relationale Datenbanken strukturieren Daten in Tabellen, die durch Attribute definiert sind. Diese Tabellen können miteinander verbunden werden, um Beziehungen und Einschränkungen festzulegen und ein umfassendes Datenmodell zu bilden. Die Interaktion mit relationalen Datenbanken erfolgt in der Regel über SQL (Structured Query Language).

RDBMS (Relational DataBase Management Systems) sind die Anwendungen, die Struktur und Daten in relationalen Datenbanken verwalten. Viele RDBMS haben sich in letzter Zeit dem Bereich der Datenwissenschaft zugewandt und Funktionen für die Verarbeitung großer Datenmengen und die Anwendung von Analysetechniken und maschinellem Lernen integriert.

SQL Server

Microsofts RDBMS, der SQL Server, hat sich über zwei Jahrzehnte stetig weiterentwickelt und seine Funktionen für Unternehmenskunden kontinuierlich erweitert. Seit der Version 2016 bietet SQL Server Dienste an, die die Integration von R-Code umfassen. SQL Server 2017 hat die Funktionalitäten erweitert und die R-Dienste in Machine Language Services umbenannt und auch die Python-Sprache unterstützt. Diese Erweiterungen zielen darauf ab, SQL Server auch für Data Scientists attraktiv zu machen, die möglicherweise nicht mit Transact-SQL, der nativen Abfragesprache von Microsoft SQL Server, vertraut sind.

Der SQL Server ist ein kommerzielles Produkt und kann mit Lizenzen für die Installation auf Windows-Servern (Preis abhängig von der Anzahl gleichzeitiger Benutzer) oder als kostenpflichtiger Dienst über die Microsoft Azure-Cloud genutzt werden. Das Erlernen von Microsoft SQL Server ist zugänglich.

MySQL

Auf der Seite der Open-Source-Software nimmt MySQL eine Spitzenposition bei RDBMS ein. Obwohl MySQL jetzt von Oracle verwaltet wird, ist es unter den Bedingungen der GNU General Public License weiterhin kostenlos und quelloffen. Viele webbasierte Anwendungen verwenden MySQL als primäre Datenquelle, da es dem SQL-Standard entspricht.

Die einfache Installation, die große Entwicklergemeinschaft, umfassende Dokumentationen und Tools von Drittanbietern wie phpMyAdmin, die Verwaltungsaufgaben vereinfachen, tragen zur Popularität bei. Obwohl MySQL keine nativen Funktionen für die Datenanalyse besitzt, erlaubt seine Offenheit die Integration mit einer Vielzahl von Visualisierungs-, Reporting- und Business-Intelligence-Tools.

PostgreSQL

Eine weitere Open-Source-Option ist PostgreSQL. Obwohl es nicht so populär wie MySQL ist, zeichnet sich PostgreSQL durch seine Flexibilität und Erweiterbarkeit sowie die Fähigkeit aus, komplexe Abfragen durchzuführen, die über grundlegende Anweisungen wie SELECT, WHERE und GROUP BY hinausgehen.

Diese Eigenschaften machen es bei Datenwissenschaftlern immer beliebter. Ein weiterer interessanter Vorteil ist die Unterstützung verschiedener Umgebungen, die den Einsatz in Cloud- und On-Premise-Umgebungen oder einer Mischung aus beidem, der sogenannten Hybrid-Cloud, ermöglichen.

PostgreSQL ist in der Lage, Online Analytical Processing (OLAP) mit Online Transaction Processing (OLTP) zu kombinieren, was als Hybrid Transactional/Analytical Processing (HTAP) bezeichnet wird. Durch die Erweiterung mit PostGIS für Geodaten und JSON-B für Dokumente eignet es sich auch gut für die Verarbeitung von Big Data. PostgreSQL unterstützt auch unstrukturierte Daten, wodurch es sowohl zu SQL- als auch zu NoSQL-Datenbanken gezählt werden kann.

NoSQL-Datenbanken

Diese Datenbankart, auch als nicht-relationale Datenbanken bekannt, ermöglicht einen schnelleren Zugriff auf nicht tabellarische Datenstrukturen wie Graphen, Dokumente, breite Spalten oder Schlüssel-Wert-Paare. NoSQL-Datenspeicher können die Datenkonsistenz zu Gunsten anderer Vorteile wie Verfügbarkeit, Partitionierung und Zugriffsgeschwindigkeit aufgeben.

Da NoSQL-Datenspeicher kein SQL verwenden, erfolgt die Abfrage dieser Datenbanken in der Regel durch Low-Level-Sprachen, wobei es keine universelle Sprache wie SQL gibt. Zudem existieren keine Standardspezifikationen für NoSQL. Ironischerweise beginnen jedoch einige NoSQL-Datenbanken SQL-Skripte zu unterstützen.

MongoDB

MongoDB ist ein beliebtes NoSQL-Datenbanksystem, das Daten als JSON-Dokumente speichert. Der Fokus liegt auf Skalierbarkeit und Flexibilität bei der Speicherung unstrukturierter Daten. Dies bedeutet, dass keine feste Feldliste für alle gespeicherten Elemente eingehalten werden muss. Die Datenstruktur kann sich auch im Laufe der Zeit ändern, was in einer relationalen Datenbank das Risiko birgt, laufende Anwendungen zu beeinträchtigen.

Die Technologie von MongoDB ermöglicht Indizierung, Ad-hoc-Abfragen und Aggregation, was eine solide Grundlage für die Datenanalyse bietet. Die verteilte Architektur der Datenbank bietet hohe Verfügbarkeit, Skalierbarkeit und geografische Verteilung ohne den Bedarf an aufwendigen Tools.

Redis

Redis ist eine weitere Option im Open-Source-NoSQL-Bereich. Es handelt sich im Wesentlichen um einen In-Memory-Datenstrukturspeicher, der neben Datenbankdiensten auch als Cache und Nachrichtenbroker fungiert.

Es unterstützt eine Vielzahl unkonventioneller Datenstrukturen, darunter Hashes, Geodaten-Indizes, Listen und sortierte Sätze. Dank seiner hohen Leistung bei datenintensiven Aufgaben wie der Berechnung von Satzschnittpunkten, dem Sortieren langer Listen oder dem Erstellen komplexer Rankings ist Redis gut für Data Science geeignet. Die herausragende Leistung von Redis beruht auf dem In-Memory-Betrieb. Es kann so konfiguriert werden, dass Daten selektiv gespeichert werden.

Big-Data-Frameworks

Stellen Sie sich vor, Sie müssen die Daten analysieren, die Facebook-Nutzer innerhalb eines Monats generieren. Dazu gehören Fotos, Videos, Nachrichten – alles. Wenn man bedenkt, dass täglich mehr als 500 Terabyte an Daten von Nutzern des sozialen Netzwerks hinzugefügt werden, ist es schwierig, das monatliche Datenvolumen zu bemessen.

Um solch riesige Datenmengen effektiv zu verarbeiten, benötigt man ein passendes Framework, das in der Lage ist, Statistiken auf einer verteilten Architektur zu berechnen. Hier sind zwei der führenden Frameworks auf dem Markt: Hadoop und Spark.

Hadoop

Als Big-Data-Framework befasst sich Hadoop mit der Komplexität der Datenbeschaffung, -verarbeitung und -speicherung großer Datenmengen. Hadoop arbeitet in einer verteilten Umgebung, die aus Computerclustern besteht, die einfache Algorithmen verarbeiten. Es verwendet einen Orchestrierungsalgorithmus namens MapReduce, der große Aufgaben in kleine Teile zerlegt und diese dann auf verfügbare Cluster verteilt.

Hadoop wird für Daten-Repositories im Enterprise-Bereich empfohlen, die schnellen Zugriff und hohe Verfügbarkeit in einem kostengünstigen Schema benötigen. Jedoch wird ein Linux-Administrator mit tiefgehenden Hadoop-Kenntnissen benötigt, um das Framework zu warten und zu betreiben.

Spark

Hadoop ist nicht das einzige Framework zur Manipulation von Big Data. Ein weiterer wichtiger Player in diesem Bereich ist Spark. Die Spark-Engine wurde entwickelt, um Hadoop in Bezug auf Analysegeschwindigkeit und Benutzerfreundlichkeit zu übertreffen. Anscheinend hat es dieses Ziel erreicht: Einige Vergleiche zeigen, dass Spark bis zu 10-mal schneller als Hadoop auf einer Festplatte und 100-mal schneller im Arbeitsspeicher arbeitet. Es benötigt auch eine geringere Anzahl von Maschinen, um die gleiche Datenmenge zu verarbeiten.

Ein weiterer Vorteil von Spark ist neben der Geschwindigkeit die Unterstützung der Stream-Verarbeitung. Diese Art der Datenverarbeitung, auch als Echtzeitverarbeitung bekannt, ist ein kontinuierlicher Ein- und Ausgabeprozess.

Visualisierungstools

Ein bekannter Witz unter Datenwissenschaftlern besagt, dass man, wenn man die Daten nur lange genug „quält“, sie preisgeben, was man wissen muss. Mit „Quälen“ ist in diesem Fall die Manipulation der Daten durch Transformation und Filterung gemeint, um sie besser visualisieren zu können. Hier kommen Datenvisualisierungstools ins Spiel. Sie nehmen die vorverarbeiteten Daten aus verschiedenen Quellen und präsentieren ihre Erkenntnisse in einer grafischen, verständlichen Form.

Es gibt Hunderte von Tools in dieser Kategorie. Am weitesten verbreitet ist Microsoft Excel mit seinen Diagrammtools. Excel-Diagramme sind für jeden zugänglich, der Excel verwendet, haben aber eine eingeschränkte Funktionalität. Dasselbe gilt für andere Tabellenkalkulationsprogramme wie Google Sheets und LibreOffice. Hier werden jedoch spezialisierte Tools vorgestellt, die auf Business Intelligence (BI) und Datenanalyse zugeschnitten sind.

PowerBI

Microsoft hat seine Visualisierungsanwendung PowerBI veröffentlicht. Es kann Daten aus verschiedenen Quellen wie Textdateien, Datenbanken, Tabellenkalkulationen und vielen Online-Datendiensten wie Facebook und Twitter nutzen und daraus Dashboards mit Diagrammen, Tabellen, Karten und anderen Visualisierungselementen erstellen. Die Elemente der Dashboards sind interaktiv, d. h. man kann auf eine Datenreihe in einem Diagramm klicken, um sie auszuwählen und als Filter für die anderen Elemente zu verwenden.

Power BI ist eine Kombination aus einer Windows-Desktopanwendung (Teil der Office 365-Suite), einer Webanwendung und einem Online-Dienst, um Dashboards im Web zu veröffentlichen und für Benutzer freizugeben. Mit dem Dienst können Sie Berechtigungen einrichten und verwalten, um nur bestimmten Personen den Zugriff auf die Dashboards zu ermöglichen.

Tableau

Tableau ist eine weitere Möglichkeit, interaktive Dashboards aus einer Kombination mehrerer Datenquellen zu erstellen. Es bietet auch eine Desktop-Version, eine Web-Version und einen Online-Dienst, um die erstellten Dashboards zu teilen. Es arbeitet natürlich „mit der Art und Weise, wie Sie denken“ (wie es selbst behauptet) und ist für technisch weniger versierte Personen einfach zu bedienen, unterstützt durch viele Tutorials und Online-Videos.

Einige der herausragenden Merkmale von Tableau sind seine unbegrenzten Datenkonnektoren, Live- und In-Memory-Daten sowie Designs, die für Mobilgeräte optimiert sind.

QlikView

QlikView bietet eine übersichtliche und unkomplizierte Benutzeroberfläche, die Analysten hilft, neue Erkenntnisse aus bestehenden Daten durch visuelle Elemente zu gewinnen, die für jeden leicht verständlich sind.

Dieses Tool ist bekannt als eine der flexibelsten Business-Intelligence-Plattformen. Es bietet eine Funktion namens Assoziative Suche, die Ihnen hilft, sich auf die wichtigsten Daten zu konzentrieren und Ihnen Zeit spart, die Sie sonst für die Suche benötigen würden.

Mit QlikView können Sie in Echtzeit mit Partnern zusammenarbeiten und Vergleichsanalysen durchführen. Alle relevanten Daten können in einer App kombiniert werden, mit Sicherheitsfunktionen, die den Zugriff auf die Daten einschränken.

Scraping-Tools

Zu Beginn des Internets begannen Webcrawler mit dem Internet zu reisen und Informationen zu sammeln. Als sich die Technologie weiterentwickelte, änderte sich der Begriff Web-Crawling zu Web Scraping, bedeutet aber weiterhin: Informationen automatisch von Websites zu extrahieren. Zum Web Scraping werden automatisierte Prozesse oder Bots verwendet, die von einer Webseite zur anderen springen, Daten extrahieren und in verschiedene Formate exportieren oder in Datenbanken für weitere Analysen einfügen.

Hier folgt eine Zusammenfassung der Eigenschaften von drei der heute beliebtesten Web Scraper.

Octoparse

Der Web Scraper Octoparse bietet einige interessante Funktionen, einschließlich integrierter Tools, um Informationen von Websites zu beziehen, die es Scraping-Bots nicht leicht machen. Es handelt sich um eine Desktop-Anwendung, die keine Programmierung erfordert, mit einer benutzerfreundlichen Oberfläche, die die Visualisierung des Extraktionsprozesses durch einen grafischen Workflow-Designer ermöglicht.

Neben der Desktop-Anwendung bietet Octoparse einen Cloud-basierten Dienst zur Beschleunigung des Datenextraktionsprozesses. Benutzer können eine 4- bis 10-fache Geschwindigkeitssteigerung erfahren, wenn sie den Cloud-Dienst anstelle der Desktop-Anwendung nutzen. Die Desktop-Version von Octoparse ist kostenlos nutzbar, aber für die Nutzung des Cloud-Dienstes muss man einen kostenpflichtigen Tarif wählen.

Content-Grabber

Wenn Sie ein funktionsreiches Scraping-Tool suchen, sollten Sie sich Content-Grabber ansehen. Im Gegensatz zu Octoparse erfordert Content Grabber fortgeschrittene Programmierkenntnisse. Im Gegenzug erhält man Skriptbearbeitung, Debugging-Schnittstellen und andere erweiterte Funktionen. Mit Content Grabber können .NET-Sprachen verwendet werden, um reguläre Ausdrücke zu schreiben, ohne diese mit einem integrierten Tool generieren zu müssen.

Das Tool bietet eine API (Application Programming Interface), mit der Sie Ihren Desktop- und Webanwendungen Scraping-Funktionen hinzufügen können. Um diese API nutzen zu können, benötigen Entwickler Zugriff auf den Windows-Dienst Content Grabber.

ParseHub

Dieser Scraper kann eine umfangreiche Liste verschiedener Inhaltstypen verarbeiten, darunter Foren, verschachtelte Kommentare, Kalender und Karten. Er kann auch mit Seiten umgehen, die Authentifizierung, Javascript, Ajax und mehr enthalten. ParseHub kann als Web-App oder Desktop-Anwendung genutzt werden und ist unter Windows, macOS X und Linux lauffähig.

Wie bei Content Grabber wird empfohlen, über Programmierkenntnisse zu verfügen, um ParseHub optimal nutzen zu können. Es gibt eine kostenlose Version, die auf 5 Projekte und 200 Seiten pro Durchlauf begrenzt ist.

Programmiersprachen

So wie SQL speziell für die Arbeit mit relationalen Datenbanken entwickelt wurde, gibt es auch andere Sprachen, die speziell für Data Science erstellt wurden. Diese Sprachen ermöglichen es Entwicklern, Programme für die umfangreiche Datenanalyse zu schreiben, z. B. für Statistik und maschinelles Lernen. SQL ist ebenfalls eine wichtige Fähigkeit für Entwickler im Bereich Data Science, da viele Unternehmen noch viele Daten in relationalen Datenbanken speichern. Die „eigentlichen“ Data-Science-Sprachen sind R und Python.

Python

Python ist eine universelle, interpretierte Hochsprache, die sich gut für die schnelle Anwendungsentwicklung eignet. Sie verfügt über eine einfache und leicht erlernbare Syntax, die eine kurze Lernkurve und geringere Kosten für die Programmpflege ermöglicht. Es gibt viele Gründe, warum sie die bevorzugte Sprache für Data Science ist, wie z.B. Skripting-Potenzial, Lesbarkeit, Portabilität und Leistung.

Diese Sprache ist ein guter Ausgangspunkt für Data Scientists, die viel experimentieren wollen, bevor sie sich in die echte Datenverarbeitung stürzen, und die vollständige Anwendungen entwickeln möchten.

R

Die R-Sprache wird hauptsächlich für statistische Datenverarbeitung und grafische Darstellung verwendet. Obwohl sie nicht für die Entwicklung vollwertiger Anwendungen, wie Python, gedacht ist, hat R in den letzten Jahren aufgrund seines Potenzials für Data Mining und Data Analytics stark an Popularität gewonnen.

Dank einer ständig wachsenden Bibliothek frei verfügbarer Pakete, die ihre Funktionalität erweitern, ist R in der Lage, alle Arten von datenintensiven Aufgaben durchzuführen, einschließlich linearer/nichtlinearer Modellierung, Klassifizierung, statistischer Tests usw.

Sie ist keine leicht zu erlernende Sprache, aber sobald man sich mit ihrer Philosophie vertraut gemacht hat, kann man statistische Berechnungen wie ein Profi durchführen.

IDEs

Wenn Sie sich ernsthaft der Data Science widmen möchten, sollten Sie eine integrierte Entwicklungsumgebung (IDE) wählen, die Ihren Bedürfnissen entspricht. Sie werden schließlich viel Zeit mit Ihrer IDE verbringen.

Eine ideale IDE sollte alle Werkzeuge zusammenfassen, die man in der täglichen Arbeit benötigt: einen Texteditor mit Syntaxhervorhebung und Autovervollständigung, einen leistungsstarken Debugger, einen Objektbrowser und einen einfachen Zugriff auf externe Tools. Außerdem muss die IDE mit der bevorzugten Programmiersprache kompatibel sein. Daher ist es eine gute Idee, die IDE auszuwählen, nachdem Sie wissen, welche Sprache Sie verwenden werden.

Spyder

Diese IDE ist hauptsächlich für Wissenschaftler und Analysten gedacht, die auch programmieren müssen. Um es ihnen bequem zu machen, beschränkt sie sich nicht auf die IDE-Funktionalität, sondern bietet auch Tools für die Datenexploration/Visualisierung und interaktive Ausführung. Der Editor von Spyder unterstützt mehrere Sprachen und fügt einen Klassenbrowser, Fensteraufteilung, Jump-to-Definition, automatische Codevervollständigung und sogar ein Codeanalysetool hinzu.

Der Debugger hilft Ihnen, jede Codezeile interaktiv zu verfolgen, und ein Profiler hilft Ihnen, Ineffizienzen zu finden und zu beheben.

PyCharm

Wenn Sie in Python programmieren, ist PyCharm wahrscheinlich die IDE Ihrer Wahl. Sie verfügt über einen intelligenten Code-Editor mit intelligenter Suche, Code-Vervollständigung sowie Fehlererkennung und -behebung. Mit nur einem Klick können Sie vom Code-Editor zu jedem kontextbezogenen Fenster springen, einschließlich Test, Super-Methode, Implementierung, Deklaration und mehr. PyCharm unterstützt Anaconda und viele wissenschaftliche Pakete wie NumPy und Matplotlib.

Es bietet Integration mit den wichtigsten Versionskontrollsystemen sowie mit einem Testrunner, einem Profiler und einem Debugger. Zur Abrundung integriert es auch Docker und Vagrant für plattformübergreifende Entwicklung und Containerisierung.

RStudio

Für diejenigen Data Scientists, die R bevorzugen, sollte RStudio die ideale IDE sein, wegen ihrer vielen Funktionen. Man kann sie auf einem Desktop mit Windows, macOS oder Linux installieren oder über einen Webbrowser ausführen. Beide Versionen bieten Extras wie Syntaxhervorhebung, intelligente Einrückung und Codevervollständigung. Es gibt einen integrierten Datenbetrachter, der praktisch ist, wenn man tabellarische Daten durchsuchen muss.

Der Debugging-Modus ermöglicht es, zu sehen, wie die Daten dynamisch aktualisiert werden, wenn ein Programm oder Skript Schritt für Schritt ausgeführt wird. Zur Versionskontrolle integriert RStudio die Unterstützung für SVN und Git. Ein netter Vorteil ist die Möglichkeit, interaktive Grafiken mit Shiny zu erstellen.

Ihr persönlicher Werkzeugkasten

An dieser Stelle sollten Sie einen umfassenden Überblick über die Werkzeuge haben, die man kennen sollte, um in der Datenwissenschaft erfolgreich zu sein. Außerdem hoffen wir, dass Sie genügend Informationen erhalten haben, um zu entscheiden, welches Tool in jeder Werkzeugkategorie am besten für Sie geeignet ist. Jetzt liegt es an Ihnen. Data Science ist ein wachsendes Feld mit Karrierepotential. Wenn Sie aber darin erfolgreich sein möchten, müssen Sie mit den Veränderungen von Trends und Technologien Schritt halten, da diese fast täglich stattfinden.