Nachdem Sie mit dem für das nachgeschaltete System zuständigen Team gesprochen haben, sind Sie sich glücklicherweise sicher, dass Sie tatsächlich die Preise und keine Kategorien benötigen. Großartig! Damit sind wir gut aufgestellt und haben grünes Licht, um mit dem Programmieren zu beginnen!
Beschaffe die Daten
Es ist Zeit, sich die Hände schmutzig zu machen. Sie können sich gern Ihren Laptop nehmen und die folgenden Codebeispiele in einem Jupyter-Notebook nachvollziehen. Das vollständige Jupyter-Notebook finden Sie unter https://github.com/ageron/handson-ml2.
Erstelle eine Arbeitsumgebung
Zuerst benötigen Sie eine Python-Installation. Python ist vermutlich bereits auf Ihrem System installiert. Falls nicht, finden Sie es unter https://www.python.org/.5
Als Nächstes müssen Sie sich ein Arbeitsverzeichnis für Ihren Machine-Learning-Code und die Datensätze erstellen. Öffnen Sie eine Kommandozeile und geben Sie die folgenden Befehle dort ein (nach dem $-Prompt):
$ export ML_PATH="$HOME/ml" # Sie können den Pfad ändern, wenn Sie möchten.
$ mkdir -p $ML_PATH
Sie benötigen ein paar Python-Module: Jupyter, NumPy, pandas, Matplotlib und Scikit-Learn. Wenn Jupyter bei Ihnen bereits mit all diesen Modulen läuft, können Sie beruhigt bei »Die Daten herunterladen« auf Seite 48 fortfahren. Sollte noch etwas fehlen, gibt es mehrere Möglichkeiten, diese Module (und ihre Paketabhängigkeiten) zu installieren. Sie können die Paketverwaltung Ihres Systems verwenden (z.B. apt-get unter Ubuntu oder MacPorts und HomeBrew unter macOS), eine wissenschaftliche Python-Distribution wie Anaconda installieren und dessen Paketverwaltung nutzen oder einfach das in Python eingebaute Paketverwaltungstool pip einsetzen, das (seit Python 2.7.9) standardmäßig Teil der binären Python-Distributionen ist.6 Mit dem folgenden Befehl können Sie überprüfen, ob pip installiert ist:
$ python3 -m pip --version
pip 19.0.2 from [...]/lib/python3.6/site-packages (python 3.6)
Sie sollten sicherstellen, dass Sie eine aktuelle Version von pip haben. Um das pip-Modul zu aktualisieren, geben Sie Folgendes ein (die genaue Version mag eine andere sein):7
$ python3 -m pip install --user -U pip
Collecting pip
[...]
Successfully installed pip-19.0.2
Erstellen einer isolierten Umgebung
Falls Sie in einer isolierten Umgebung arbeiten möchten (was sehr empfehlenswert ist, um Konflikte zwischen Modulversionen in unterschiedlichen Projekten zu vermeiden), sollten Sie mit dem folgenden pip-Befehl das Programm virtualenv8 installieren: (Auch hier gilt wieder: Wollen Sie virtualenv für alle Benutzer auf Ihrem Rechner installieren, entfernen Sie --user und lassen diesen Befehl mit Administratorrechten laufen.)
$ python3 -m pip install --user -U virtualenv
Collecting virtualenv
[...]
Successfully installed virtualenv
Nun können Sie eine isolierte Python-Umgebung erstellen:
$ cd $ML_PATH
$ virtualenv my_env
Using base prefix '[...]'
New python executable in [...]/ml/my_env/bin/python3.6
Also creating executable in [...]/ml/my_env/bin/python
Installing setuptools, pip, wheel...done.
Jedes Mal, wenn Sie diese Umgebung aktivieren möchten, öffnen Sie einfach eine Kommandozeile und geben dort ein:
$ cd $ML_PATH
$ source my_env/bin/activate # unter Linux oder macOS
$ .\my_env\Scripts\activate # unter Windows
Un diese Umgebung zu deaktivieren, geben Sie deactivate ein. Solange diese Umgebung aktiv ist, wird jedes von pip installierte Paket in dieser isolierten Umgebung installiert. Python hat nur auf diese Pakete Zugriff (wenn Sie auch die auf dem gesamten System installierten Pakete nutzen möchten, sollten Sie beim Erstellen der Umgebung die Option --system-site-packages angeben). Weitere Informationen dazu finden Sie in der Dokumentation zu virtualenv.
Nun können Sie sämtliche benötigten Module und ihre Paketabhängigkeiten mit einem einfachen pip-Befehl installieren (verwenden Sie keine virtualenv, benötigen Sie die Option --user oder Administratorrechte):
$ python3 -m pip install --upgrade jupyter matplotlib numpy pandas scipy scikit-learn
Collecting jupyter
Downloading jupyter-1.0.0-py2.py3-none-any.whl
Collecting matplotlib
[...]
Haben Sie eine virtualenv installiert, müssen Sie sie für Jupyter registrieren und ihr einen Namen geben:
$ $ python3 -m ipykernel install --user --name=python3
Nun können Sie mit folgendem Befehl Jupyter starten:
$ jupyter notebook
[I 15:24 NotebookApp] Serving notebooks from local directory: [...]/ml
[I 15:24 NotebookApp] 0 active kernels
[I 15:24 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
[I 15:24 NotebookApp] Use Control-C to stop this server and shut down all
kernels (twice to skip confirmation).
Nun läuft in Ihrer Kommandozeile ein Jupyter-Server auf Port 8888. Sie können diesen Server besuchen, indem Sie in Ihrem Browser die Adresse http://localhost:8888/ eingeben (normalerweise passiert das automatisch beim Starten des Servers). Sie sollten ein leeres Arbeitsverzeichnis sehen (das lediglich das Verzeichnis env enthält, falls Sie die obige Anleitung zum Installieren von virtualenv befolgt haben).
Erstellen Sie nun ein neues Python-Notebook mit dem Button »New«