Data Science im Wandel Datenwissenschaft – Revolution durch Sprachen

Ein Gastbeitrag von Dipl. Betriebswirt Otto Geißler 4 min Lesedauer

Anbieter zum Thema

Sprachen wie Python oder Rust sind für Datenwissenschaftler nicht nur wegen ihrer Usability von Bedeutung, sondern auch wegen des Vorteils, datengesteuertes Arbeiten über Bibliotheken von Drittanbietern zu ermöglichen.

Programmiersprachen gehören zu den wichtigsten Data-Science-Tools.(Bild:  Dall-E / KI-generiert)
Programmiersprachen gehören zu den wichtigsten Data-Science-Tools.
(Bild: Dall-E / KI-generiert)

Mithilfe der modernen Datenwissenschaft ist es möglich, aus gesammelten Daten wichtige Erkenntnisse zu ziehen und diese wertschöpfend einzusetzen. Daher wird dieser Bereich oftmals als Kernfunktion der digitalen Transformation betrachtet.

Daraus ergeben sich Use Cases wie beispielsweise eine vorausschauende Wartung (Predictive Maintenance) oder Betrugserkennung (Fraud Detection) und vieles mehr. In der Folge sind drei Programmiersprachen näher zu betrachten, die einen großen Einfluss auf die moderne Datenwissenschaft ausüben:

Python – die bevorzugte Sprache für Data Science

Im Prinzip ist Python mittlerweile die De-facto-Sprache für die Datenwissenschaft geworden. Dies hat verschiedene Gründe: Zunächst ist Python eine Sprache, die sich relativ einfach programmieren lässt. Entwickler können mit Python schnell den Prototypen einer funktionierenden Software erstellen.

Falls notwendig lässt sich die Performance im Laufe der Zeit schrittweise optimieren. Ferner erfordern Data-Science-Projekte mit Python für die Realisierung im Vergleich zu anderen Sprachen auch weniger Zeit.

Das Python-Ökosystem verfügt über eine große Entwickler-Community und besteht aus einem umfangreichen Angebot an Drittanbieter-Bibliotheken, die speziell für Datenanalyse, Visualisierung und maschinelles Lernen entwickelt wurden. Diese Bibliotheken helfen dabei, die komplexen Algorithmen, die Datenwissenschaftler benötigen, schneller und einfacher zu implementieren.

Das bedeutet, dass bereits vorgefertigte Lösungen für verschiedene Aufgaben vorliegen, beispielsweise Bibliotheken zum Verarbeiten von Zahlen (NumPy, Pandas, Polars), Grafik- und Plottools (Bokeh, Plotly), Notebook-Umgebungen für reproduzierbare Arbeit (Jupyter), Toolkits für Maschinelles Lernen und KI (PyTorch), Analyse-Tools (DuckDB).

Python eignet sich insbesondere für folgende Data Science-Aufgaben: Data Mining und Vorverarbeitung, Implementierung von Algorithmen für Maschinelles Lernen, Erstellung datengesteuerter Web-Anwendungen sowie Ausführung statistischer Analysen und Modellierungen.

Rust – der große Trend

Aufgrund der Performance und den Sicherheitsfunktionen ist Rust eine gute Alternative für Aufgaben in der Datenwissenschaft. Rust verfügt zwar nicht über alle Funktionen von Python, bietet jedoch Effizienz beim Umgang mit großen Datensätzen. Darüber hinaus können Entwickler eine Reihe von Bibliotheken verwenden, die speziell für die Datenanalyse entwickelt wurden, um den Arbeitsablauf weiter zu optimieren.

Mit Rust ist es möglich, Data-Science-Tools zu schreiben, die schnell laufen, echte Parallelität verwenden, speichersicher sind und viele Fehlerquellen vermeiden. Dies sind alles Funktionen, die bei der Arbeit mit Daten im großen Maßstab von Bedeutung sind. Einige Datenwissenschaftler konnten bereits Erfahrung mit Rust-Tools sammeln. Die Polars-Bibliothek für Dataframes wurde beispielsweise in Rust geschrieben und kann vor allem in vielen anderen Sprachen, einschließlich Python, verwendet werden.

