Mit strukturierten Daten in Python arbeiten
E-Book, Deutsch, 246 Seiten
ISBN: 978-3-96010-409-4
Verlag: O'Reilly
Format: EPUB
Kopierschutz: 6 - ePub Watermark
Matt Harrison leitet MetaSnake, ein Trainings- und Beratungsunternehmen für Python und Data Science. Er setzt Python seit 2000 in einer Vielzahl von Bereichen ein: Data Science, BI, Speicherung, Testing und Automatisierung, Open-Source-Stack-Management und Finanzen.
Weitere Infos & Material
KAPITEL 1
Einleitung
Das vorliegende Buch ist weniger eine Bedienungsanleitung als vielmehr eine Sammlung von Notizen, Tabellen und Beispielen für maschinelles Lernen. Es entstand als zusätzliche Ressource für Schulungen des Autors und wird dort als reales Notizbuch ausgeteilt. Teilnehmer (die die physischen Eigenschaften von Materialien aus totem Baum bevorzugen) konnten ihre eigenen Notizen und Gedanken hinzufügen und hatten eine wertvollen Referenz ausgewählter Beispiele. Wir werden Klassifikationsaufgaben mit strukturierten Daten Schritt für Schritt durchgehen. Weiterhin betrachten wir übliche Machine-Learning-Anwendungen wie die Vorhersage eines stetigen Werts (Regression), Clusterbildung sowie den Versuch der Dimensionsreduktion. Dieses Buch verzichtet darauf, Deep-Learning-Techniken zu diskutieren. Während solche Techniken für unstrukturierte Daten gut funktionieren, sind die Techniken aus dem vorliegenden Buch am ehesten für strukturierte Daten zu empfehlen. Wir setzen voraus, dass der Leser mit Python vertraut ist. Es empfiehlt sich, zu lernen, wie man Daten mit der Bibliothek pandas (https://pandas.pydata.org) verarbeitet. Viele unserer Beispiele verwenden pandas, und es ist ein ausgezeichnetes Werkzeug für den Umgang mit strukturierten Daten. Außerdem können manche der Indizierungsoperationen verwirrend sein, wenn man sich nicht mit numpy (https://numpy.org/) auskennt. Für eine vollständige Besprechung von numpy und pandas wäre ein eigenes Buch notwendig. Verwendete Bibliotheken
In diesem Buch werden viele Bibliotheken benutzt. Das hat Vor- und Nachteile. Einige dieser Bibliotheken können schwierig zu installieren sein oder zu Konflikten mit anderen Bibliotheksversionen führen. Sie müssen aber auch nicht alle diese Bibliotheken installieren. Nutzen Sie den Just-in-time-Ansatz und installieren Sie immer nur die Bibliotheken, die Sie gerade benötigen. >>> import autosklearn, catboost, category_encoders, dtreeviz, eli5, fancyimpute, fastai, featuretools, glmnet_py, graphviz, hdbscan, imblearn, janitor, lime, matplotlib, missingno, mlxtend, numpy, pandas, pdpbox, phate, pydotplus, rfpimp, scikitplot, scipy, seaborn, shap, sklearn, statsmodels, tpot, treeinterpreter, umap, xgbfir, xgboost, yellowbrick >>> for lib in [ ... autosklearn, ... catboost, ... category_encoders, ... dtreeviz, ... eli5, ... fancyimpute, ... fastai, ... featuretools, ... glmnet_py, ... graphviz, ... hdbscan, ... imblearn, ... lime, ... janitor, ... matplotlib, ... missingno, ... mlxtend, ... numpy, ... pandas, ... pandas_profiling, ... pdpbox, ... phate, ... pydotplus, ... rfpimp, ... scikitplot, ... scipy, ... seaborn, ... shap, ... sklearn, ... statsmodels, ... tpot, ... treeinterpreter, ... umap, ... xgbfir, ... xgboost, ... yellowbrick, ... ]: ... try: ... print(lib.__name__, lib.__version__) ... except: ... print("Missing", lib.__name__) catboost 0.11.1 category_encoders 2.0.0 Missing dtreeviz eli5 0.8.2 fancyimpute 0.4.2 fastai 1.0.28 featuretools 0.4.0 Missing glmnet_py graphviz 0.10.1 hdbscan 0.8.22 imblearn 0.4.3 janitor 0.16.6 Missing lime matplotlib 2.2.3 missingno 0.4.1 mlxtend 0.14.0 numpy 1.15.2 pandas 0.23.4 Missing pandas_profiling pdpbox 0.2.0 phate 0.4.2 Missing pydotplus rfpimp scikitplot 0.3.7 scipy 1.1.0 seaborn 0.9.0 shap 0.25.2 sklearn 0.21.1 statsmodels 0.9.0 tpot 0.9.5 treeinterpreter 0.1.0 umap 0.3.8 xgboost 0.81 yellowbrick 0.9 Die meisten dieser Bibliotheken lassen sich leicht mit pip oder conda installieren. Für fastai müssen Sie pip install --no-deps fastai aufrufen. Die Bibliothek umap wird mittels pip install umap-learn installiert. Die Bibliothek janitor installieren Sie mit pip install pyjanitor, und für autosklearn rufen Sie pip install auto-sklearn auf. Ich verwende gewöhnlich Jupyter, um eine Datenanalyse durchzuführen. Sie können auch andere Notebook-Werkzeuge einsetzen. Beachten Sie, dass manche, etwa Google Colab, viele der Bibliotheken vorinstalliert haben (möglicherweise aber in veralteten Versionen). Es gibt zwei hauptsächliche Wege, Bibliotheken in Python zu installieren. Der eine führt über pip (eine Abkürzung für Pip Installs Python), das mit Python mitgeliefert wird. Die andere Möglichkeit ist, mit Anaconda (https://anaconda.org) zu arbeiten. Wir werden beide Wege vorstellen. Installation mit pip
Bevor wir pip benutzen, erstellen wir eine Sandbox-Umgebung, in die wir unsere Bibliotheken installieren. So etwas heißt virtuelle Umgebung, und wir nennen sie env: $ python -m venv env Auf Macintosh und Linux setzen Sie python ein, auf Windows dagegen python3. Falls Windows das auf der Befehlszeile nicht erkennt, müssen Sie Python womöglich neu installieren oder Ihre Installation reparieren und Add Python to my PATH auswählen. Danach aktivieren Sie die Umgebung, damit Sie Ihre Bibliotheken in die Sandbox-Umgebung installieren und nicht in die globale Python-Installation. Da sich viele dieser Bibliotheken weiterentwickeln und aktualisiert werden, ist es das Beste, die verwendeten Versionen für jedes Projekt festzuschreiben, damit Sie sicher sein können, dass Ihr Code läuft. Folgendermaßen aktivieren Sie die virtuelle Umgebung auf Linux und Macintosh: $ source env/bin/activate Sie werden sehen, dass sich der Prompt verändert und nun anzeigt, dass wir die virtuelle Umgebung verwenden: (env) $ which python env/bin/python Auf Windows müssen Sie die Umgebung mit diesem Befehl aktivieren: C:> env\Scripts\activate.bat Wiederum werden Sie feststellen, dass der Prompt angepasst wird, um anzuzeigen, dass wir mit der virtuellen Umgebung arbeiten: (env) C:> where python env\Scripts\python.exe Auf allen Plattformen können Sie Pakete mit pip installieren. Um pandas zu installieren, geben Sie ein: (env) $ pip install pandas In manchen Fällen heißt das Paket anders als die Bibliothek. So können Sie nach Paketen suchen: (env) $ pip search libraryname Sobald Sie Ihre Pakete installiert haben, können Sie mithilfe von pip eine Datei mit allen verwendeten Paketversionen anlegen: (env) $ pip freeze > requirements.txt Mit der Datei requirements.txt können Sie alle Pakete ganz einfach in eine neue virtuelle Umgebung installieren: (other_env) $ pip install -r requirements.txt Installation mit conda
Das Werkzeug conda gehört zu Anaconda. Wir können damit Umgebungen anlegen und Pakete installieren. Um eine Umgebung...