Python oder R lernen, oder beides?

3 Antworten

Von Experte KarlRanseierIII bestätigt

Kommt drauf an.

  • Python ist grundlegend als Allzwecksprache gedacht und funktioniert auch so. Natürlich ist es nicht für jeden Zweck gleich gut, aber in der Verarbeitung und Analyse von Daten ist es mit SciPy/Pandas usw. sehr gut.
  • R ist die Sprache für Datenaufbereitung, Analyse und perfekt druckreife Publikation - und für sonst fast nichts. Das Tidyverse ist einfach fantastisch und übertrifft an Mächtigkeit und Qualität m.E. alles, was in Python in diesem speziellen Gebiet derzeit verfügbar ist - wobei einiges auch nach Python portiert wurde (ggplot etwa). Es gibt auch viele Bibliotheken für Spezialthemen wie Biostatistik usw. Weniger gut geeignet ist es für wirklich riesige Datenmengen, die man parallel bearbeiten muss - R ist immer noch eher auf "was ins RAM passt" ausgerichtet.

Wenn's dir also wirklich vor allem um die Datenauswertung und Publikation geht, ist R eine gute Wahl und ein paar Tage Lernaufwand wert. Für etwaiges Scripting rundherum kann man dann ja auch Python einsetzen.

Während man sowohl R als auch Python für Datenauswertung verwenden kann, gibt es eine klare "Straßengabelung".

Statistische Modellierung: Da viele Statistiker R verwenden, gibt es viele Bibliotheken für statistische Modellierung, die von sehr guter Qualität sind. Eine bekanntes Beispiel ist EpiEstim. Damit kann man die Ansteckungsrate berechnen. Scipy stellt nur fundamentale statistische Funktionen. Wenn es um ein fortgeschrittenes Thema geht, ist Python gar nicht bequem.

Visualisierung: ggplot2, Rmarkdown, flexdashboard, (gg)plotly, Shiny, ... Für R steht viele praktische Bibliotheken für Visualisierung und Reporting. Man kann richtig einfach einen schönen Report mit R erstellen. David Robinson, ein Data Scientist, macht fast jede Woche ein screen cast. Er erstellt viele schöne Diagramme richtig schnell. Leider kann man mit Python nicht so schnell Daten analysieren.

Deep Learning: Wenn Deep Learning benötigt ist, beziehungsweise, du Fotos, Videos, Signals oder Texten verarbeiten und auswerten möchtest, ist Python De-Facto-Standard wegen PyTorch und TensorFlow. Leider ist R immer in der zweiten Klasse in der Welt von Deep Learning.

ML in der Produktion: Da Python eine allgemeine Programmiersprache ist, gibt es viele Software-Entwickler und DevOps Engineers, die Python verstehen können. Deswegen ist Python besser, wenn man ein trainiertes Modell in Produktion verwenden möchte. R in der Produktion wollte ich nicht überlegen...

Diese vier Punkte sind meiner Meinung nach das Urteilsmaterial.

Aber wenn du eine Programmiersprache für Masterarbeit brauchst, solltest du einmal die Frage an den Mitgliedern oder dem Professor vom Lab (von deiner Fachrichtung) stellen. Was für eine Programmiersprache man für Datenauswertung verwendet, ist nämlich abhängig vom Community. Es ist auch möglich, dass du eigentlich MATLAB verwendest.

Übrigens, wenn deine Fachrichtung Data Science ist, dann solltest du auf jeden Fall die beiden Programmiersprachen lernen.

Woher ich das weiß:Berufserfahrung – als data scientist / machine learning engineer
giordanobru 
Fragesteller
 18.02.2021, 09:19

Danke für die ausführliche Antwort!

0

Ich hab bisher mit pandas & numpy (Python) gearbeitet und fand das recht angenehm. Außerdem kannst du später deine Python-Kenntnisse auch gut in anderen Bereichen anwenden, wenn mal irgendwas programmiert werden soll.