Tutorial: Erstellen und Ausführen einer Jupyter Notebook-Datei mit PythonTutorial: create and run a Jupyter notebook with Python

In diesem Tutorial durchlaufen Sie den Prozess zur Verwendung von Azure Notebooks zum Erstellen einer vollständigen Jupyter Notebook-Datei, die eine einfache lineare Regression veranschaulicht.This tutorial walks you through the process of using Azure Notebooks to create a complete Jupyter notebook that demonstrates simple linear regression. Im Laufe dieses Tutorials machen Sie sich mit der Benutzeroberfläche von Jupyter Notebook vertraut, die das Erstellen verschiedener Zellen, das Ausführen von Zellen und eine Anzeige des Notebooks als Diaschau umfasst.In the course of this tutorial, you familiarize yourself with the Jupyter notebook UI, which includes creating different cells, running cells, and presenting the notebook as a slide show.

Das vollständige Notebook finden Sie unter GitHub - Azure Notebooks Samples (GitHub: Azure Notebooks-Beispiele).The completed notebook can be found on GitHub - Azure Notebooks Samples. Dieses Tutorial beginnt jedoch mit einem neuen Projekt und einem leeren Notebook, damit Sie die Erstellung Schritt für Schritt kennenlernen können.This tutorial, however, begins with a new project and an empty notebook so you can experience creating it step by step.

Erstellen des ProjektsCreate the project

  1. Navigieren Sie zu Azure Notebooks, und melden Sie sich an.Go to Azure Notebooks and sign in. (ausführliche Informationen hierzu finden Sie unter Schnellstart: Anmelden bei Azure Notebooks).(For details, see Quickstart - Sign in to Azure Notebooks).

  2. Wählen Sie oben auf Ihrer öffentlichen Profilseite Meine Projekte aus:From your public profile page, select My Projects at the top of the page:

    Link „Meine Projekte“ am oberen Rand des Browserfensters

  3. Klicken Sie auf der Seite My Projects (Meine Projekte) auf + New Project (+ Neues Projekt, Tastenkombination: n). Wenn Ihr Browserfenster schmal ist, wird möglicherweise nur + für die Schaltfläche angezeigt:On the My Projects page, select + New Project (keyboard shortcut: n); the button may appear only as + if the browser window is narrow:

    Befehl „New Project“ (Neues Projekt) auf der Seite „My Projects“ (Meine Projekte)

  4. Geben Sie folgende Informationen im angezeigten Popupfenster Create New Project (Neues Projekt erstellen) an, und klicken Sie anschließend auf Create (Erstellen):In the Create New Project popup that appears, enter or set the following details, then select Create:

    • Project name (Projektname): Linear Regression Example - Cricket ChirpsProject name: Linear Regression Example - Cricket Chirps
    • Project ID (Projekt-ID): linear-regression-exampleProject ID: linear-regression-example
    • Public project (Öffentliches Projekt): (deaktiviert)Public project: (cleared)
    • Create a README.md (README-Datei erstellen): (nicht aktiviert)Create a README.md: (cleared)
  5. Kurz darauf navigiert Azure Notebooks zum neuen Projekt.After a few moments, Azure Notebooks navigates you to the new project.

Erstellen der DatendateiCreate the data file

Mit dem linearen Regressionsmodell, das Sie im Notebook erstellen, werden die Daten aus einer Datei namens cricket_chirps.csv in das Projekt importiert.The linear regression model you create in the notebook draws data from a file in your project called cricket_chirps.csv. Diese Datei können Sie entweder aus GitHub - Azure Notebooks Samples (GitHub: Azure Notebooks-Beispiele) kopieren, oder Sie erstellen sie, indem Sie die Daten direkt eingeben.You can create this file either by copying it from GitHub - Azure Notebooks Samples, or by entering the data directly. In den folgenden Abschnitten werden beide Ansätze beschrieben.The following sections describe both approaches.

Hochladen der DatendateiUpload the data file

  1. Klicken Sie im Projektdashboard in Azure Notebooks auf Upload > From URL (Hochladen > per URL).On your project dashboard in Azure Notebooks, select Upload > From URL

  2. Geben Sie im Popupfenster die folgende URL für File URL (Datei-URL) und cricket_chirps.csv für File Name (Dateiname) ein, und klicken Sie dann auf Done (Fertig).In the popup, enter the following URL in File URL and cricket_chirps.csv in File Name, then select Done.

    https://raw.githubusercontent.com/Microsoft/AzureNotebooks/master/Samples/Linear%20Regression%20-%20Cricket%20Chirps/cricket_chirps.csv
    
  3. Die Datei cricket_chirps.csv sollte nun in der Dateiliste Ihres Projekts angezeigt werden:The cricket_chirps.csv file should now appear in your project's file list:

    Neu erstellte CSV-Datei in der Projektdateiliste

