Inhalt | 5 |
Vorwort | 9 |
Kapitel 1: Einführung | 15 |
Warum Machine Learning? | 15 |
Welche Probleme kann Machine Learning lösen? | 16 |
Ihre Aufgabe und Ihre Daten kennen | 19 |
Warum Python? | 19 |
scikit-learn | 20 |
Installieren von scikit-learn | 20 |
Grundlegende Bibliotheken und Werkzeuge | 21 |
Jupyter Notebook | 22 |
NumPy | 22 |
SciPy | 22 |
matplotlib | 24 |
pandas | 24 |
mglearn | 25 |
Python 2 versus Python 3 | 26 |
In diesem Buch verwendete Versionen | 27 |
Eine erste Anwendung: Klassifizieren von Iris-Spezies | 28 |
Die Daten kennenlernen | 29 |
Erfolg nachweisen: Trainings- und Testdaten | 31 |
Das Wichtigste zuerst: Sichten Sie Ihre Daten | 33 |
Ihr erstes Modell konstruieren: k-nächste-Nachbarn | 35 |
Vorhersagen treffen | 36 |
Evaluieren des Modells | 37 |
Zusammenfassung und Ausblick | 37 |
Kapitel 2: Überwachtes Lernen | 41 |
Klassifikation und Regression | 41 |
Verallgemeinerung, Overfitting und Underfitting | 42 |
Zusammenhang zwischen Modellkomplexität und Größe des Datensatzes | 45 |
Algorithmen zum überwachten Lernen | 46 |
Einige Beispieldatensätze | 46 |
k-nächste-Nachbarn | 50 |
Lineare Modelle | 59 |
Naive Bayes-Klassifikatoren | 80 |
Entscheidungsbäume | 82 |
Ensembles von Entscheidungsbäumen | 94 |
Support Vector Machines mit Kernel | 102 |
Neuronale Netze (Deep Learning) | 113 |
Schätzungen der Unsicherheit von Klassifikatoren | 126 |
Die Entscheidungsfunktion | 127 |
Vorhersagen von Wahrscheinlichkeiten | 130 |
Unsicherheit bei der Klassifikation mehrerer Kategorien | 132 |
Zusammenfassung und Ausblick | 134 |
Kapitel 3: Unüberwachtes Lernen und Vorverarbeitung | 137 |
Arten von unüberwachtem Lernen | 137 |
Herausforderungen beim unüberwachten Lernen | 138 |
Vorverarbeiten und Skalieren | 138 |
Unterschiedliche Möglichkeiten der Vorverarbeitung | 139 |
Anwenden von Datentransformationen | 140 |
Trainings- und Testdaten in gleicher Weise skalieren | 142 |
Die Auswirkungen der Vorverarbeitung auf überwachtes Lernen | 144 |
Dimensionsreduktion, Extraktion von Merkmalen und Manifold Learning | 146 |
Hauptkomponentenzerlegung (PCA) | 146 |
Nicht-negative-Matrix-Faktorisierung (NMF) | 161 |
Manifold Learning mit t-SNE | 168 |
Clusteranalyse | 172 |
k-Means-Clustering | 172 |
Agglomeratives Clustering | 183 |
DBSCAN | 188 |
Vergleichen und Auswerten von Clusteralgorithmen | 192 |
Zusammenfassung der Clustering-Methoden | 206 |
Zusammenfassung und Ausblick | 207 |
Kapitel 4: Repräsentation von Daten und Merkmalsgenerierung | 209 |
Kategorische Variablen | 210 |
One-Hot-Kodierung (Dummy-Variablen) | 211 |
Zahlen können kategorische Daten kodieren | 216 |
Binning, Diskretisierung, lineare Modelle und Bäume | 218 |
Interaktionen und Polynome | 222 |
Univariate nichtlineare Transformation | 228 |
Automatische Auswahl von Merkmalen | 232 |
Univariate Statistiken | 232 |
Modellbasierte Auswahl von Merkmalen | 235 |
Iterative Auswahl von Merkmalen | 236 |
Berücksichtigen von Expertenwissen | 238 |
Zusammenfassung und Ausblick | 247 |
Kapitel 5: Evaluierung und Verbesserung von Modellen | 249 |
Kreuzvalidierung | 250 |
Kreuzvalidierung in scikit-learn | 251 |
Vorteile der Kreuzvalidierung | 252 |
Stratifizierte k-fache Kreuzvalidierung und andere Strategien | 252 |
Gittersuche | 258 |
Einfache Gittersuche | 259 |
Die Gefahr des Overfittings von Parametern und Validierungsdaten | 260 |
Gittersuche mit Kreuzvalidierung | 262 |
Evaluationsmetriken | 274 |
Das Ziel im Auge behalten | 274 |
Metriken zur binären Klassifikation | 275 |
Metriken zur Klassifikation mehrerer Kategorien | 296 |
Regressionsmetriken | 298 |
Verwenden von Metriken zur Modellauswahl | 299 |
Zusammenfassung und Ausblick | 301 |
Kapitel 6: Verkettete Algorithmen und Pipelines | 303 |
Parameterauswahl mit Vorverarbeitung | 304 |
Erstellen von Pipelines | 306 |
Pipelines zur Gittersuche einsetzen | 307 |
Die allgemeine Pipeline-Schnittstelle | 310 |
Bequemes Erstellen von Pipelines mit make_pipeline | 311 |
Zugriff auf Attribute von Schritten | 312 |
Zugriff auf Attribute in einer Pipeline mit Gittersuche | 313 |
Gittersuche für Vorverarbeitungsschritte und Modellparameter | 314 |
Gittersuche nach dem richtigen Modell | 317 |
Zusammenfassung und Ausblick | 318 |
Kapitel 7: Verarbeiten von Textdaten | 321 |
Arten von als Strings repräsentierter Daten | 321 |
Anwendungsbeispiel: Meinungsanalyse zu Filmbewertungen | 323 |
Repräsentation von Text als Bag-of-Words | 325 |
Anwenden von Bag-of-Words auf einen einfachen Datensatz | 327 |
Bag-of-Words der Filmbewertungen | 328 |
Stoppwörter | 332 |
Umskalieren der Daten mit tf-idf | 333 |
Untersuchen der Koeffizienten des Modells | 336 |
Bag-of-Words mit mehr als einem Wort (n-Gramme) | 337 |
Fortgeschrittene Tokenisierung, Stemming und Lemmatisierung | 341 |
Modellierung von Themen und Clustering von Dokumenten | 345 |
Latent Dirichlet Allocation | 345 |
Zusammenfassung und Ausblick | 352 |
Kapitel 8: Zusammenfassung und weiterführende Ressourcen | 355 |
Herangehensweise an eine Fragestellung beim maschinellen Lernen | 355 |
Der menschliche Faktor | 356 |
Vom Prototyp zum Produktivsystem | 357 |
Testen von Produktivsystemen | 358 |
Konstruieren eines eigenen Estimators | 358 |
Wie geht es von hier aus weiter? | 359 |
Theorie | 359 |
Andere Umgebungen und Programmpakete zum maschinellen Lernen | 360 |
Ranking, Empfehlungssysteme und andere Arten von Lernen | 361 |
Probabilistische Modellierung, Inferenz und probabilistische Programmierung | 361 |
Neuronale Netze | 362 |
Skalieren auf größere Datensätze | 363 |
Verfeinern Sie Ihre Fähigkeiten | 364 |
Schlussbemerkung | 365 |
Index | 367 |
Über die Autoren | 377 |
Über die Übersetzer | 377 |
Kolophon | 377 |
www.oreilly.de | 0 |