sdecoret - stock.adobe.com
Diese 18 Tools sollten Datenwissenschaftler kennen
Datenwissenschaftler können auf zahlreiche Tools zurückgreifen. Wir stellen 18 Tools vor, einschließlich ihrer Funktionen, Möglichkeiten und Einsatzzwecke.
Die zunehmende Menge und Komplexität von Unternehmensdaten und ihre zentrale Rolle bei der Entscheidungsfindung und strategischen Planung veranlassen Unternehmen dazu, in die Mitarbeiter, Prozesse und Technologien zu investieren, die sie benötigen, um wertvolle Geschäftseinblicke aus ihren Datenbeständen zu gewinnen. Dazu gehört auch eine Reihe von Tools, die üblicherweise in Data-Science-Anwendungen eingesetzt werden.
Data-Science-Teams, die ihr Portfolio an Basistechnologien aufbauen, um diese Analyseziele zu erreichen, können aus einer großen Auswahl an Tools und Plattformen wählen. Im Folgenden finden Sie eine Übersicht über 18 Data Science Tools, die Sie beim Analyseprozess unterstützen können. Sie sind in alphabetischer Reihenfolge aufgelistet und enthalten Details zu ihren Funktionen und Möglichkeiten – sowie einige potenzielle Einschränkungen.
1. Apache Spark
Apache Spark ist eine Open-Source-Datenverarbeitungs- und -Analyse-Engine, die große Datenmengen verarbeiten kann – laut Anwendern bis zu mehreren Petabytes. Die Fähigkeit von Spark, Daten schnell zu verarbeiten, hat die Nutzung der Plattform seit ihrer Entwicklung im Jahr 2009 erheblich gesteigert und dazu beigetragen, dass das Spark-Projekt zu einer der größten Open-Source-Communities unter den Big-Data-Technologien geworden ist.
Aufgrund seiner Geschwindigkeit eignet sich Spark gut für Continuous-Intelligence-Anwendungen, die auf der nahezu Echtzeitverarbeitung von Streaming-Daten basieren. Als verteilte Allzweck-Verarbeitungs-Engine ist Spark jedoch auch für Extrahier-, Transformier- und Ladeanwendungen (ETL) und andere SQL-Batch-Aufgaben geeignet. Tatsächlich wurde Spark ursprünglich als schnellere Alternative zur MapReduce-Engine für die Stapelverarbeitung in Hadoop-Clustern angepriesen.
Spark wird immer noch häufig in Verbindung mit Hadoop eingesetzt, kann aber auch eigenständig mit anderen Dateisystemen und Datenspeichern verwendet werden. Es verfügt über ein umfangreiches Paket an Entwicklerbibliotheken und APIs, darunter eine Bibliothek für maschinelles Lernen und Unterstützung für wichtige Programmiersprachen, die es Datenwissenschaftlern erleichtern, die Plattform schnell in Betrieb zu nehmen.
2. D3.js
D3.js, ein weiteres Open Source Tool, ist eine JavaScript-Bibliothek zur Erstellung benutzerdefinierter Datenvisualisierungen in einem Webbrowser. Es ist allgemein als D3 bekannt, was für Data-Driven Documents (datengesteuerte Dokumente) steht, und verwendet Webstandards wie HTML, Scalable Vector Graphics und CSS anstelle eines eigenen grafischen Vokabulars. Die Entwickler von D3 beschreiben es als ein dynamisches und flexibles Werkzeug, das einen minimalen Aufwand für die Erstellung visueller Darstellungen von Daten erfordert.
Mit D3.js können Visualisierungsdesigner Daten über das Document Object Model (DOM) an Dokumente binden und dann DOM-Manipulationsmethoden verwenden, um datengesteuerte Transformationen an den Dokumenten vorzunehmen. Die 2011 erstmals veröffentlichte Software kann für die Gestaltung verschiedener Arten von Datenvisualisierungen verwendet werden und unterstützt Funktionen wie Interaktion, Animation, Annotation und quantitative Analyse.
D3 umfasst mehr als 30 Module und 1.000 Visualisierungsmethoden, was das Erlernen der Software kompliziert macht. Hinzu kommt, dass viele Datenwissenschaftler keine JavaScript-Kenntnisse haben. Daher sind sie möglicherweise mit einem kommerziellen Visualisierungs-Tool wie Tableau besser bedient, so dass D3 eher von Datenvisualisierungsentwicklern und -spezialisten verwendet wird, die auch Mitglieder von Data-Science-Teams sind.
3. IBM SPSS
IBM SPSS ist eine Softwarefamilie für die Verwaltung und Analyse komplexer statistischer Daten. Sie umfasst zwei Hauptprodukte: SPSS Statistics, ein Tool zur statistischen Analyse, Datenvisualisierung und Berichterstellung, und SPSS Modeler, eine Plattform für Data Science und Predictive Analytics mit einer Drag-and-Drop-Oberfläche und Funktionen für maschinelles Lernen.
SPSS Statistics deckt jeden Schritt des Analyseprozesses ab, von der Planung bis zur Modellbereitstellung, und ermöglicht es den Benutzern unter anderem, Beziehungen zwischen Variablen zu klären, Cluster von Datenpunkten zu erstellen, Trends zu erkennen und Vorhersagen zu treffen. Es kann auf gängige strukturierte Datentypen zugreifen und bietet eine Kombination aus einer menügesteuerten Benutzeroberfläche, einer eigenen Befehlssyntax und der Möglichkeit zur Integration von R- und Python-Erweiterungen sowie Funktionen zur Automatisierung von Verfahren und Import-Export-Verbindungen zu SPSS Modeler.
Die 1968 von SPSS Inc. zunächst unter dem Namen Statistical Package for the Social Sciences entwickelte Software für statistische Analysen wurde 2009 von IBM übernommen, zusammen mit der Plattform für prädiktive Modellierung, die SPSS zuvor gekauft hatte. Obwohl die Produktfamilie offiziell IBM SPSS heißt, wird die Software in der Regel weiterhin einfach als SPSS bezeichnet.
4. Julia
Julia ist eine Open-Source-Programmiersprache, die für numerische Berechnungen, maschinelles Lernen und andere Arten von Data-Science-Anwendungen verwendet wird. In einem Blogbeitrag aus dem Jahr 2012, in dem Julia angekündigt wurde, erklärten die vier Schöpfer, dass sie eine Sprache entwickeln wollten, die alle ihre Bedürfnisse abdeckt. Ein Ziel war es, zu vermeiden, dass Programme in einer Sprache geschrieben und für die Ausführung in eine andere konvertiert werden müssen.
Zu diesem Zweck kombiniert Julia den Komfort einer dynamischen Programmiersprache mit einer Leistung, die mit statisch typisierten Sprachen wie C und Java vergleichbar ist. Benutzer müssen keine Datentypen in Programmen definieren, aber eine Option erlaubt ihnen dies zu tun. Die Verwendung eines Multiple-Dispatch-Ansatzes zur Laufzeit trägt ebenfalls zu einer höheren Ausführungsgeschwindigkeit bei.
Julia 1.0 ist seit 2018 verfügbar, neun Jahre nach Beginn der Arbeit an der Sprache. In der Dokumentation zu Julia wird darauf hingewiesen, dass sich der Compiler von den Interpretern in Data-Science-Sprachen wie Python und R unterscheidet und neue Benutzer Julia anfangs vielleicht nicht intuitiv finden. Aber wenn man einmal verstanden hat, wie Julia funktioniert, ist es einfach, Code zu schreiben, der fast so schnell ist wie C.
5. Jupyter Notebook
Jupyter Notebook ist eine Open-Source-Webanwendung, die eine interaktive Zusammenarbeit zwischen Datenwissenschaftlern, Dateningenieuren, Mathematikern, Forschern und anderen Nutzern ermöglicht. Es handelt sich dabei um ein computergestütztes Notebook, das zum Erstellen, Bearbeiten und Freigeben von Code sowie von erklärenden Texten, Bildern und anderen Informationen verwendet werden kann. Jupyter-Benutzer können beispielsweise Softwarecode, Berechnungen, Kommentare, Datenvisualisierungen und Rich-Media-Darstellungen von Berechnungsergebnissen in ein einziges Dokument, ein so genanntes Notebook, einfügen, das dann mit Kollegen geteilt und von diesen überarbeitet werden kann.
In der Dokumentation von Jupyter Notebook heißt es, dass die Notebooks als vollständige Aufzeichnung interaktiver Sitzungen zwischen den Mitgliedern von Data-Science-Teams dienen können. Bei den Notebook-Dokumenten handelt es sich um JSON-Dateien, die über Versionskontrollfunktionen verfügen. Außerdem können sie mit einem Notebook-Viewer-Dienst als statische Webseiten dargestellt werden, damit sie von Benutzern, die Jupyter nicht auf ihren Systemen installiert haben, angezeigt werden können.
Die Wurzeln von Jupyter Notebook liegen in der Programmiersprache Python. Ursprünglich war es Teil des Open-Source-Projekts IPython Interactive Toolkit, bevor es 2014 abgespalten wurde. Die lose Kombination von Julia, Python und R gab Jupyter seinen Namen; neben der Unterstützung dieser drei Sprachen verfügt Jupyter über modulare Kernel für Dutzende anderer Sprachen. Das Open-Source-Projekt umfasst auch JupyterLab, eine neuere webbasierte Benutzeroberfläche, die flexibler und erweiterbar ist als die ursprüngliche.
6. Keras
Keras ist eine Programmierschnittstelle, die es Datenwissenschaftlern ermöglicht, einfacher auf die TensorFlow-Plattform für maschinelles Lernen zuzugreifen und sie zu nutzen. Es handelt sich um eine quelloffene Deep-Learning-API und ein in Python geschriebenes Framework, das auf TensorFlow aufsetzt und jetzt in diese Plattform integriert ist. Keras unterstützte zuvor mehrere Backends, war aber ab Version 2.4.0 im Juni 2020 ausschließlich an TensorFlow gebunden.
Als High-Level-API wurde Keras entwickelt, um einfaches und schnelles Experimentieren zu ermöglichen, das weniger Kodierung erfordert als andere Deep-Learning-Optionen. Ziel ist es, die Implementierung von Modellen für maschinelles Lernen – insbesondere von neuronalen Netzen für Deep Learning – durch einen Entwicklungsprozess mit hoher Iterationsgeschwindigkeit zu beschleunigen, wie es in der Keras-Dokumentation heißt.
Das Keras-Framework umfasst eine sequenzielle Schnittstelle zum Erstellen relativ einfacher linearer Batches von Layern mit Eingängen und Ausgängen sowie eine funktionale API zum Erstellen komplexerer Graphen von Layern oder zum Schreiben von Deep-Learning-Modellen von Grund auf. Keras-Modelle können auf CPUs oder GPUs laufen und auf mehreren Plattformen eingesetzt werden, darunter Webbrowser sowie Android- und iOS-Mobilgeräte.
7. Matlab
Matlab, das seit 1984 vom Softwarehersteller MathWorks entwickelt und vertrieben wird, ist eine High-Level-Programmiersprache und eine Analyse-Umgebung für numerische Berechnungen, mathematische Modellierung und Datenvisualisierung. Es wird in erster Linie von Ingenieuren und Wissenschaftlern verwendet, um Daten zu analysieren, Algorithmen zu entwerfen und eingebettete Systeme für die drahtlose Kommunikation, die industrielle Steuerung, die Signalverarbeitung und andere Anwendungen zu entwickeln, oft in Verbindung mit dem Simulink-Tool, das modellbasierte Entwurfs- und Simulationsfunktionen bietet.
Matlab wird zwar nicht so häufig für datenwissenschaftliche Anwendungen eingesetzt wie Sprachen wie Python, R und Julia, aber es unterstützt maschinelles Lernen und Deep Learning, prädiktive Modellierung, Big Data Analytics, Computer Vision und andere Arbeiten von Datenwissenschaftlern. Die in die Plattform integrierten Datentypen und High-Level-Funktionen wurden entwickelt, um die explorative Datenanalyse und Datenaufbereitung in Analyseanwendungen zu beschleunigen.
Matlab – die Abkürzung für Matrix Laboratory – gilt als relativ einfach zu erlernen und zu verwenden und umfasst vorgefertigte Anwendungen, ermöglicht es den Benutzern aber auch, ihre eigenen Anwendungen zu erstellen. Darüber hinaus verfügt es über eine Bibliothek von Add-on-Toolboxen mit disziplinspezifischer Software und Hunderten von integrierten Funktionen, einschließlich der Möglichkeit, Daten in 2D- und 3D-Diagrammen zu visualisieren.
8. Matplotlib
Matplotlib ist eine Open Source Python-Plot-Bibliothek, die zum Lesen, Importieren und Visualisieren von Daten in Analyse-Anwendungen verwendet wird. Datenwissenschaftler und andere Benutzer können mit Matplotlib statische, animierte und interaktive Datenvisualisierungen erstellen und sie in Python-Skripten, den Python- und IPython-Shells, Jupyter Notebook, Webanwendungsservern und verschiedenen GUI-Toolkits verwenden.
Die große Codebasis der Bibliothek kann eine Herausforderung sein, aber sie ist in einer hierarchischen Struktur organisiert, die es den Benutzern erlaubt, Visualisierungen hauptsächlich mit High-Level-Befehlen zu erstellen. Die oberste Komponente in der Hierarchie ist pyplot, ein Modul, das eine State-Machine-Umgebung und eine Reihe von einfachen Plot-Funktionen ähnlich denen in Matlab bietet.
Die 2003 erstmals veröffentlichte Matplotlib enthält auch eine objektorientierte Schnittstelle, die zusammen mit pyplot oder eigenständig verwendet werden kann; sie unterstützt Low-Level-Befehle für komplexere Datenplots. Die Bibliothek ist in erster Linie auf die Erstellung von 2D-Visualisierungen ausgerichtet, bietet aber auch ein Add-on-Toolkit mit 3D-Plot-Funktionen.
9. NumPy
NumPy, die Abkürzung für Numerical Python, ist eine Open Source Python-Bibliothek, die in den Bereichen wissenschaftliches Rechnen, Technik, Data Science und maschinelles Lernen weit verbreitet ist. Die Bibliothek besteht aus mehrdimensionalen Array-Objekten und Routinen zur Verarbeitung dieser Arrays, um verschiedene mathematische und logische Funktionen zu ermöglichen. Sie unterstützt auch lineare Algebra, Zufallszahlengenerierung und andere Operationen.
Eine der Kernkomponenten von NumPy ist das N-dimensionale Array oder ndarray, das eine Sammlung von Elementen desselben Typs und derselben Größe darstellt. Ein zugehöriges Datentypobjekt beschreibt das Format der Datenelemente in einem Array. Dieselben Daten können von mehreren ndarrays gemeinsam genutzt werden, und Datenänderungen, die in einem Array vorgenommen werden, können in einem anderen angezeigt werden.
NumPy wurde 2006 durch die Kombination und Modifizierung von Elementen zweier früherer Bibliotheken entwickelt. Auf der NumPy-Website wird NumPy als universeller Standard für die Arbeit mit numerischen Daten in Python beschrieben und gilt aufgrund seiner zahlreichen integrierten Funktionen als eine der nützlichsten Bibliotheken für Python. Sie ist auch für ihre Geschwindigkeit bekannt, was zum Teil auf die Verwendung von optimiertem C-Code in ihrem Kern zurückzuführen ist. Darüber hinaus bauen verschiedene andere Python-Bibliotheken auf NumPy auf.
10. pandas
Eine weitere beliebte Open Source Python-Bibliothek, pandas, wird typischerweise für die Datenanalyse und -manipulation verwendet. Sie baut auf NumPy auf und bietet zwei primäre Datenstrukturen: das eindimensionale Array Series und den DataFrame, eine zweidimensionale Struktur zur Datenmanipulation mit integrierter Indexierung. Beide können Daten von NumPy ndarrays und anderen Eingaben akzeptieren; ein DataFrame kann auch mehrere Series-Objekte enthalten.
pandas wurde 2008 veröffentlicht und verfügt über integrierte Datenvisualisierungsfunktionen, Funktionen zur explorativen Datenanalyse und Unterstützung für Dateiformate und Sprachen wie CSV, SQL, HTML und JSON. Darüber hinaus bietet es Funktionen wie intelligente Datenausrichtung, integrierte Behandlung fehlender Daten, flexible Umformung und Pivotierung von Datensätzen, Datenaggregation und -transformation sowie die Möglichkeit, Datensätze schnell zusammenzuführen und zu verknüpfen, heißt es auf der pandas-Website.
Die Entwickler von pandas sagen, ihr Ziel sei es, die Bibliothek zum grundlegenden High-Level-Baustein für die praktische, reale Datenanalyse in Python zu machen. Die wichtigsten Codepfade in pandas sind in C oder Cython geschrieben, um die Leistung zu optimieren. Die Bibliothek kann mit verschiedenen Arten von analytischen und statistischen Daten verwendet werden, darunter Tabellendaten, Zeitreihen und beschriftete Matrixdatensätze.
11. Python
Python ist die am weitesten verbreitete Programmiersprache für Data Science und maschinelles Lernen und eine der beliebtesten Sprachen überhaupt. Auf der Website des Open-Source-Projekts wird Python als interpretierte, objektorientierte High-Level-Programmiersprache mit dynamischer Semantik beschrieben, die über integrierte Datenstrukturen sowie dynamische Typisierungs- und Bindungsfunktionen verfügt. Auf der Website wird auch die einfache Syntax von Python angepriesen, die leicht zu erlernen ist und durch die Betonung der Lesbarkeit die Kosten für die Programmpflege reduziert.
Die Mehrzwecksprache kann für eine Vielzahl von Aufgaben verwendet werden, darunter Datenanalyse, Datenvisualisierung, künstliche Intelligenz, Verarbeitung natürlicher Sprache und robotergestützte Prozessautomatisierung. Entwickler können in Python auch Web-, Mobil- und Desktop-Anwendungen erstellen. Neben objektorientierter Programmierung unterstützt Python prozedurale, funktionale und andere Typen sowie in C oder C++ geschriebene Erweiterungen.
Python wird nicht nur von Datenwissenschaftlern, Programmierern und Netzwerkingenieuren verwendet, sondern auch von Fachleuten außerhalb der Informatik, von Buchhaltern bis hin zu Mathematikern und Wissenschaftlern, die sich oft von der Benutzerfreundlichkeit angezogen fühlen. Python 2.x und 3.x sind beide produktionsreife Versionen der Sprache, obwohl die Unterstützung für die 2.x-Versionen im Jahr 2020 eingestellt wurde.
12. PyTorch
PyTorch ist ein Open Source Framework für den Aufbau und das Training von Deep-Learning-Modellen auf der Grundlage neuronaler Netze und wird von seinen Befürwortern für die Unterstützung schneller und flexibler Experimente und einen nahtlosen Übergang zur Produktionsbereitstellung angepriesen. Die Python-Bibliothek wurde so konzipiert, dass sie einfacher zu verwenden ist als Torch, ein Vorläufer-Framework für maschinelles Lernen, das auf der Programmiersprache Lua basiert. PyTorch bietet laut den Entwicklern mehr Flexibilität und Geschwindigkeit als Torch.
PyTorch wurde erstmals 2017 veröffentlicht und verwendet array-artige Tensoren, um Modelleingaben, -ausgaben und -parameter zu kodieren. Die Tensoren ähneln den mehrdimensionalen Arrays, die von NumPy unterstützt werden, aber PyTorch bietet zusätzlich integrierte Unterstützung für die Ausführung von Modellen auf GPUs. NumPy-Arrays können für die Verarbeitung in PyTorch in Tensoren umgewandelt werden und umgekehrt.
Die Bibliothek umfasst verschiedene Funktionen und Techniken, darunter ein Paket zur automatischen Differenzierung namens torch.autograd und ein Modul zum Aufbau neuronaler Netze, sowie ein TorchServe-Tool zur Bereitstellung von PyTorch-Modellen und Unterstützung für iOS- und Android-Geräte. Neben der primären Python-API bietet PyTorch auch eine C++-API, die als separate Frontend-Schnittstelle oder zur Erstellung von Erweiterungen für Python-Anwendungen verwendet werden kann.
13. R
Die Programmiersprache R ist eine Open-Source-Umgebung, die für statistische Berechnungen und Grafikanwendungen sowie für die Datenmanipulation, -analyse und -visualisierung entwickelt wurde. Viele Datenwissenschaftler, akademische Forscher und Statistiker verwenden R, um Daten abzurufen, zu bereinigen, zu analysieren und zu präsentieren, was es zu einer der beliebtesten Sprachen für Datenwissenschaft und fortgeschrittene Analysen macht.
Das Open-Source-Projekt wird von der R Foundation unterstützt, und es stehen Tausende von benutzerdefinierten Paketen mit Codebibliotheken zur Verfügung, die die Funktionalität von R erweitern – zum Beispiel ggplot2, ein bekanntes Paket zur Erstellung von Grafiken, das Teil einer Sammlung von R-basierten Datenwissenschafts-Tools namens tidyverse ist. Darüber hinaus bieten mehrere Anbieter integrierte Entwicklungsumgebungen und kommerzielle Codebibliotheken für R an.
R ist eine interpretierte Sprache, ähnlich wie Python, und hat den Ruf, relativ intuitiv zu sein. Es wurde in den 1990er Jahren als alternative Version von S entwickelt, einer statistischen Programmiersprache, die in den 1970er Jahren entwickelt wurde; der Name von R ist sowohl eine Anspielung auf S als auch ein Verweis auf den ersten Buchstaben der Namen seiner beiden Schöpfer.
14. SAS Viya
SAS Viya ist eine integrierte Softwareplattform für statistische Analysen, erweiterte Analysen, BI und Datenmanagement. Die vom Softwarehersteller SAS Institute entwickelte und vertriebene Plattform ermöglicht es Nutzern, Daten zu integrieren, zu bereinigen, aufzubereiten und zu manipulieren; anschließend können sie diese mit verschiedenen statistischen und datenwissenschaftlichen Techniken analysieren. SAS Viya kann für verschiedene Aufgaben eingesetzt werden, von Business Intelligence (BI) und Datenvisualisierung bis hin zu Risikomanagement, Operational Analytics, Data Mining, Predictive Analytics und Machine Learning.
Die Entwicklung von SAS begann 1966 an der North Carolina State University; in den frühen 1970er Jahren begann die Nutzung der Technologie zu wachsen, und 1976 wurde SAS Institute als unabhängiges Unternehmen gegründet. Die Software wurde zunächst für die Verwendung durch Statistiker entwickelt – SAS ist die Abkürzung für Statistical Analysis System. Im Laufe der Zeit wurde die Software jedoch um ein breites Spektrum an Funktionen erweitert und entwickelte sich zu einer der am weitesten verbreiteten Analysesuiten sowohl in kommerziellen Unternehmen als auch im akademischen Bereich.
15. scikit-learn
scikit-learn ist eine Open-Source-Bibliothek für maschinelles Lernen in Python, die auf den wissenschaftlichen Bibliotheken SciPy und NumPy sowie Matplotlib für das Plotten von Daten aufbaut. Sie unterstützt sowohl überwachtes als auch unüberwachtes maschinelles Lernen und enthält zahlreiche Algorithmen und Modelle, die in der scikit-learn-Sprache estimators genannt werden. Darüber hinaus bietet es Funktionen zur Modellanpassung, -auswahl und -bewertung sowie zur Datenvorverarbeitung und -transformation.
Die ursprünglich scikits.learn genannte Bibliothek wurde 2007 als Google Summer of Code-Projekt gestartet, und die erste Version wurde 2010 veröffentlicht. Der erste Teil des Namens ist die Abkürzung für SciPy Toolkit und wird auch von anderen SciPy-Zusatzpaketen verwendet. scikit-learn arbeitet hauptsächlich mit numerischen Daten, die in NumPy-Arrays oder SciPy-Sparse-Matrizen gespeichert sind.
Das Toolset der Bibliothek ermöglicht auch verschiedene andere Aufgaben, wie das Laden von Datensätzen und die Erstellung von Workflow-Pipelines, die Datentransformationsobjekte und Estimator kombinieren. scikit-learn hat jedoch aufgrund von Designbeschränkungen einige Nachteile. So unterstützt es beispielsweise kein Deep Learning, Reinforcement Learning oder GPUs, und auf der Website der Bibliothek heißt es, dass die Entwickler nur gut etablierte Algorithmen für die Aufnahme in Betracht ziehen.
16. SciPy
SciPy ist eine weitere Open Source Python-Bibliothek, die wissenschaftliche Berechnungen unterstützt. Die Abkürzung steht für Scientific Python und bietet eine Reihe von mathematischen Algorithmen sowie High-Level-Befehle und -Klassen zur Datenmanipulation und Visualisierung. Sie umfasst mehr als ein Dutzend Unterpakete, die Algorithmen und Dienstprogramme für Funktionen wie Datenoptimierung, Integration und Interpolation sowie algebraische Gleichungen, Differentialgleichungen, Bildverarbeitung und Statistik enthalten.
Die SciPy-Bibliothek baut auf NumPy auf und kann mit NumPy-Arrays arbeiten. SciPy liefert jedoch zusätzliche Array Computing Tools und bietet spezielle Datenstrukturen, einschließlich dünn besetzter Matrizen und k-dimensionaler Bäume, die über die Fähigkeiten von NumPy hinausgehen.
SciPy war eigentlich ein Vorläufer von NumPy: es entstand 2001 durch die Kombination verschiedener Zusatzmodule, die für die Numeric-Bibliothek gebaut wurden, die einer der Vorgänger von NumPy war. Wie NumPy verwendet auch SciPy kompilierten Code, um die Leistung zu optimieren; in diesem Fall sind die meisten der leistungsrelevanten Teile der Bibliothek in C, C++ oder Fortran geschrieben.
17. TensorFlow
TensorFlow ist eine von Google entwickelte Open-Source-Plattform für maschinelles Lernen, die besonders für die Implementierung von neuronalen Netzen mit Deep Learning beliebt ist. Die Plattform nimmt Eingaben in Form von Tensoren entgegen, die mehrdimensionalen NumPy-Arrays ähneln, und verwendet dann eine Graphenstruktur, um die Daten durch eine von den Entwicklern festgelegte Liste von Rechenoperationen zu leiten. Es bietet auch eine eifrige Ausführungsprogrammierumgebung, die Operationen einzeln ohne Graphen ausführt, was mehr Flexibilität für die Forschung und das Debuggen von maschinellen Lernmodellen bietet.
Google stellte TensorFlow 2015 als Open Source zur Verfügung, und die Version 1.0.0 wurde 2017 veröffentlicht. TensorFlow verwendet Python als Kernprogrammiersprache und enthält jetzt die Keras-High-Level-API für die Erstellung und das Training von Modellen. Alternativ ermöglicht eine TensorFlow.js-Bibliothek die Modellentwicklung in JavaScript, und benutzerdefinierte Operationen – oder kurz Ops – können in C++ erstellt werden.
Die Plattform umfasst auch ein TensorFlow Extended Modul für die durchgehende Bereitstellung von Produktionspipelines für maschinelles Lernen sowie ein TensorFlow Lite Modul für mobile und IoT-Geräte. TensorFlow-Modelle können auf CPUs, GPUs und den speziellen Tensor Processing Units (TPU) von Google trainiert und ausgeführt werden.
18. Weka
Weka ist eine Open-Source-Sammlung von Algorithmen für maschinelles Lernen zur Verwendung bei Data-Mining-Aufgaben. Die als Klassifikatoren bezeichneten Algorithmen von Weka können direkt auf Datensätze angewendet werden, ohne dass eine Programmierung über eine grafische Benutzeroberfläche oder eine Befehlszeilenschnittstelle, die zusätzliche Funktionen bietet, erforderlich ist.
Die Workbench kann für Klassifizierungs-, Clustering-, Regressions- und Assoziationsregel-Mining-Anwendungen verwendet werden und umfasst auch eine Reihe von Datenvorverarbeitungs- und Visualisierungswerkzeugen. Darüber hinaus unterstützt Weka die Integration mit R, Python, Spark und anderen Bibliotheken wie scikit-learn. Für Deep-Learning-Anwendungen kombiniert ein Add-on-Paket die Software mit der Eclipse Deeplearning4j-Bibliothek.
Weka ist eine freie Software, die unter der GNU General Public License lizenziert ist. Sie wurde ab 1992 an der University of Waikato in Neuseeland entwickelt; eine erste Version wurde in Java umgeschrieben, um die aktuelle Workbench zu erstellen, die 1999 erstmals veröffentlicht wurde. Weka steht für Waikato Environment for Knowledge Analysis (Waikato-Umgebung für Wissensanalyse) und ist auch der Name eines flugunfähigen Vogels, der in Neuseeland beheimatet ist.
Plattformen für Datenwissenschaft und maschinelles Lernen
Kommerziell lizenzierte Plattformen, die integrierte Funktionen für maschinelles Lernen, KI und andere Data-Science-Anwendungen bieten, sind ebenfalls von zahlreichen Softwareanbietern erhältlich. Die Produktangebote sind vielfältig – sie umfassen Operations Hubs für maschinelles Lernen, automatisierte Plattformen für maschinelles Lernen und voll funktionsfähige Analysesuiten, wobei einige MLOps, AutoML und Analysefunktionen kombinieren. Viele Plattformen enthalten einige der oben aufgeführten Data Science Tools.
Matlab und SAS können ebenfalls zu den Data-Science-Plattformen gezählt werden. Weitere wichtige Plattformoptionen für Data-Science-Teams sind:
- Anaconda
- Alteryx Analytics Cloud Platform
- Amazon SageMaker
- Azure Machine Learning
- BigML
- Databricks Lakehouse Platform
- Dataiku
- DataRobot AI Platform
- Domino Enterprise MLOps Platform
- Google Cloud Vertex AI
- H2O AI Cloud
- IBM Watson Studio
- Knime
- Qubole
- RapidMiner
- Saturn Cloud
- Tibco Data Science
Einige Plattformen sind auch als kostenlose Open-Source- oder Community-Editionen erhältlich – Beispiele sind Dataiku und H2O. Knime kombiniert eine Open-Source-Analyseplattform mit einem kommerziellen Knime-Hub-Softwarepaket, das die Zusammenarbeit im Team und Workflow-Automatisierung, Bereitstellung und Verwaltung unterstützt.