Erstellen einer Datei von Grund aufCreate a file from scratch

  1. Klicken Sie im Projektdashboard in Azure Notebooks auf New > Blank File (Neu > Leere Datei).On your project dashboard in Azure Notebooks, select + New > Blank File

  2. In der Projektdateiliste wird ein Feld angezeigt.A field appears in the project's file list. Geben Sie cricket_chirps.csv ein, und drücken Sie die EINGABETASTE.Enter cricket_chirps.csv and press Enter.

  3. Klicken Sie mit der rechten Maustaste auf cricket_chirps.csv, und klicken Sie auf Edit File (Datei bearbeiten).Right-click cricket_chirps.csv and select Edit File.

  4. Geben Sie folgende Daten im angezeigten Editor ein:In the editor that appears, enter the following data:

    Chirps/Minute,Temperature
    20,88.6
    16,71.6
    19.8,93.3
    18.4,84.3
    17.1,80.6
    15.5,75.2
    14.7,69.7
    17.1,82
    15.4,69.4
    16.2,83.3
    15,79.6
    17.2,82.6
    16,80.6
    17,83.5
    14.4,76.3
    
  5. Klicken Sie auf Save File (Datei speichern), um die Datei zu speichern und zurück zum Projektdashboard zu gelangen.Select Save File to save the file and return to the project dashboard.

Installieren von Paketen auf ProjektebeneInstall project level packages

Befehle wie !pip install können Sie innerhalb eines Notebooks immer in einer Codezelle verwenden, um erforderliche Pakete zu installieren.Within a notebook, you can always use commands like !pip install in a code cell to install required packages. Diese Befehle werden jedoch jedes Mal ausgeführt, wenn Sie die Codezellen des Notebooks ausführen. Dies kann viel Zeit in Anspruch nehmen.However, such commands are run every time you run the notebook's code cells, and can take considerable time. Aus diesem Grund können Sie Pakete mithilfe einer requirements.txt-Datei auf der Projektebene installieren.For this reason, you can instead install packages at the project level using a requirements.txt file.

  1. Verwenden Sie die unter Erstellen einer Datei von Grund auf beschriebene Vorgehensweise, um eine Datei names requirements.txt mit folgendem Inhalt zu erstellen:Use the process described in Create a file from scratch to create a file named requirements.txt with the following contents:

    matplotlib==3.0.0
    numpy==1.15.0
    pandas==0.23.4
    scikit-learn==0.20.0
    

    Alternativ können Sie wie unter Hochladen der Datendatei beschrieben eine requirements.txt-Datei auch von Ihrem lokalen Computer hochladen.You can also upload a requirements.txt file from your local computer if you prefer, as described on Upload the data file.

  2. Klicken Sie auf dem Projektdashboard auf Project Settings (Projekteinstellungen).On the project dashboard, select Project Settings.

  3. Wählen Sie im angezeigten Popupfenster die Registerkarte Environment (Umgebung) aus, und klicken Sie dann auf +Add (+ Hinzufügen).In the popup that appears, select the Environment tab, then select +Add.

  4. Wählen Sie unter Environment Setup Steps (Schritte für das Setup der Umgebung) im ersten Dropdown-Steuerelement (Vorgang) die Datei Requirements.txt aus.In the first drop-down control (the operation) under Environment Setup Steps, choose Requirements.txt.

  5. Wählen Sie im zweiten Dropdown-Steuerelement (Dateiname) die Datei requirements.txt (die Sie erstellt haben) aus.In the second drop-down control (the file name), choose requirements.txt (the file you created).

  6. Wählen Sie im dritten Dropdown-Steuerelement (Python-Version) die Option Python Version 3.6 aus.In the third drop-down control (the Python version), choose Python Version 3.6.

  7. Wählen Sie Speichern aus.Select Save.

Die Datei „requirements.txt“ auf der Registerkarte „Environment“ (Umgebung) in den Projekteinstellungen

Nachdem Sie diesen Setupschritt durchgeführt haben, wird jedes Notebook, das Sie im Projekt ausführen, in einer Umgebung ausgeführt, in der diese Pakete installiert sind.With this setup step in place, any notebook you run in the project will run in an environment where those packages are installed.

Erstellen und Ausführen eines NotebooksCreate and run a notebook

Da die Datendatei nun bereit ist und die Projektumgebung festgelegt ist, können Sie das Notebook nun erstellen und öffnen.With the data file ready and the project environment set, you can now create and open the notebook.

  1. Klicken Sie auf dem Projektdashboard auf + New > Notebook (+ Neu > Notebook).On the project dashboard, select + New > Notebook.

  2. Geben Sie im Popupfenster für Item Name (Elementname) Linear Regression Example - Cricket Chirps.ipynb ein, wählen Sie Python 3.6 als Sprache aus, und klicken Sie dann auf New (Neu).In the popup, enter Linear Regression Example - Cricket Chirps.ipynb for Item Name, choose Python 3.6 for the language, then select New.

  3. Das neue Notebook wird in der Dateiliste angezeigt, klicken Sie darauf, um es zu starten.After the new notebook appears on the file list, select it to start the notebook. Im Browser wird automatisch eine neue Browserregisterkarte geöffnet.A new browser tab opens automatically.

  4. Da Sie in den Umgebungseinstellungen über eine requirements.txt-Datei verfügen, wird die folgende Meldung angezeigt: „Waiting for your container to finish being prepared“ (Auf die Vorbereitung Ihres Containers wird gewartet).Because you have a requirements.txt file in the environment settings, you see the message, "Waiting for your container to finish being prepared." Sie können auf OK klicken, um die Meldung zu schließen und mit der Arbeit im Notebook fortzufahren. Allerdings können Sie keine Codezellen ausführen, bis die Umgebung vollständig eingerichtet ist.You can select OK to close the message and continue working in the notebook; you can't run code cells, however, until the environment is set up fully.

  5. Das Notebook wird standardmäßig mit einer einzelnen leeren Codezelle in der Jupyter-Schnittstelle geöffnet.The notebook opens in the Jupyter interface with a single empty code cell as the default.

    Anfängliche Ansicht eines neuen Notebooks in Azure NotebooksInitial view of a new notebook in Azure Notebooks

