5 Python-Distributionen zur Beherrschung des maschinellen Lernens

Wenn Sie in den Bereichen Statistik, Datenwissenschaft oder maschinelles Lernen arbeiten, stehen die Chancen gut, dass Sie Python verwenden. Und das aus gutem Grund: Das reichhaltige Ökosystem an Bibliotheken und Werkzeugen sowie die Bequemlichkeit der Sprache selbst machen Python zu einer hervorragenden Wahl.

Aber welcher Python? Es gibt eine Reihe von Verteilungen der Sprache, und jede wurde nach unterschiedlichen Grundsätzen und für unterschiedliche Zielgruppen erstellt. Hier haben wir fünf Python-Inkarnationen detailliert beschrieben, von der allgemeinsten bis zur spezifischsten, mit Details darüber, wie sie sich für die Bearbeitung von maschinellen Lernjobs stapeln.

Zugehöriges Video: Wie Python die Programmierung erleichtert

Python ist perfekt für die IT geeignet und vereinfacht viele Arten von Arbeiten, von der Systemautomatisierung bis hin zur Arbeit in hochmodernen Bereichen wie maschinellem Lernen.

Anaconda Python

Anaconda hat sich als wichtige Python-Distribution einen Namen gemacht, nicht nur für Data Science und maschinelles Lernen, sondern auch für die allgemeine Python-Entwicklung. Anaconda wird von einem gleichnamigen kommerziellen Anbieter (ehemals Continuum Analytics) unterstützt, der Supportpläne für Unternehmen anbietet. 

Die Anaconda-Distribution bietet in erster Linie eine Python-Distribution, die über einen einfachen Zugriff auf die in der Datenwissenschaft häufig verwendeten Pakete verfügt: NumPy, Pandas, Matplotlib usw. Sie werden nicht einfach mit Anaconda gebündelt, sondern sind über ein benutzerdefiniertes Paketverwaltungssystem namens Conda verfügbar. Von Conda installierte Pakete können schwierige externe binäre Abhängigkeiten enthalten, die nicht über Pythons eigenen Pip verwaltet werden können. (Beachten Sie, dass Sie Pip weiterhin verwenden können, wenn Sie möchten, aber nicht die Vorteile erhalten, die Conda für diese Pakete bietet.) Jedes Paket wird von Anaconda auf dem neuesten Stand gehalten, und viele davon werden mit Intel MKL kompiliert Erweiterungen für Geschwindigkeit.

Der andere große Vorteil, den Anaconda bietet, ist eine grafische Umgebung, der Anaconda Navigator. Der Navigator ist keine IDE, sondern ein praktisches GUI-Frontend für Anaconda-Funktionen, einschließlich des Conda-Paketmanagers und benutzerdefinierter virtueller Umgebungen. Sie können Navigator auch verwenden, um Anwendungen von Drittanbietern wie Jupyter-Notizbücher und die Visual Studio-Code-IDE zu verwalten.

Eine minimale Installation von Anaconda, genannt Miniconda, installiert nur genug Anaconda-Basis, um Ihnen den Einstieg zu erleichtern, kann jedoch bei Bedarf mit anderen von Conda oder Pip installierten Paketen erweitert werden. Dies ist nützlich, wenn Sie die umfangreiche Bibliothek von Anaconda nutzen möchten, aber die Dinge schlank halten müssen.

ActivePython

Data Science ist nur einer der Anwendungsfälle für ActivePython, das als professionell unterstützte Version der Sprache mit konsistenten Implementierungen über Architekturen und Plattformen hinweg entwickelt wurde. Dies ist hilfreich, wenn Sie Python für Data Science auf Plattformen wie AIX, HP-UX und Solaris sowie unter Windows, Linux und MacOS verwenden.

ActivePython versucht, so nah wie möglich an Pythons ursprünglicher Referenzinkarnation zu bleiben. Anstelle eines speziellen Installationsprogramms für komplexe Mathematik- und Statistikpakete (Anaconda-Ansatz) kompiliert ActivePython viele dieser Pakete vorab unter Verwendung der Intel MKL-Erweiterungen, sofern erforderlich, und stellt sie als Pack-Ins mit der Standardinstallation von ActivePython bereit. Sie müssen nicht offiziell installiert werden. Sie sind sofort einsatzbereit.

Wenn Sie jedoch auf eine neuere Version dieser vorkompilierten Pakete aktualisieren möchten, müssen Sie warten, bis der nächste Build von ActivePython selbst veröffentlicht wird. Dies macht ActivePython insgesamt konsistenter - eine wertvolle Sache, wenn die Reproduzierbarkeit der Ergebnisse von Bedeutung ist -, aber auch weniger flexibel.

CPython

Wenn Sie Ihre maschinelle Lernarbeit von Grund auf neu beginnen möchten und nur die offizielle Vanille-Version von Python verwenden möchten, wählen Sie CPython. CPython ist auf der Python Software Foundation-Website verfügbar und bietet nur die Tools, die zum Ausführen von Python-Skripten und zum Verwalten von Paketen erforderlich sind.

