Jährlich erstellt GitHub den Octoverse Report, der einen Überblick darüber bietet, woran die zahlreichen Entwickler auf GitHub arbeiten. Über die Ergebnisse des Octoverse Report 2018 berichteten wir bereits. Der Octoverse Report vom Zeitraum 1. Oktober 2017 bis 30. September 2018 förderte zutage, dass Machine Learning unter den beliebtesten Themen des Jahres war.
Auf Basis dieses Hintergrundes hat sich GitHub entschieden, weitere Nachforschungen über Machine Learning anzustellen. Dafür wurden zusätzliche Daten im Zeitraum 1. Januar bis 31. Dezember 2018 untersucht: GitHub-Repositories mit dem Tag „machine-learning“ wurden auf die verwendeten Programmiersprachen hin ausgewertet.
Efficient Transformers
Christoph Henkelmann, DIVISIO
Enhancing Page Visits by Topic Prediction
Dieter Jordens, Continuum Consulting NV
Machine Learning on Edge using TensorFlow
Håkan Silfvernagel, Miles AS
Die beliebtesten Programmiersprachen für Machine Learning
Python stellte sich dabei als Sieger heraus: Die meisten Repositories, die mit „machine-learning“ getaggt sind, basieren auf Python. Bereits in den allgemeinen Top 10 der beliebtesten Programmiersprachen hatte Python einen der vorderen Plätze ergattert: Im Octoverse 2018 erzielte Python Platz 3. Aber auch einige weitere Sprachen befinden sich sowohl unter den Top 10 der allgemein beliebtesten Programmiersprachen als auch unter den Top 10 für Machine Learning: C++, JavaScript, Java, C#, Shell und TypeScript.
Dagegen sind Julia, R und Scala ausschließlich unter den zehn Spitzenplätzen für Machine Learning zu finden. Julia und R sind von Data Scientists häufig verwendete Programmiersprachen, während Scala in Kombination mit Big-Data-Systemen wie Apache Spark an Bedeutung gewinnt.
Die beliebtesten Python-Packages für Machine Learning und Data Science
GitHub wollte noch mehr erfahren: Auch für die importierten Python-Packages wurde eine Top-10-Liste erstellt. Dazu wurde die prozentuale Anzahl der Projekte aus den Themenbereichen Machine Learning und Data Science ausgewertet, die beliebte Python-Packages importierten. An erster Stelle steht das Package NumPy, das in beinahe dreiviertel aller ML- oder Data-Science-Projekte verwendet wurde. Es bietet Support für mathematische Operationen, die auf multidimensionale Daten angewendet werden können.
SciPy wird in beinahe der Hälfte der Projekte verwendet: Es ist ein Package für wissenschaftliche Kalkulationen. Pandas, ein Package zur Verwaltung von Datensätzen, und Matplotlib, eine Visualization Library, erzielen jeweils über 40 %. Das knapp darunter fünftplatzierte Package Scikit-learn beinhaltet Implementierungen einer großen Anzahl an ML-Algorithmen. TensorFlow, Googles Parade-Package zum Arbeiten mit neuronalen Netzen, findet noch in beinahe einem Viertel der Projekte Anwendung und landet somit auf Platz 7. Auf den restlichen Plätzen befinden sich Utility-Packages: Six ist eine mit Python 2 und 3 kompatible Library, Python-dateutil and Pytz sind Packages zum Arbeiten mit Daten.
Die beliebtesten Machine-Learning-Projekte
GitHub interessierte sich auch dafür, an welchen Machine-Learning-Projekten die meisten Entwickler arbeiteten. Dazu wurden alle Open-Source-Projekte mit dem Tag „machine-learning“ im Jahr 2018 ausgewertet. TensorFlow sicherte sich deutlich den ersten Platz; es hatte fünfmal so viele Beitragende wie das zweitplatzierte Projekt Scikit-learn. Auf Platz 3 landet das Natural-Language-Processing-Projekt explosion/spaCy. Auch an dieser Stelle taucht die Programmiersprache Julia wieder auf: Der Source Code von Julia zählt mit Platz 4 zu den Projekten, an denen im letzten Jahr die meisten Entwickler beitrugen.
Weitere Details zum Octoverse Report 2018 und den zusätzlichen Auswertungen in Bezug auf Machine Learning können auf dem GitHub-Blog eingesehen werden.