Einführung in die Notebook-SchnittstelleTour the notebook interface

Im ausgeführten Notebook können Sie Code- und Markdown-Zellen hinzufügen, diese Zellen ausführen und den Betrieb des Notebooks verwalten.With the notebook running, you can add code and Markdown cells, run those cells, and manage the operation of the notebook. Zunächst sollten Sie sich jedoch mit der Benutzeroberfläche vertraut machen.First, however, it's worth taking a few minutes to familiarize yourself with the interface. Eine vollständige Dokumentation steht Ihnen über den Menübefehl Help > Notebook Help (Hilfe > Notebook-Hilfe) zur Verfügung.For full documentation, select the Help > Notebook Help menu command.

Am oberen Rand des Fensters finden Sie folgende Elemente:Along the top of the window you see the following items:

(A) Der Name Ihres Notebooks. Diesen können Sie bearbeiten, indem Sie auf ihn klicken.(A) The name of your notebook, which you can edit by clicking. (B) Schaltflächen für die Navigation zum enthaltenden Projekt und zum Projektdashboard, die in neuen Browserregisterkarten geöffnet werden.(B) Buttons to navigate to the containing project and your projects dashboard, which open new tabs in your browser. (C) Ein Menü mit Befehlen für die Arbeit mit dem Notebook.(C) A menu with commands for working with the notebook. (D) Eine Symbolleiste mit Verknüpfungen für allgemeine Aktionen.(D) a toolbar with shortcuts for common operations. (E) Die Bearbeitungsfläche mit den Zellen.(E) the editing canvas containing cells. (F) Ein Indikator, der angibt, ob das Notebook vertrauenswürdig ist (der Standardwert ist Not Trusted (Nicht vertrauenswürdig)).(F) indicator of whether the notebook is trusted (default is Not Trusted). (G) Der Kernel, der zum Ausführen des Notebooks verwendet wird, mit einem Indikator für die Aktivität.(G) the kernel used to run the notebook along with an activity indicator.

Hauptbereiche der Benutzeroberfläche der Jupyter-SchnittstellePrimary UI areas of the Jupyter interface

Jupyter stellt eine integrierte Einführung für die primären Benutzeroberflächenelemente bereit.Jupyter provides a built-in tour of the primary UI elements. Diese Einführung können Sie starten, indem Sie auf Help > User Interface Tour (Hilfe > Einführung in die Benutzeroberfläche) klicken. Dann können Sie sich durch die angezeigten Popupfenster klicken.Start the tour by selecting the Help > User Interface Tour command and clicking through the popups.

Im Folgenden werden die Gruppen der Menübefehle aufgeführt:The groups of menu commands are as follows:

MenüMenu BESCHREIBUNGDescription
DateiFile Befehle für die Verwaltung der Notebook-Datei, einschließlich Befehle zum Erstellen und Kopieren von Notebooks, Anzeigen einer Druckvorschau und Herunterladen des Notebooks in verschiedenen Formaten.Commands to manage the notebook file, including commands to create and copy notebooks, show a print preview, and download the notebook in a variety of formats.
Edit (Bearbeiten)Edit Herkömmliche Befehle zum Ausschneiden, Kopieren und Einfügen von Zellen, Suchen und Ersetzen von Werten, Verwalten von Zellanhängen und Einfügen von Bildern.Typical commands to cut, copy, and paste cells, find and replace values, manage cell attachments, and insert images.
SichtView Befehle zum Steuern der Sichtbarkeit verschiedener Abschnitte der Jupyter-Benutzeroberfläche.Commands to control visibility of different parts of the Jupyter UI.
EinfügenInsert Befehle zum Einfügen einer neuen Zelle ober- oder unterhalb der aktuellen Zelle.Commands to insert a new cell above or below the current cell. Diese Befehle werden Sie beim Erstellen eines Notebooks häufig verwenden.You use these commands frequently when creating a notebook.
Cell (Zelle)Cell Die verschiedenenRun-Befehle (Ausführen) werden in einer Zelle oder mehreren Zellen in unterschiedlichen Kombinationen ausgeführt.The various Run commands run one or more cells in different combinations. Die Befehle Cell Type (Zellentyp) ändern den Typ einer Zelle zwischen Code, Markdown und unformatierte NBConvert-Zellen (Nur-Text).The Cell Type commands change the type of a cell between Code, Markdown, and Raw NBConvert (plain text). Die Befehle Current Outputs (Aktuelle Ausgaben) und All Outputs (Alle Ausgaben) steuern, wie die Ausgabe des ausgeführten Codes angezeigt wird. Zudem wird ein Befehl zum Löschen der gesamten Ausgabe eingefügt.The Current Outputs and All Outputs commands control how output from run code is shown, and include a command to clear all output.
KernelKernel Befehle, mit denen verwaltet werden kann, wie Code im Kernel zusammen mit Change kernel (Kernel ändern) ausgeführt wird, um die Sprache der Python-Version zu ändern, die zum Ausführen des Notebook verwendet wird.Commands to manage how code is being run in the kernel, along with Change kernel to change the language or Python version used to run the notebook.
DataData Befehle zum Hochladen und Herunterladen von Dateien aus dem Projekt oder der Sitzung.Commands to upload and download files from the project or session. Weitere Informationen finden Sie unter Arbeiten mit Datendateien.See Work with project data files
WidgetsWidgets Befehle zum Verwalten von Jupyter Widgets, die zusätzliche Funktionen zur Visualisierung, Zuordnung und zum Zeichnen bieten.Commands to manage Jupyter Widgets, which provide additional capabilities for visualization, mapping, and plotting.
HilfeHelp Befehle, die Hilfe und Dokumentation für die Jupyter-Schnittstelle bereitstellen.Commands that provide help and documentation for the Jupyter interface.