CPython ist sinnvoll, wenn Sie eine Python-Umgebung für ein maschinelles Lernen oder ein Data Science-Projekt benutzerdefinieren möchten, sich darauf verlassen können, dass es richtig gemacht wird, und wenn Sie nicht möchten, dass Änderungen von Drittanbietern im Weg stehen. Die Quelle für CPython ist sofort verfügbar, sodass Sie sogar alle Änderungen, die Sie aus Gründen der Geschwindigkeit oder der Projektanforderungen vornehmen möchten, individuell kompilieren können.

Auf der anderen Seite bedeutet die Verwendung von CPython, dass Sie sich mit den Vor- und Nachteilen der Installation und Konfiguration von Paketen wie NumPy mit all ihren Abhängigkeiten befassen müssen - von denen einige manuell gesucht und hinzugefügt werden müssen.

Einige dieser Arbeiten sind in den letzten Jahren weniger aufwändig geworden, insbesondere jetzt, da der Pip-Paketmanager von Python elegant vorkompilierte Binärdateien installiert, wie sie in vielen Data Science-Paketen verwendet werden. Es gibt jedoch immer noch viele Fälle, insbesondere unter Microsoft Windows, in denen Sie alle Teile von Hand zusammenfügen müssen - beispielsweise durch manuelle Installation eines C / C ++ - Compilers.

Ein weiterer Nachteil bei der Verwendung von CPython besteht darin, dass keine der leistungssteigernden Optionen verwendet wird, die für maschinelles Lernen und Datenwissenschaft nützlich sind, wie z. B. die MKL-Erweiterungen (Intel Math Kernel Library). Sie müssten die NumPy- und SciPy-Bibliotheken erstellen, um Intel MKL alleine verwenden zu können.

Enthought Canopy

Die Enthought Canopy-Distribution von Python ähnelt Anaconda in vielerlei Hinsicht. Es basiert auf Data Science und maschinellem Lernen als primären Anwendungsfällen, verfügt über einen eigenen kuratierten Paketindex und bietet sowohl grafische Frontends als auch Befehlszeilentools für die Verwaltung des gesamten Setups. Unternehmensbenutzer können auch den Enthought Deployment Server erwerben, ein Paketverwaltungssystem hinter der Firewall. Für Canopy entwickelte maschinelle Lernpakete verwenden die Intel MKL-Erweiterungen.

Der Hauptunterschied zwischen Anaconda und Canopy ist der Umfang. Baldachin ist bescheidener, Anaconda umfassender. Während Canopy beispielsweise Befehlszeilentools zum Erstellen und Verwalten von virtuellen Python-Umgebungen enthält (nützlich beim Umgang mit verschiedenen Paketsätzen für verschiedene Workflows für maschinelles Lernen), bietet Anaconda eine GUI für diesen Job. Auf der anderen Seite enthält Canopy auch eine praktische integrierte IDE - einen kombinierten Dateibrowser, ein Jupyter-Notizbuch und einen Code-Editor -, mit denen Sie direkt einsteigen und problemlos arbeiten können.

WinPython

Die ursprüngliche Mission hinter WinPython bestand darin, eine speziell für Microsoft Windows entwickelte Python-Edition bereitzustellen. Damals, als CPython-Builds für Windows nicht besonders robust waren, füllte WinPython eine nützliche Nische. Heute ist die Windows-Edition von CPython recht gut, und WinPython hat sich dem Füllen von Rissen zugewandt, die von CPython noch nicht gepflastert wurden - insbesondere für Data Science- und maschinelle Lernanwendungen.

Standardmäßig ist WinPython portabel. Die gesamte WinPython-Distribution passt in ein einziges Verzeichnis, das überall abgelegt und überall ausgeführt werden kann. Eine WinPython-Installation kann als Archiv oder auf einem USB-Laufwerk bereitgestellt werden, auf dem alle für einen bestimmten Auftrag erforderlichen Umgebungsvariablen, Pakete und Skripts vorinstalliert sind. Dies ist eine nützliche Methode, um alles zu packen, was zum Trainieren eines bestimmten Modells oder zum Reproduzieren eines bestimmten Datenexperiments erforderlich ist. Oder Sie können eine WinPython-Installation bei Windows registrieren und so ausführen, als wäre sie nativ installiert worden (und die Registrierung später auf Wunsch aufheben).

Viele der schwierigeren Elemente einer maschinell lernorientierten Python-Distribution werden ebenfalls behandelt. Die meisten Schlüsselbibliotheken - NumPy, Pandas, Jupyter und Schnittstellen zu den Sprachen R und Julia - sind standardmäßig enthalten und werden gegebenenfalls gegen die Intel MKL-Erweiterungen erstellt. Der Mingw64 C / C ++ - Compiler wird auch mit NumPy in WinPython geliefert, sodass binäre Python-Erweiterungen aus dem Quellcode (z. B. über Cython) erstellt werden können, ohne dass ein Compiler installiert werden muss.

WinPython verfügt über ein eigenes Paketinstallationsprogramm, WPPM, das Pakete mit vorgefertigten Binärdateien sowie reine Python-Pakete verarbeitet. Und für diejenigen, die nur eine Bare-Bones-Version von WinPython ohne standardmäßig enthaltene Pakete wünschen, bietet WinPython eine „Null-Version“, ähnlich wie Anacondas Miniconda.

Zugehöriges Video: Maschinelles Lernen und KI entschlüsselt

Unser Panel durchbricht den Hype um maschinelles Lernen und künstliche Intelligenz und spricht über die Definitionen und Implikationen der Technologie.