Aber auch die nativen Paketsammlungen von Rust („Crates“) ermöglichen Datenwissenschaftlern direkt in der Sprache zu arbeiten. Die ndarray-Crate bietet leistungsstarke Matrizenmathematik-Tools, die in etwa mit „Numpy“ in Python vergleichbar sind. Die Plotter-Crate rendert Diagramme und Grafiken. Und das „evcxr_jupyter“-Projekt stellt einen „Jupyter“-Kernel für die Verwendung von Rust in einer Notebook-Umgebung bereit. Ferner ist es einfacher, aus einem Rust-Projekt eine verteilbare Binärdatei zu generieren als beispielsweise mit Python oder Julia, was für die Datenwissenschaft von Vorteil ist.

Während beispielsweise bei Python die Ausführungsgeschwindigkeit geringer als die Entwicklungsgeschwindigkeit ist, verhält es sich bei Rust genau umgekehrt. Rust hat eine steilere Lernkurve als beispielsweise Python oder Julia, und das Schreiben eines Rust-Programms kann länger dauern als bei einem Python- oder Julia-Programm.

Dies qualifiziert Rust weniger für Projekte, die in kurzer Zeit als Prototyp erstellt werden müssen, jedoch für Aufgaben, bei denen Korrektheit und Sicherheit wichtiger sind. Die Sicherheitsfunktionen von Rust eignen sich daher ideal für die Entwicklung von Data-Science-Bibliotheken oder öffentlichen Anwendungen, aber es ist möglicherweise nicht die beste Wahl für Projekte, die vielleicht nur für den internen Gebrauch bestimmt sind.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu RZ- und Server-Technik

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Julia – Top-Performance für technisches Rechnen

Die noch etwas junge Sprache Julia wurde speziell für Datenwissenschaftler beziehungsweise für numerische und wissenschaftliche Berechnungen entwickelt. Sie bietet eine schnelle Verarbeitung, die für den Umgang mit komplexen Datensätzen erforderlich ist.

Julia lässt sich gut mit Python und C integrieren und kombiniert die Einfachheit von Hochsprachen mit der Leistungsfähigkeit von Niedrigsprachen. Mit Julia sollte eine Sprache entstehen, die so einfach zu handhaben ist wie Python und so schnell wie C ist, aber ohne dass Entwickler für optimale Ergebnisse gleichzeitig in mehr als einer Sprache arbeiten müssen.

Julia entfaltet ihre große Performance, indem sie mithilfe des LLVM-Compiler-Systems „just-in-time“ kompiliert oder JITed wird, um maschinen-nativen Code zu erzeugen. Julia-Code hat die Einfachheit der Python-Syntax, ist also unkompliziert zu schreiben und liefert schnelle Ergebnisse. Überzeugend sind auch die folgenden Data-Science-Aufgaben, die Julia beherrscht:

  • Durchführen rechenintensiver Aufgaben wie Simulationen und numerische Optimierung.
  • Entwicklung leistungsstarker Modelle und Algorithmen für maschinelles Lernen.
  • Rapid Prototyping und explorative Datenanalyse.
  • Kombination mehrerer Programmierparadigmen (prozedural, funktional und objektorientiert).
  • Integration in vorhandene Python- und C/C++-Codebasen.

Da die Programmiersprache Julia in der Data Science-Szene noch relativ neu ist, fehlen ihr ausgereifte Schnittstellen, eine umfangreiche Dokumentation, ausreichend Support sowie wiederverwendbare Bibliotheken, die in der Regel bei etablierten Sprachen zu finden sind.

Artikelfiles und Artikellinks

(ID:50248041)