Die meisten Befehle auf der Symbolleiste haben entsprechende Menübefehle.Most of the commands on the toolbar have equivalent menu commands. Eine Ausnahme ist jedoch Enter/Edit RISE Slideshow (RISE-Diaschau eingeben/bearbeiten). Dieser Befehl wird unter Zeigen einer Bildschirmpräsentation weiter erläutert.One exception is Enter/Edit RISE Slideshow, which is discussed on Share and present notebooks.

Sie verwenden mehrere von diesen Befehlen, wenn Sie das Notebook in den folgenden Abschnitten auffüllen.You use a number of these commands as you populate the notebook in the sections that follow.

Erstellen einer MarkdownzelleCreate a Markdown cell

  1. Klicken Sie in die erste leere Zelle, die im Notebook-Canvas angezeigt wird.Click into the first empty cell shown on the notebook canvas. In der Standardeinstellung ist eine Zelle ein Codetyp. Das bedeutet, dass dieser dazu konzipiert ist,ausführbaren Code für den ausgewählten Kernel (Python, R oder F#) zu enthalten.By default, a cell is a Code type, which means it's designed to contain runnable code for the selected kernel (Python, R, or F#). Der aktuelle Typ wird im Dropdownmenü für den Typ auf der Symbolleiste angezeigt:The current type is shown in the type drop-down on the toolbar:

    Dropdownmenü auf der Symbolleiste für den Zellentyp

  2. Ändern Sie den Zellentyp über das Dropdownmenü auf der Symbolleiste in Markdown. Verwenden Sie alternativ den Menübefehl Cell > Cell Type > Markdown (Zelle > Zellentyp > Markdown).Change the cell type to Markdown using the toolbar drop-down; alternately, use the Cell > Cell Type > Markdown menu command:

    Menübefehl für den Zellentyp

  3. Klicken Sie in die Zelle, um mit der Bearbeitung zu beginnen. Geben Sie anschließend den folgenden Markdowncode ein:Click into the cell to start editing, then enter the following Markdown:

    # Example Linear Regression
    
    This notebook contains a walkthrough of a simple linear regression. The data, obtained from [college.cengage.com](https://college.cengage.com/mathematics/brase/understandable_statistics/7e/students/datasets/slr/frames/frame.html), relates the rate of cricket chirps to temperature from *The Song of Insects*, by Dr. G. W. Pierce, Harvard College Press.
    
    In this example we're using the count of chirps per minute as the independent varible to then predict the dependent variable, temperature. In short, we're using a little data science to make ourselves a cricket thermometer. (You could also reverse the data and use temperature to predict the number of chirps, but it's more fun to use crickets as the thermometer itself!)
    
    The methods shown in this example follow what's presented in the Udemy course, [Machine Learning A to Z](https://www.udemy.com/machinelearning/learn/v4/).
    
    A lovely aspect of Notebooks is that you can use Markdown cells to explain what the code is doing rather than code comments. There are several benefits to doing so:
    
    - Markdown allows for richer text formatting, like *italics*, **bold**, `inline code`, hyperlinks, and headers.
    - Markdown cells automatically word wrap whereas code cells do not. Code comments typically use explicit line breaks for formatting, but that's not necessary in Markdown.
    - Using Markdown cells makes it easier to run the Notebook as a slide show.
    - Markdown cells help you remove lengthy comments from the code, making the code easier to scan.
    
    When you run a code cell, Jupyter executes the code; when you run a Markdown cell, Jupyter renders all the formatting into text that's suitable for presentation.
    
  4. Klicken Sie auf der Symbolleiste auf den Befehl Run (Ausführen), oder verwenden Sie den Befehl Cell > Run Cells (Zelle > Zellen ausführen), um den Markdowncode in HTML zu rendern.To render the Markdown into HTML for the browser, select the Run command on the toolbar, or use the Cell > Run Cells command. Der Markdowncode zum Formatieren und Links werden nun wie gewünscht in einem Browser angezeigt.The Markdown code for formatting and links now appear as you expect them to in a browser.

  5. Wenn Sie die letzte Zelle im Notebook ausführen, erstellt Jupyter automatisch eine neue Zelle unter der, die Sie ausgeführt haben.When you run the last cell in the notebook, Jupyter automatically creates a new cell below the one you ran. Fügen Sie weiteren Markdowncode in diese Zelle ein, indem Sie die Schritte in diesem Abschnitt mit dem folgenden Markdowncode wiederholen:Put more Markdown into this cell by repeating the steps in this section with the following Markdown:

    ## Install packages using pip or conda
    
    Because the code in your notebook likely uses some Python packages, you need to make sure the Notebook environment contains those packages. You can do this directly within the notebook in a code block that contains the appropriate pip or conda commands prefixed by `!`:
    
    \```
    !pip install <pkg name>
    
    !conda install <pkg name> -y
    \```
    
  6. Doppelklicken Sie in die gerenderte Zelle, um den Markdown nochmals zu bearbeiten.To edit the Markdown again, double-click in the rendered cell. Führen Sie die Zelle aus, um den HTML-Code erneut zu rendern, nachdem Sie Änderungen ausgeführt haben.To render HTML again after making changes, run the cell.

Erstellen einer Codezelle mit BefehlenCreate a code cell with commands

Wie in der vorherigen Markdownzelle erläutert, können sie Befehle direkt im Notebook einfügen.As the previous Markdown cell explained, you can include commands directly in the notebook. Sie können Befehle verwenden, um Pakete zu installieren, um cURL oder Wget zum Abrufen von Daten auszuführen oder um andere Aktionen durchzuführen.You can use commands to install packages, run curl or wget to retrieve data, or anything else. Jupyter-Notebooks werden innerhalb einer Linux-VM effektiv ausgeführt. Ihnen steht also der gesamte Linux-Befehlssatz zur Verfügung.Jupyter notebooks effectively run within a Linux virtual machine, so you have the full Linux command set to work with.

  1. Geben Sie die Befehle unten in die Codezelle ein, die angezeigt wird, nachdem sie den Run-Befehl für die vorherige Markdownzelle verwendet haben.Enter the commands below in the code cell that appeared after you used Run on the previous Markdown cell. Wenn keine neue Zelle angezeigt wird, erstellen Sie über Insert > Insert Cell Below (Einfügen > Zelle unten einfügen) eine Zelle, oder verwenden Sie die Schaltfläche + auf der Symbolleiste.If you don't see a new cell, create one with Insert > Insert Cell Below or use the + button on the toolbar.

    !pip install numpy
    !pip install matplotlib
    !pip install pandas
    !pip install sklearn
    
  2. Bevor Sie die Zelle ausführen, erstellen Sie über die Schaltfläche + auf der Symbolleiste eine neue Zelle, legen Sie sie auf Markdown fest, und geben Sie die folgende Erläuterung ein:Before running the cell, create a new cell with the + button on the toolbar, set it to Markdown, and enter the following explanation:

    Note that when you run a code block that contains install commands, and also those with `import` statements, it make take the notebooks a little time to complete the task. To the left of the code block you see `In [*]` to indicate that execution is happening. The Notebook's kernel on the upper right also shows a filled-in circle to indicate "busy."
    
  3. Wählen Sie den Befehl Cell > Run All (Zelle > Alle ausführen) aus, um alle Zellen im Notebook auszuführen.Select the Cell > Run All command to run all the cells in the notebook. Beachten Sie, dass die Markdownzellen als HTML gerendert werden und der Befehl im Kernel ausgeführt wird. Beobachten Sie den Kernelindikator wie im Markdowncode beschrieben:Notice that the Markdown cells render as HTML, and the command run in the kernel, and observe the kernel indicator as described in the Markdown itself:

    Auslastungsindikator für den Notebook-Kernel

  4. Es dauert etwas, bis alle pip install-Befehle ausgeführt werden. Da Sie zudem diese Pakete bereits in der Projektumgebung installiert haben (und weil diese ebenso standardmäßig in Azure Notebooks enthalten sind), werden viele Meldungen wie die folgende ausgegeben: „Requirement already satisfied“ (Anforderung bereits erfüllt).It also takes a little time for all of the pip install commands to run, and because you already installed these packages in the project environment (and because they're also included in Azure Notebooks by default), you see many messages that read, "Requirement already satisfied." Damit diese Ausgabe optisch nicht so ablenkend ist, wählen Sie diese Zelle mit nur einem Klick aus, und klicken Sie dann auf Cell > Cell Outputs > Toggle (Zelle > Zellenausgaben > Umschalten), um die Ausgabe auszublenden.All of that output can be visually distracting, so select that sell (using a single click), then use the Cell > Cell Outputs > Toggle to hide the output. Sie können auch den Befehl Clear (Löschen) über das gleiche Untermenü auswählen, um die Ausgabe vollständig zu entfernen.You can also use the Clear command on that same submenu to remove the output entirely.

    Mit dem Befehl Toggle (Umschalten) wird nur die neueste Ausgabe der Zelle ausgeblendet. Wenn Sie die Zelle erneut ausführen, wird die Ausgabe wieder angezeigt.The Toggle command hides only the most recent output from the cell; if you run the cell again, the output reappears.

  5. Da die Pakete in der Projektumgebung installiert werden, kommentieren Sie die ! pip install-Befehle mithilfe von # aus. So können diese im Notebook als Begleitmaterial verbleiben, sie benötigen jedoch keine Ausführzeit mehr und erzeugen keine unnötige Ausgabe.Because the packages are installed in the project environment, comment out the ! pip install commands using #; this way they can remain in the notebook as instructional material but won't take any time to run and won't produce unnecessary output. Wenn die kommentierten Befehle im Notebook verbleiben, werden in diesem Fall auch die Abhängigkeiten des Notebooks angegeben.In this case, keeping the commented commands in the notebook also indicates the notebook's dependencies.

    # !pip install numpy
    # !pip install matplotlib
    # !pip install pandas
    # !pip install sklearn
    

Erstellen der verbleibenden ZellenCreate the remaining cells

Damit Sie den Rest des Notebooks auffüllen können, müssen Sie eine Reihe von Markdown- und Codezellen erstellen.To populate the rest of the notebook, you next create a series of Markdown and code cells. Erstellen Sie für jede unten aufgeführte Zelle zunächst die neue Zelle, legen Sie dann den Typ fest, und fügen Sie sie in den Inhalt ein.For each cell listed below, first create the new cell, then set the type, then paste in the content.

Obwohl Sie mit der Ausführung des Notebooks warten können, bis Sie jede Zelle erstellt haben, ist es doch interessant, jede Zelle gleich bei der Erstellung auszuführen.Although you can wait to run the notebook after you've created each cell, it's interesting to run each cell as you create it. Nicht alle Zellen zeigen Ausgaben an. Wenn keine Fehler ausgelöst werden, kann man davon ausgehen, dass die Zelle ordnungsgemäß ausgeführt wurde.Not all cells show output; if you don't see any errors, assume the cell ran normally.

Jede Codezelle hängt vom Code ab, der in vorherigen Zellen ausgeführt wurde. Wenn Sie versäumen, eine Zelle auszuführen, können spätere Zellen Fehler verursachen.Each code cell depends on the code that's been run in previous cells, and if you neglect to run one of the cells, later cells may produce errors. Wenn Sie bemerken, dass Sie eine Zelle vergessen haben, verwenden Sie Cell > Run All Above (Zelle > Alle vorherigen ausführen), bevor Sie die aktuelle Zelle ausführen.If you find that you've forgotten to run a cell, try using the Cell > Run All Above before running the current cell.

Wenn unerwartete Ergebnisse angezeigt werden (was aller Wahrscheinlichkeit nach der Fall sein wird), überprüfen Sie, ob jede Zelle nach Bedarf auf „Code“ oder „Markdown“ festgelegt ist.If you see unexpected results (which you probably will!), check that each cell is set to "Code" or "Markdown" as necessary. Beispielsweise wird der Fehler „Ungültige Syntax“ in der Regel angezeigt, wenn Sie Markdown in einer Codezelle eingegeben haben.For example, an "Invalid syntax" error typically occurs when you've entered Markdown into Code cell.

  1. Markdownzelle:Markdown cell:

    ## Import packages and prepare the dataset
    
    In this example we're using numpy, pandas, and matplotlib. Data is in the file cricket_chirps.csv. Because this file is in the same project as this present Notebook, we can just load it using a relative pathname.
    
  2. Die Codezelle zeigt die Tabelleninhalte als Ausgabe, wenn sie ausgeführt wird.Code cell; when run, shows the table contents as output. Sie können die Ausgabe unterdrücken, indem Sie die print-Anweisung auskommentieren.You can suppress the output by commenting out the print statement.

    import numpy as np
    import pandas as pd
    
    dataset = pd.read_csv('cricket_chirps.csv')
    print(dataset)
    X = dataset.iloc[:, :-1].values  # Matrix of independent variables -- remove the last column in this data set
    y = dataset.iloc[:, 1].values    # Matrix of dependent variables -- just the last column (1 == 2nd column)
    

    Hinweis

    Es können Warnungen von diesem Code, wie etwa "numpy.dtype size changed" (numpy.dtype-Größe geändert), ausgegeben werden. Diese können jedoch bedenkenlos ignoriert werden.You may see warnings from this code about "numpy.dtype size changed"; the warnings can be safely ignored.

  3. Markdownzelle:Markdown cell:

    Next, split the dataset into a Training set (2/3rds) and Test set (1/3rd). We don't need to do any feature scaling because there is only one column of independent variables, and packages typically do scaling for you.
    
  4. Die Codezelle verfügt über keine Ausgabe, wenn sie ausgeführt wird.Code cell; when run, this cell has no output.

    from sklearn.model_selection import train_test_split
    
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 1/3, random_state = 0)
    
  5. Markdownzelle:Markdown cell:

    ## Fit the data to the training set
    
    "Fitting" the data to a training set means making the line that describes the relationship between the independent and the dependent variables. With a simple data set like we're using here, you can visualize the line on a simple x-y plot: the x-axis is the independent variable (chirp count in this example), and the y-axis is the independent variable (temperature). Fitting the data means plotting all the points in the training set, then drawing the best-fit line through that data.
    
    With two independent variables you can imagine a three-dimensional plot with a line fitted to the data. At three or more independent variables, however, it's no longer easy to visualize the fit, but you get the idea. In the end, it's all just mathematics, which a computer can handle easily without having to form a mental picture!
    
    The regressor's `fit` method here creates the line, which algebraically is of the form `y = x*b1 + b0`, where b1 is the coefficient or slope of the line (which you can get to through `regressor.coef_`), and b0 is the intercept of the line at x=0 (which you can get to through `regressor.intercept_`).
    
  6. Die Codezelle zeigt die Ausgabe LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,normalize=False) an, wenn sie ausgeführt wird.Code cell; when run, this cell shows the output, LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,normalize=False).

    from sklearn.linear_model import LinearRegression
    
    regressor = LinearRegression()    # This object is the regressor, that does the regression
    regressor.fit(X_train, y_train)   # Provide training data so the machine can learn to predict using a learned model.
    
  7. Markdownzelle:Markdown cell:

    ## Predict the results
    
    With the regressor in hand, we can predict the test set results using its `predict` method. That method takes a vector of independent variables for which you want predictions.
    
    Because the regressor is fit to the data by virtue of `coef_` and `intercept_`, a prediction is the result of `coef_ * x + intercept_`. (Indeed, `predict(0)` returns `intercept_` and `predict(1)` returns `intercept_ + coef_`.)
    
    In the code, the `y_test` matrix (from when we split the set) contains the real observations. `y_pred` assigned here contains the predictions for the same `X_test` inputs. It's not expected that the test or training points exactly fit the regression; the regression is trying to find the model that we can use to make predictions with new observations of the independent variables.
    
  8. Die Codezelle zeigt Ergebnisse wie [79.49588055 75.98873911 77.87719989 80.03544077 75.17939878] an, wenn sie ausgeführt wird.Code cell; when run, this cell shows results like [79.49588055 75.98873911 77.87719989 80.03544077 75.17939878].

    y_pred = regressor.predict(X_test)
    print(y_pred)
    
  9. Markdownzelle:Markdown cell:

    It's interesting to think that all the "predictions" we use in daily life, like weather forecasts, are just regression models of some sort working with various data sets. Those models are much more complicated than what's shown here, but the idea is the same.
    
    Knowing how predictions work help us understand that the actual observations we would collect in the moment will always be somewhat off from the predictions: the predictions fit exactly to the model, whereas the observations typically won't.
    
    Of course, such systems feed new observations back into the dataset to continually improve the model, meaning that predictions should get more accurate over time.
    
    The challenge is determining what data to actually use. For example, with weather, how far back in time do you go? How have weather patterns been changing decade by decade? In any case, something like weather predictions will be doing things hour by hour, day by day, for things like temperature, precipitation, winds, cloud cover, etc. Radar and other observations are of course fed into the model and the predictions are reduced to mathematics.
    
  10. Markdownzelle:Markdown cell:

    ## Visualize the results
    
    The following code generates a plot: green dots are training data, red dots are test data, blue dots are predictions. Gray line is the regression itself. You see that all the blue dots are exactly on the line, as they should be, because the predictions exactly fit the model (the line).
    
  11. Die Codezelle erzeugt einen grafischen Plot, wenn sie ausgeführt wird.Code cell; when run, this cell produces a graphical plot. Wenn der Plot nach der ersten Ausführung nicht angezeigt wird (und stattdessen "Figure size 640x480 with 1 Axes" (Größe der Abbildung 640x480 mit 1 Achse)), führen Sie die Zelle erneut aus.If you don't see the plot the first time (and instead see "Figure size 640x480 with 1 Axes"), run the cell again.

    import matplotlib.pyplot as plt
    
    plt.scatter(X_train, y_train, color = 'green')
    plt.scatter(X_test, y_test, color = 'red')   
    plt.scatter(X_test, y_pred, color = 'blue')  # The predicted temperatures of the same X_test input.
    plt.plot(X_train, regressor.predict(X_train), color = 'gray')
    plt.title('Temperature based on chirp count')
    plt.xlabel('Chirps/minute')
    plt.ylabel('Temperature')
    plt.show()
    

    Plotausgabe über den matplotlib-Code

  12. Markdownzelle:Markdown cell:

    ## Closing comments
    
    At the end of the day, when you create a model, you use training data. Then you start feeding test data (real observations) to see how well the model actually works. You may find that the model is a little inaccurate over time, in which case you retrain the model with some new data. Retraining the model means you're creating a new fit line that's used for predictions.
    
    This regression can be used to examine the variability of the relationship between temperature and chirp count. Of course, if the model proves too inaccurate (that is, the predictions aren't very good), then it suggests that we might need to introduce more independent variables like humidity, time of year, latitude, amount of moonlight, and so on. If you have such data, you can do separate lines regressions for each independent variable, and then do multiple regressions with combinations of independent variables. 
    
    Again, once you are working with more than one or two independent variables, it's much easier to use machine learning to crunch the numbers than to try to visualize it graphically.
    

Löschen von Ausgaben und erneutes Ausführen von ZellenClear outputs and rerun all cells

Wenn Sie die im vorherigen Abschnitt angegebenen Schritte zum Auffüllen des gesamten Notebooks befolgt haben, haben sie Code erstellt, der im Kontext eines vollständigen Tutorials zu linearer Regression ausgeführt wird.After following the steps in the previous section to populate the entire notebook, you've created both a piece of running code in the context of a full tutorial on linear regression. Diese unmittelbare Kombination aus Code und Text ist eines der größten Vorteile von Notebooks.This direct combination of code and text is one of the great advantages of notebooks!

Versuchen Sie nun, das gesamte Notebook erneut auszuführen:Try rerunning the whole notebook now:

  1. Löschen Sie alle Sitzungsdaten des Kernels sowie die gesamte Zellenausgabe, indem Sie Kernel > Restart & Clear Output (Kernel > Neu starten und Ausgabe löschen) auswählen.Clear all the kernel's session data and all cell output by selecting Kernel > Restart & Clear Output. Dieser Befehl eignet sich immer, wenn Sie ein Notebook abgeschlossen haben. Damit können Sie sicherstellen, dass Sie keine seltsamen Abhängigkeiten zwischen Codezellen erstellt haben.This command is always a good one to run when you've completed a notebook, just to make sure that you haven't created any strange dependencies between code cells.

  2. Führen Sie das Notebook erneut über Cell > Run All (Zelle > Alle ausführen) aus.Rerun the notebook using Cell > Run All. Beachten Sie, dass der Kernelindikator ausgefüllt wird, während der Code ausgeführt wird.Notice the kernel indicator is filled in while code is running.

    Wenn Sie Code besitzen, der zu lange ausgeführt wird oder anderweitig hängen bleibt, können Sie den Kernel anhalten, indem Sie den Befehl Kernel > Interrupt (Kernel > Unterbrechen) ausführen.If you have any code that runs for too long or otherwise gets stuck, you can stop the kernel by using the Kernel > Interrupt command.

  3. Scrollen Sie durch das Notebook, um die Ergebnisse zu untersuchen.Scroll through the notebook to examine the results. (Wenn der Plot nicht angezeigt wird, führen Sie diese Zelle erneut aus.)(If again the plot doesn't appear, rerun that cell.)

Speichern Sie das Notebook, halten Sie es an, und schließen Sie es.Save, halt, and close the notebook

Während des Zeitraums, in dem Sie ein Notebook bearbeiten, können Sie dessen aktuellen Zustand mithilfe des Befehls File > Save and Checkpoint (Datei > Speichern und Prüfpunkt) oder über die Schaltfläche „Speichern“ auf der Symbolleiste speichern.During the time you're editing a notebook, you can save its current state with the File > Save and Checkpoint command or the save button on the toolbar. Ein „Prüfpunkt“ erstellt eine Momentaufnahme, die Sie jederzeit während der Sitzung wiederherstellen können.A "checkpoint" creates a snapshot that you can revert to at any time during the session. Mithilfe von Prüfpunkten können Sie experimentelle Änderungen vornehmen. Sollten diese Änderungen nicht funktionieren, können Sie auch nur mithilfe des Befehls File > Revert to Checkpoint (Datei > Auf Prüfpunkt wiederherstellen) zu einem Prüfpunkt zurückkehren.Checkpoints allow you to make a series of experimental changes, and if those changes don't work, you can just revert to a checkpoint using the File > Revert to Checkpoint command. Ein alternativer Ansatz ist die Erstellung zusätzlicher Zellen und das Auskommentieren von Code, der nicht ausgeführt werden soll. Beide Ansätze funktionieren gut.An alternate approach is to create extra cells and comment out any code that you don't want to run; either way works.

Sie können auch jederzeit den Befehl File > Make a Copy (Datei > Kopie erstellen) verwenden, um eine Kopie des aktuellen Zustands des Notebooks zu erstellen und diese in einer neuer Datei in Ihrem Projekt zu speichern.You can also use the File > Make a Copy command at any time to make a copy of the current state of the notebook into a new file in your project. Diese Kopie öffnet automatisch eine neue Browserregisterkarte.That copy opens in a new browser tab automatically.

Wenn Sie mit einem Notebook fertig sind, verwenden Sie den Befehl File > Close and halt (Datei > Schließen und anhalten), wodurch das Notebook geschlossen und der Kernel, der es ausgeführt hat, heruntergefahren wird.When you're done with a notebook, use the File > Close and halt command, which closes the notebook and shuts down the kernel that's been running it. Azure Notebooks schließt dann automatisch die Browserregisterkarte.Azure Notebooks then closes the browser tab automatically.

Debuggen von Notebooks über Visual Studio CodeDebug notebooks using Visual Studio Code

Wenn sich Codezellen im Notebook nicht so verhalten, wie Sie es von ihnen erwarten, haben Sie möglicherweise Fehler im Code oder andere Fehler.If the code cells in your notebook don't behave in the way you expect, you may have code bugs or other defects. Eine typische Jupyter-Umgebung bietet außer den print-Anweisungen zum Anzeigen der Werte von Variablen jedoch keine Debugfunktionen.However, other than using print statements to show the value of variables, a typical Jupyter environment doesn't offer any debugging facilities.

Sie können glücklicherweise die IPYNB-Datei des Notebooks herunterladen und dann in Visual Studio Code unter Verwendung der Python-Erweiterung öffnen.Fortunately, you can download the notebook's .ipynb file, then open it in Visual Studio Code using the Python extension. Die Erweiterung importiert ein Notebook direkt als einzelne Codedatei, die Markdown-Zellen in den Kommentaren beibehält.The extension directly imports a notebook as a single code file, preserving your Markdown cells in comments. Sobald Sie das Notebook importiert haben, können Sie den Visual Studio Code-Debugger ausführen, um Ihren Code schrittweise zu durchlaufen, Haltepunkte festzulegen, den Zustand zu untersuchen usw.Once you've imported the notebook, you can use the Visual Studio Code debugger to step through your code, set breakpoints, examine state, and so forth. Nachdem Sie Ihren Code korrigiert haben, exportieren Sie die IPYNB-Datei aus Visual Studio Code und laden sie wieder in Azure Notebooks hoch.After making corrections to your code, you then export the .ipynb file from Visual Studio Code and upload it back into Azure Notebooks.

Weitere Informationen finden Sie in der Visual Studio Code-Dokumentation unter Debug a Jupyter notebook (Debuggen eines Jupyter-Notebooks).For more information, see Debug a Jupyter notebook in the Visual Studio Code documentation.

Zusätzliche Funktionen von Visual Studio Code für Jupyter-Notebooks werden auch in Working with Jupyter Notebooks in Visual Studio Code (Arbeiten mit Jupyter-Notebooks in Visual Studio Code) beschrieben.Also see Visual Studio Code - Jupyter support for additional features of Visual Studio Code for Jupyter notebooks.

Nächste SchritteNext steps

Gewusst-wie-Artikel:How-to articles: