Februar 2018
Band 33, Nummer 2
Dieser Artikel wurde maschinell übersetzt.
Künstlich intelligent: Verwenden von Jupyter Notebooks
Durch Frank La La | Februar 2018
Die Jupyter Notebook ist eine open-Source, Browser-basiertes Tool, das ermöglicht Benutzern das Erstellen und Freigeben von Dokumenten, die live-Code, Visualisierungen und Text enthalten. Jupyter Notebooks sind nicht pro se Anwendung entwicklungsumgebungen. Stattdessen bieten sie eine interaktive "Testbereich", in denen Daten durchsucht und erprobt werden können. Sie bieten eine browserbasierte, interaktive Shell für verschiedener Programmiersprachen, z.B. Python oder R, und ermöglichen Datenanalysten und Entwickler eine Möglichkeit, schnell mit Daten zu experimentieren, indem Sie eine Plattform zum Freigeben von Code, Beobachtungen und Visualisierungen bereitstellen. Notizbücher können ausgeführt werden lokal auf einem PC oder in der Cloud über verschiedene Dienste und sind eine hervorragende Möglichkeit zum Durchsuchen von Datasets und den dort für eine neue Programmiersprache. Für Entwickler, die daran gewöhnt, zu der eher traditionellen IDE, sie kann jedoch verwirrend zunächst.
Ein Jupyter Notebook-Struktur
Jupyter Notebooks bestehen aus einer Reihe von "Zellen" in einer linearen Sequenz angeordnet sind. Jede Zelle kann entweder Text oder Code sein. Text in den Zellen werden in MarkDown, eine einfache Markupsprache mit Formatierung Syntax nur-Text formatiert. Code-Zellen enthalten Code, in der Sprache, die bestimmten Notebook zugeordnet. Python-Notebooks können nur Python-Code und nicht R, ausführen, während ein R-Notebook R und nicht Python ausgeführt werden kann.
Abbildung 1 zeigt die verfügbaren IntroToJupyterPython Notizbuch als eine Beispieldatei für Data Science Virtual Machine. Beachten Sie die Language-Indikator für das Notebook in oben rechts im Browserfenster angezeigt, dass die Python-2-Laufzeit Notizbuch angefügt ist. Der Kreis rechts neben "Python 2" gibt den aktuellen Status der Kernel an. Ein ausgefüllte Kreis gibt an, dass der Kernel verwendet wird und ein Programm ausgeführt wird. Ein Kreis gibt an, dass der Kernel im Leerlauf befindet. Außerdem Beachten Sie, dass der Hauptteil des Notebooks Text als auch Code und grafisch dargestellt eine grafische Ausgabe enthält.
Abbildung 1 Tutorial Notebook Einführung in die Kernfunktionen der ein Jupyter Notebook
Ein Jupyter Notebook erstellen in Azure-Notizbüchern
Es gibt mehrere Optionen für ein Jupyter Notebook ausführen. Allerdings ist die schnellste Möglichkeit für den Einstieg mithilfe des Azure-Notebook-Diensts, die im Vorschaumodus am Zeitpunkt der Erstellung dieses Dokuments ist. Navigieren Sie zu über notebooks.azure.com und melden Sie sich mit Ihrem Microsoft-ID-Anmeldeinformationen. Wenn Sie aufgefordert werden, gewähren der Anwendung die Berechtigungen, denen er anfordert. Für Erstbenutzer fordert der Standort für eine öffentliche Benutzer-ID Sie Dadurch wird eine URL zum Hosten von Ihrem Profils sowie die Notebooks Freigabe erstellt. Wenn Sie nicht dies zu diesem Zeitpunkt einrichten möchten, klicken Sie auf "Nein danke." Andernfalls geben Sie einen Wert ein, und klicken Sie auf Speichern.
Der Bildschirm wird nun die Seite "Profil" angezeigt. Der Azure-Notebook-Dienst speichert Jupyter Notebooks in Bibliotheken. Um einem Ordner zu erstellen, müssen Sie zunächst eine Bibliothek erstellen. Klicken Sie unter Bibliotheken gibt es eine Schaltfläche, um eine Bibliothek hinzuzufügen. Klicken Sie auf eine neue Bibliothek erstellen. Klicken Sie im Dialogfeld, das folgt, geben Sie einen Namen für die Bibliothek und eine ID für die URL, um ihn freizugeben. Wenn Sie diese Bibliothek öffentlich machen möchten, aktivieren Sie das Kontrollkästchen neben "Öffentliche Library". Aktivieren oder deaktivieren Sie das Kontrollkästchen neben "README.md erstellen" eine Datei "README.md" für Dokumentationszwecke automatisch eingefügt wird. Klicken Sie auf erstellen, um eine neue Bibliothek erstellen.
Jetzt müssen die Seite "Profil" eine Bibliothek aufgelistet. Klicken Sie darauf, um den Inhalt der Bibliothek anzuzeigen. Jetzt ist das einzige Element der README.md-Datei. Klicken Sie auf die Schaltfläche "Neu", um ein neues Element hinzuzufügen. Im folgenden Dialogfeld Geben Sie einen Namen für das neue Element und wählen Sie Python 3.6 Notebook aus der Dropdownliste neben Work Item Type, und klicken Sie auf neu.
Nachdem das Element erstellt wurde, erscheint in der Bibliothek mit ein. IPYNB-Dateierweiterung. Klicken Sie darauf, eine Instanz des Servers Jupyter in Azure zu starten. Beachten Sie, dass eine neue Browserregisterkarte oder Fenster geöffnet wird und die Schnittstelle mehr dem Bildschirm ähnelt Abbildung 1. Klicken Sie in das Textfeld ein, und Schreiben Sie den folgenden Code:
print("Hello World!")
Wählen Sie Zellen führen Sie aus der Zelle im Menü am oberen Rand der Seite "ein. Der Bildschirm sollte wie folgt aussehen Abbildung 2.
Abbildung 2 Hello World! in einem Jupyter Notebook
Klicken Sie in die leere Zelle, Jupyter hinzugefügt, und wählen Sie die Zelle > Zellentyp > Markdown in der Menüleiste. Fügen Sie dann den folgenden Text hinzu.
# This is markdown text #
Markdown is a versatile and lightweight markup language.
Klicken Sie auf die speichern-Symbol und schließen Sie die Browserregisterkarte. Zurück im Fenster "Bibliothek" klicken Sie erneut auf die Notebook-Datei. Die Seite laden, und die Markdown-Formatierung wirksam werden.
Fügen Sie anschließend eine andere Zelle Code, indem Sie durch Klicken auf die Zelle Markdown und darunter liegende Zelle einfügen aus dem Menü Einfügen. Zuvor erwähnt, können nur die Python-Code in Python-Notizbuch ausgeführt werden konnte. Die ist nicht vollständig "true", wie Sie mit der "!" Command Shell-Befehle. Geben Sie den folgenden Befehl in diese neue Zelle ein.
! ls -l
Führen Sie Zellen wählen Sie im Menü ausführen, oder klicken Sie auf das Symbol mit dem Symbol für Wiedergabe und Pause darauf. Der Befehl gibt eine Liste mit den Inhalten des Verzeichnisses, die die Notebook-Datei und die README.md-Datei enthält. Jupyter werden erneut, eine leere Zelle nach der Antwort hinzugefügt. Geben Sie den folgenden Code in die leere Zelle ein:
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
x = np.random.rand(100)
y = np.random.rand(100)
plt.scatter(x, y)
plt.show()
Führen Sie die Zelle, und nach einen Moment, während ein Punktdiagramm in den Ergebnissen angezeigt wird. Für diese vertrauten mit Python die erste Zeile des Codes nicht vertraut, sieht möglicherweise wie es IPython Kernelversionen angehört, für die Python-Code in ein Jupyter Notebook ausgeführt wird. Der Befehl % Matplotlib Inline weist die Laufzeit IPython Diagramme von Matplotlib Zeile mit den Ergebnissen generiert. Diese Art von Befehl, bekannt als "magische"-Befehl beginnt mit "%". Eine vollständige Untersuchung Magic Befehle garantiert eigenen Artikel. Weitere Informationen über Magic-Befehle finden Sie in der Dokumentation für IPython unter bit.ly/2CfiMvh.
Für solche importiert nicht vertraut sind mit Python, Codesegment zwei Bibliotheken, NumPy und Matplotlib. NumPy ist eine Python-Paket für wissenschaftliche Berechnungen (numpy.org) und Matplotlib ist eine beliebte 2D Diagramm zeichnen Bibliothek für Python (matplotlib.org). Der Code dann zwei Arrays von 100 Zufallszahlen generiert und die Ergebnisse als ein Punktdiagramm zeichnet. Die letzte Zeile des Codes wird das Diagramm. Wenn die Zahlen nach dem Zufallsprinzip generiert werden, ändert sich das Diagramm etwas jedes Mal, wenn die Zelle ausgeführt wird.
Notebooks in ML Workbench
Ich haben bisher ausgeführten Jupyter Netzwerke als Teil des Azure-Notebook-Diensts in der Cloud gezeigt. Allerdings können Jupyter Notebooks ausgeführt werden, lokal und auch. In der Tat sind Jupyter Notebooks in das Azure Machine Learning-Workbench-Produkt integriert. Im vorherigen Artikel veranschaulicht ich das Beispielprojekt für das Iris-Klassifizierung aus. Der Artikel nicht darauf, ist einem Notizbuch enthalten, mit dem Projekt, das Details aller Schritte erforderlich, um ein Modell als auch 3D eine grafische Ausgabe des Iris-Datasets zu erstellen.
Um diese anzuzeigen, öffnen Sie das Beispielprojekt Iris-Klassifizierung aus dem letzten des Monats, "Erstellen von Modellen in Azure ML Workbench" (msdn.com/magazine/mt814992). Wenn Sie das Projekt nicht erstellt haben, folgen Sie den Anweisungen im Artikel zum Erstellen eines Projekts aus der Vorlage aus. Im Projekt angezeigt, abbildung3, auf das Symbol "3" (1) vom oberen Rand der vertikale Symbolleiste auf der linken Seite des Fensters klicken Sie auf Iris (2) in der Dateiliste.
Abbildung 3 Notebooks in einem Azure-Computer Learning Workbench-Projekt anzeigen
Die Notebook-Datei geladen wird, aber Notebook-Server wird nicht ausgeführt – die angezeigten Ergebnisse aus einer vorherigen Ausführung zwischengespeichert werden. Um die Notebook Interaktivität hinzuzufügen, klicken Sie auf auf die Schaltfläche Starten Notebook-Server (3), um die lokalen Notebook-Server zu aktivieren.
Bildlauf nach unten zur die leere Zelle, die unmittelbar nach dem Diagramm 3D, und geben Sie den folgenden Code aus, um die ersten fünf Datensätze in das Iris-Dataset anzeigen:
iris.head(5)
Wählen Sie aus dem Menü Einfügen darunter liegende Zelle einfügen, und geben Sie den folgenden Code in die leere Zelle, um die Korrelationsmatrix anzuzeigen:
iris.corr()
Die Ausgabe sollte wie folgt aussehen Abbildung 4.
Abbildung 4-Korrelationsmatrix für das Iris-DataSet
Eine Korrelationsmatrix zeigt den Korrelationskoeffizienten zwischen verschiedenen Felder in einem DataSet. Eine Korrelationskoeffizient misst die linearen Abhängigkeit zwischen zwei Variablen mit Werten, die näher an 1, der angibt, eine positive Korrelation und Werte, die näher auf-1 festgelegt, der angibt, einer negativen Korrelations. Werte, die näher bei 0 geben Sie einen mangelnde Korrelation zwischen den zwei Feldern an. Es ist z. B. eine starke Korrelation zwischen Blatts Breite und Länge des Blatts mit einem Wert von 0.962757. Andererseits, ist die Korrelation zwischen Sepal Breite "und" Sepal-Length viel mit einem Wert von-0.109369 schwächere. Jedes Feld hat natürlich eine 1.0 Korrelation mit sich selbst.
Anacondas
Bisher, habe ich nur Jupyter Notebooks als Teil eines Microsoft-Cloud-Diensts oder lokal mithilfe von Microsoft-Software verwendet. Allerdings Jupyter ist eine open Source und kann unabhängig von der Microsoft-Umgebung ausführen. Eine beliebte Toolset ist Anaconda (anaconda.com/download), ein open Source-Verteilung der Python und R für Windows, Mac und Linux. Jupyter wird als Teil der Installation bereitgestellt. Jupyter lokal ausgeführt wird, initialisiert einen Webserver lokal auf 8888-Port. Beachten Sie, dass auf meinem System ich nur einem Notizbuch Python 3 wie also nur Kernel erstellen können, den ich auf Meine PC installiert ist.
Data Science-VMs
Einen Jupyter Notebook-Server lokal ausgeführt ist für Szenarien, in denen Zugriff auf das Internet, zuverlässig und garantierte ist nicht, ideal. Weitere rechenintensive Aufgaben ist es möglicherweise weiser zum Erstellen eines virtuellen Computers und Jupyter auf leistungsstärkerer Hardware ausführen. Um diese Aufgabe zu vereinfachen, bietet Azure die Data Science Virtual Machine-Image für Windows und Linux, mit den am häufigsten verwendeten Data Science-Tools bereits installiert.
Erstellen eines virtuellen Computers aus diesem Bild ist schnell und einfach. Klicken Sie auf das Symbol "Neu", und suchen Sie für Data Science Virtual Machine, aus dem Azure-Verwaltungsportal"stehen mehrere Optionen zur Verfügung. Allerdings haben ich habe, dass die Ubuntu-Image die am häufigsten Feature-gepackt ist. Wählen Sie die Data Science Virtual Machine für Linux (Ubuntu)-Image, und Erstellen eines virtuellen Computers anhand der Schritte im Assistenten. Sobald der Computer ausgeführt wird, konfigurieren Sie den virtuellen Computer für den remotedesktopzugriff. Finden Sie in der Dokumentation für das Herstellen einer Verbindung mit einem Linux-VM an bit.ly/2qgHOZo.
Wenn auf dem Computer verbunden ist, doppelklicken Sie auf das Symbol "Jupyter" auf dem Desktop. Ein terminal-Fenster wird geöffnet, gefolgt von einem Browserfenster später einen Moment Zeit haben. Beim Klicken auf die Schaltfläche "Neu", um einen neuen Ordner zu erstellen, haben Sie ein paar weitere Möglichkeiten Umgebungen und Sprachen, wie in Abbildung 5.
Abbildung 5-Laufzeiten, die für die Data Science Virtual Machine für Ubuntu
Zusammen mit den verschiedenen Laufzeitumgebungen umfasst die Data Science Virtual Machine für Ubuntu zahlreiche Beispiel Notebooks. Diese Notizbücher bieten einen Leitfaden alles, was über die Grundlagen von Azure ML auf Fortgeschrittene Themen wie CNTK und TensorFlow.
Zusammenfassung
Jupyter Notebooks sind ein unverzichtbares Tool für Data Science arbeiten, aber sie tendenziell eher viele Entwickler zu verwechseln, da die Plattform verfügt nicht über die die grundlegenden Funktionen zur Entwicklung von Software erforderlich sind. Das liegt in der Natur der Sache. Jupyter Notebooks dürfen nicht für diese Aufgabe.
Was tun, Notizbücher ist einen gemeinsamen Mechanismus bieten, in dem Datenanalysten können Datasets untersuchen, verschiedene Hypothesen experimentieren und Beobachtungen für Kollegen freigeben. Jupyter Notebooks können lokal auf einem PC, Mac oder Linux ausgeführt werden. Azure ML-Workbench enthält auch einen Notebook-Server in das Produkt für leichter Experimentieren mit Daten eingebettet. Notizbücher können auch in der Cloud als Teil eines Diensts, z. B. Azure-Notebooks oder auf einem virtuellen Computer mit leistungsfähigere Hardware ausgeführt werden.
Frank La Vigne leitet den Bereich Data & Analytics bei Wintellect und ist Co-Moderator des DataDriven-Podcasts. Er Blogs regelmäßig in FranksWorld.com und Sie können ihn auf seine YouTube-Kanal, "Franks World TV" überwacht (FranksWorld.TV).
Unser Dank gilt den folgenden technischen Experten für die Durchsicht dieses Artikels: Andy Leonard