Machine Learning Kochbuch

Book Description

Python-Programmierer finden in diesem Kochbuch nahezu 200 wertvolle und jeweils in sich abgeschlossene Anleitungen zu Aufgabenstellungen aus dem Bereich des Machine Learning, wie sie für die tägliche Arbeit typisch sind – von der Vorverarbeitung der Daten bis zum Deep Learning.Entwickler, die mit Python und Python-Bibliotheken einschließlich Pandas und Scikit-Learn vertraut sind, werden spezifische Probleme wie beispielsweise Daten laden, Text und numerische Daten behandeln, Modelle auswählen, die Dimensionalität reduzieren und viele weitere Aufgabenstellungen erfolgreich bewältigen.Jedes Rezept enthält Code, den Sie kopieren und zum Testen in eine kleine Beispieldatenmenge einfügen und dann anpassen können, um Ihre eigenen Anwendungen zu konstruieren. Über das Rezept hinaus wird die Lösung diskutiert und werden wichtige Zusammenhänge hergestellt. Das Kochbuch bleibt nicht bei Theorie und bloßen Konzepten stehen, sondern vermittelt wertvolles Praxiswissen anhand von funktionsfähigen Anwendungen des maschinellen Lernens.

Table of Contents

  1. Cover
  2. Titel
  3. Impressum
  4. Inhalt
  5. Einleitung
  6. 1 Vektoren, Matrizen und Arrays
    1. 1.0 Einführung
    2. 1.1 Einen Vektor erzeugen
    3. 1.2 Eine Matrix erstellen
    4. 1.3 Eine dünn besetzte Matrix erzeugen
    5. 1.4 Elemente auswählen
    6. 1.5 Eine Matrix beschreiben
    7. 1.6 Operationen auf Elemente anwenden
    8. 1.7 Die Größt- und Kleinstwerte suchen
    9. 1.8 Mittelwert, Varianz und Standardabweichung berechnen
    10. 1.9 Die Gestalt von Arrays ändern
    11. 1.10 Einen Vektor oder eine Matrix transponieren
    12. 1.11 Eine Matrix verflachen
    13. 1.12 Den Rang einer Matrix ermitteln
    14. 1.13 Die Determinante berechnen
    15. 1.14 Die Diagonale einer Matrix ermitteln
    16. 1.15 Die Spur einer Matrix berechnen
    17. 1.16 Eigenwerte und Eigenvektoren suchen
    18. 1.17 Punktprodukte berechnen
    19. 1.18 Matrizen addieren und subtrahieren
    20. 1.19 Matrizen multiplizieren
    21. 1.20 Eine Matrix invertieren
    22. 1.21 Zufallswerte erzeugen
  7. 2 Laden von Daten
    1. 2.0 Einführung
    2. 2.1 Einen Beispieldatensatz laden
    3. 2.2 Einen simulierten Datensatz erzeugen
    4. 2.3 Eine CSV-Datei laden
    5. 2.4 Eine Excel-Datei laden
    6. 2.5 Eine JSON-Datei laden
    7. 2.6 Eine SQL-Datenbank abfragen
  8. 3 Datenaufbereitung
    1. 3.0 Einführung
    2. 3.1 Einen Dataframe erstellen
    3. 3.2 Die Daten beschreiben
    4. 3.3 In DataFrames navigieren
    5. 3.4 Zeilen abhängig von Bedingungen auswählen
    6. 3.5 Werte ersetzen
    7. 3.6 Spalten umbenennen
    8. 3.7 Minimum, Maximum, Summe, Mittelwert und Anzahl ermitteln
    9. 3.8 Eindeutige Werte ermitteln
    10. 3.9 Fehlende Werte behandeln
    11. 3.10 Eine Spalte löschen
    12. 3.11 Eine Zeile löschen
    13. 3.12 Doppelte Zeilen löschen
    14. 3.13 Zeilen nach Werten gruppieren
    15. 3.14 Zeilen nach Zeit gruppieren
    16. 3.15 Eine Spalte in einer Schleife durchlaufen
    17. 3.16 Eine Funktion auf alle Elemente in einer Spalte anwenden
    18. 3.17 Eine Funktion auf Gruppen anwenden
    19. 3.18 DataFrames verketten
    20. 3.19 DataFrames zusammenführen
  9. 4 Numerische Daten verarbeiten
    1. 4.0 Einführung
    2. 4.1 Ein Merkmal neu skalieren
    3. 4.2 Ein Merkmal standardisieren
    4. 4.3 Beobachtungen normalisieren
    5. 4.4 Polynom- und Interaktionsmerkmale erzeugen
    6. 4.5 Merkmale transformieren
    7. 4.6 Ausreißer erkennen
    8. 4.7 Mit Ausreißern umgehen
    9. 4.8 Merkmale diskretisieren
    10. 4.9 Beobachtungen durch Clustern gruppieren
    11. 4.10 Beobachtungen mit fehlenden Werten löschen
    12. 4.11 Fehlende Werte imputieren
  10. 5 Kategorische Daten behandeln
    1. 5.0 Einführung
    2. 5.1 Nominale kategorische Merkmale codieren
    3. 5.2 Ordinale kategorische Merkmale codieren
    4. 5.3 Wörterbücher von Merkmalen codieren
    5. 5.4 Fehlende Klassenwerte imputieren
    6. 5.5 Umgang mit unausgewogenen Klassen
  11. 6 Text verarbeiten
    1. 6.0 Einführung
    2. 6.1 Text bereinigen
    3. 6.2 HTML parsen und bereinigen
    4. 6.3 Satzzeichen entfernen
    5. 6.4 Text in Tokens zerlegen
    6. 6.5 Stoppwörter entfernen
    7. 6.6 Stemming
    8. 6.7 Wortarten markieren
    9. 6.8 Text als Bag of Words codieren
    10. 6.9 Wortbedeutung gewichten
  12. 7 Datum und Uhrzeit
    1. 7.0 Einführung
    2. 7.1 Strings in Datumswerte konvertieren
    3. 7.2 Umgang mit Zeitzonen
    4. 7.3 Datum und Uhrzeit auswählen
    5. 7.4 Datumsdaten in mehrere Merkmale aufgliedern
    6. 7.5 Die Differenz zwischen Datumswerten bilden
    7. 7.6 Wochentage codieren
    8. 7.7 Ein verzögertes Merkmal erstellen
    9. 7.8 Gleitende Zeitfenster verwenden
    10. 7.9 Fehlende Daten in Zeitreihen behandeln
  13. 8 Bilder verarbeiten
    1. 8.0 Einführung
    2. 8.1 Bilder laden
    3. 8.2 Bilder speichern
    4. 8.3 Bilder in der Größe ändern
    5. 8.4 Bilder beschneiden
    6. 8.5 Bilder weichzeichnen
    7. 8.6 Bilder scharfzeichnen
    8. 8.7 Kontrast erhöhen
    9. 8.8 Farben isolieren
    10. 8.9 Binärbilder erzeugen
    11. 8.10 Hintergründe entfernen
    12. 8.11 Kantendetektion
    13. 8.12 Eckenerkennung
    14. 8.13 Merkmale für maschinelles Lernen erzeugen
    15. 8.14 Die mittlere Farbe als Merkmal codieren
    16. 8.15 Farbhistogramme als Merkmale codieren
  14. 9 Verringerung der Dimensionalität durch Merkmalsextraktion
    1. 9.0 Einführung
    2. 9.1 Merkmale mithilfe von Hauptkomponenten reduzieren
    3. 9.2 Merkmale reduzieren, wenn Daten nicht linear separierbar sind
    4. 9.3 Merkmale durch Maximierung der Klassenseparierbarkeit reduzieren
    5. 9.4 Merkmale durch Matrixfaktorisierung reduzieren
    6. 9.5 Merkmale auf schwach besetzten Daten reduzieren
  15. 10 Dimensionalität durch Merkmalsauswahl reduzieren
    1. 10.0 Einführung
    2. 10.1 Numerische Merkmale nach dem Schwellenwert von Varianzen auswählen
    3. 10.2 Binäre Merkmale nach dem Schwellenwert von Varianzen auswählen
    4. 10.3 Stark korrelierte Merkmale verarbeiten
    5. 10.4 Für eine Klassifizierung irrelevante Merkmale entfernen
    6. 10.5 Merkmale rekursiv entfernen
  16. 11 Modellbewertung
    1. 11.0 Einführung
    2. 11.1 Kreuzvalidierungsmodelle
    3. 11.2 Ein Baseline-Regressionsmodell erstellen
    4. 11.3 Ein Baseline-Klassifizierungsmodell erstellen
    5. 11.4 Vorhersagen binärer Klassifikatoren bewerten
    6. 11.5 Schwellenwerte von binären Klassifikatoren bewerten
    7. 11.6 Mehrklassige Klassifikatorvorhersagen bewerten
    8. 11.7 Die Performance eines Klassifikators visualisieren
    9. 11.8 Regressionsmodelle bewerten
    10. 11.9 Clustermodelle bewerten
    11. 11.10 Eine benutzerdefinierte Bewertungsmetrik erstellen
    12. 11.11 Die Wirkung der Trainingsmengengröße visualisieren
    13. 11.12 Einen Textbericht der Bewertungsmetriken erstellen
    14. 11.13 Die Wirkung von Hyperparameter-Werten visualisieren
  17. 12 Modellauswahl
    1. 12.0 Einführung
    2. 12.1 Beste Modelle mittels erschöpfender Suche auswählen
    3. 12.2 Beste Modelle mittels Zufallssuche auswählen
    4. 12.3 Beste Modelle von mehreren Lernalgorithmen auswählen
    5. 12.4 Beste Modelle bei Vorverarbeitung auswählen
    6. 12.5 Die Modellauswahl durch Parallelisierung beschleunigen
    7. 12.6 Die Modellauswahl mit algorithmusspezifischen Methoden beschleunigen
    8. 12.7 Performance nach der Modellauswahl bewerten
  18. 13 Lineare Regression
    1. 13.0 Einführung
    2. 13.1 Eine Gerade anpassen
    3. 13.2 Interaktive Effekte verarbeiten
    4. 13.3 Eine nichtlineare Beziehung anpassen
    5. 13.4 Varianz durch Regularisierung verringern
    6. 13.5 Merkmale mit Lasso-Regression reduzieren
  19. 14 Bäume und Wälder
    1. 14.0 Einführung
    2. 14.1 Einen Klassifikator mittels Entscheidungsbaum trainieren
    3. 14.2 Einen Entscheidungsbaumregressor trainieren
    4. 14.3 Ein Entscheidungsbaummodell visualisieren
    5. 14.4 Einen Random-Forest-Klassifikator trainieren
    6. 14.5 Einen Random-Forest-Regressor trainieren
    7. 14.6 Wichtige Merkmale in Random Forests identifizieren
    8. 14.7 Wichtige Merkmale in Random Forests auswählen
    9. 14.8 Unausgewogene Klassen behandeln
    10. 14.9 Die Baumgröße steuern
    11. 14.10 Performance durch Boosting verbessern
    12. 14.11 Random Forests mit Out-of-Bag-Fehlern bewerten
  20. 15 K-nächste Nachbarn
    1. 15.0 Einführung
    2. 15.1 Die nächsten Nachbarn einer Beobachtung suchen
    3. 15.2 Einen k-nächste-Nachbarn-Klassifikator erzeugen
    4. 15.3 Die Größe der besten Nachbarschaft ermitteln
    5. 15.4 Einen radiusbasierten Nächste-Nachbarn-Klassifikator erstellen
  21. 16 Logistische Regression
    1. 16.0 Einführung
    2. 16.1 Einen binären Klassifikator trainieren
    3. 16.2 Einen Multiklassenklassifikator trainieren
    4. 16.3 Varianz durch Regularisierung verringern
    5. 16.4 Einen Klassifikator auf sehr großen Daten trainieren
    6. 16.5 Unausgewogene Klassen verarbeiten
  22. 17 Support Vector Machines
    1. 17.0 Einführung
    2. 17.1 Einen linearen Klassifikator trainieren
    3. 17.2 Nicht linear separierbare Klassen mit Kernels behandeln
    4. 17.3 Vorhergesagte Wahrscheinlichkeiten erzeugen
    5. 17.4 Stützvektoren bestimmen
    6. 17.5 Unausgewogene Klassen verarbeiten
  23. 18 Naive Bayes-Klassifikatoren
    1. 18.0 Einführung
    2. 18.1 Einen Klassifikator für kontinuierliche Merkmale trainieren
    3. 18.2 Einen Klassifikator für diskrete und abzählbare Merkmale trainieren
    4. 18.3 Einen naiven Bayes-Klassifikator für binäre Merkmale trainieren
    5. 18.4 Vorhergesagte Wahrscheinlichkeiten kalibrieren
  24. 19 Clustering
    1. 19.0 Einführung
    2. 19.1 K-Means-Clustering
    3. 19.2 K-Means-Clustering beschleunigen
    4. 19.3 Clustering mittels Mean-Shift
    5. 19.4 Clustering durch hierarchisches Zusammenführen
  25. 20 Neuronale Netze
    1. 20.0 Einführung
    2. 20.1 Vorverarbeitung der Daten für neuronale Netze
    3. 20.2 Ein neuronales Netz entwerfen
    4. 20.3 Einen binären Klassifikator trainieren
    5. 20.4 Einen Klassifikator für mehrere Klassen trainieren
    6. 20.5 Einen Regressor trainieren
    7. 20.6 Vorhersagen treffen
    8. 20.7 Den Trainingsverlauf visualisieren
    9. 20.8 Überanpassung durch Regularisierung der Gewichte vermindern
    10. 20.9 Überanpassung durch frühes Stoppen verringern
    11. 20.10 Überanpassung durch Dropout verringern
    12. 20.11 Den Fortschritt beim Training eines Modells speichern
    13. 20.12 Neuronale Netze mit k-facher Kreuzvalidierung
    14. 20.13 Neuronale Netze optimieren
    15. 20.14 Neuronale Netze visualisieren
    16. 20.15 Bilder klassifizieren
    17. 20.16 Höhere Performance durch Bildverbesserung
    18. 20.17 Text klassifizieren
  26. 21 Trainierte Modelle speichern und laden
    1. 21.0 Einführung
    2. 21.1 Ein scikit-learn-Modell speichern und laden
    3. 21.2 Ein Keras-Modell speichern und laden
  27. Fußnoten
  28. Index
  29. Über den Autor
  30. Kolophon

Product Information

  • Title: Machine Learning Kochbuch
  • Author(s): Chris Albon
  • Release date: March 2019
  • Publisher(s): dpunkt
  • ISBN: 9783960090908