Machine learning, Python i data science

Book description

Uczenie maszynowe kojarzy się z dużymi firmami i rozbudowanymi zespołami. Prawda jest taka, że obecnie można samodzielnie budować zaawansowane rozwiązania uczenia maszynowego i korzystać do woli z olbrzymich zasobów dostępnych danych. Trzeba tylko mieć pomysł i... trochę podstawowej wiedzy. Tymczasem większość opracowań na temat uczenia maszynowego i sztucznej inteligencji wymaga biegłości w zaawansowanej matematyce. Utrudnia to naukę tego zagadnienia, mimo że uczenie maszynowe jest coraz powszechniej stosowane w projektach badawczych i komercyjnych.

Ta praktyczna książka ułatwi Ci rozpoczęcie wdrażania rozwiązań rzeczywistych problemów związanych z uczeniem maszynowym. Zawiera przystępne wprowadzenie do uczenia maszynowego i sztucznej inteligencji, a także sposoby wykorzystania Pythona i biblioteki scikit-learn, uwzględniające potrzeby badaczy i analityków danych oraz inżynierów pracujących nad aplikacjami komercyjnymi. Zagadnienia matematyczne ograniczono tu do niezbędnego minimum, zamiast tego skoncentrowano się na praktycznych aspektach algorytmów uczenia maszynowego. Dokładnie opisano, jak konkretnie można skorzystać z szerokiej gamy modeli zaimplementowanych w dostępnych bibliotekach.

W książce między innymi:

podstawowe informacje o uczeniu maszynowym
najważniejsze algorytmy uczenia maszynowego
przetwarzanie danych w uczeniu maszynowym
ocena modelu i dostrajanie parametrów
łańcuchy modeli i hermetyzacja przepływu pracy
przetwarzanie danych tekstowych

Python i uczenie maszynowe: programowanie do zadań specjalnych!

Table of contents

  1. Przedmowa
    1. Kto powinien przeczytać tę książkę
    2. Dlaczego napisaliśmy tę książkę
    3. Jak poruszać się po książce
    4. Zasoby online
    5. Konwencje stosowane w książce
    6. Korzystanie z przykładowego kodu
    7. Podziękowania
      1. Od Andreasa
      2. Od Sarah
  2. Rozdział 1. Wprowadzenie
    1. Dlaczego uczenie maszynowe?
      1. Problemy, które może rozwiązać uczenie maszynowe
      2. Znajomość zadania i znajomość danych
    2. Dlaczego Python?
    3. scikit-learn
      1. Instalacja scikit-learn
    4. Podstawowe biblioteki i narzędzia
      1. Jupyter Notebook
      2. NumPy
      3. SciPy
      4. matplotlib
      5. pandas
      6. mglearn
    5. Python 2 a Python 3
    6. Wersje użyte w tej książce
    7. Pierwsza aplikacja: klasyfikacja gatunków irysa
      1. Zapoznaj się z danymi
      2. Sprawdzanie osiągnięcia sukcesu: dane treningowe i testowe
      3. Najpierw najważniejsze: zapoznaj się z danymi
      4. Budowa pierwszego modelu: k-najbliżsi sąsiedzi
      5. Przewidywania
      6. Ocena modelu
    8. Podsumowanie i przegląd
  3. Rozdział 2. Nadzorowane uczenie maszynowe
    1. Klasyfikacja i regresja
    2. Uogólnianie, nadmierne dopasowanie i niedopasowanie
      1. Relacja złożoności modelu do rozmiaru zestawu danych
    3. Nadzorowane algorytmy uczenia maszynowego
      1. Przykładowe zestawy danych
      2. k-najbliższych sąsiadów
        1. Klasyfikacja k-sąsiadów
        2. Analiza KNeighborsClassifier
        3. Regresja k-sąsiadów
        4. Analiza KNeighborsRegressor
        5. Mocne i słabe strony i parametry
      3. Modele liniowe
        1. Modele liniowe do regresji
        2. Regresja liniowa (inaczej zwykła metoda najmniejszych kwadratów)
        3. Regresja grzbietowa
        4. Model Lasso
        5. Modele liniowe do klasyfikacji
        6. Modele liniowe dla klasyfikacji wieloklasowej
        7. Mocne, słabe punkty i parametry
      4. Naiwne klasyfikatory Bayesa
        1. Mocne i słabe strony oraz parametry
      5. Drzewa decyzyjne
        1. Budowanie drzew decyzyjnych
        2. Kontrolowanie złożoności drzew decyzyjnych
        3. Analiza drzew decyzyjnych
        4. Ważność cech w drzewach
        5. Mocne, słabe strony i parametry
      6. Zespoły drzew decyzyjnych
        1. Lasy losowe
        2. Drzewa regresji ze wzmocnieniem gradientowym (maszyny ze wzmocnieniem gradientowym)
      7. Maszyny wektorów nośnych
        1. Modele liniowe i cechy nieliniowe
        2. Kernel trick
        3. SVM
        4. Dostrajanie parametrów SVM
        5. Wstępne przetwarzanie danych dla maszyn SVM
        6. Mocne i słabe strony oraz parametry
      8. Sieci neuronowe (głębokie uczenie)
        1. Model sieci neuronowej
        2. Dostrajanie sieci neuronowych
        3. Mocne i słabe strony oraz parametry
    4. Szacunki niepewności na podstawie klasyfikatorów
      1. Funkcja decyzyjna
      2. Prognozy prawdopodobieństw
      3. Niepewność w klasyfikacji wieloklasowej
    5. Podsumowanie i przegląd
  4. Rozdział 3. Uczenie nienadzorowane i przetwarzanie wstępne
    1. Rodzaje nienadzorowanego uczenia maszynowego
    2. Wyzwania związane z uczeniem nienadzorowanym
    3. Przetwarzanie wstępne i skalowanie
      1. Różne rodzaje przetwarzania wstępnego
      2. Zastosowanie transformacji danych
      3. Skalowanie danych treningowych i testowych w ten sam sposób
      4. Wpływ przetwarzania wstępnego na uczenie nadzorowane
    4. Redukcja wymiarowości, wyodrębnianie cech i wielorakie uczenie
      1. Analiza głównych komponentów (PCA)
        1. Zastosowanie PCA do zbioru danych Breast Cancer w celu wizualizacji
        2. Powierzchnia własna do wyodrębniania cech
      2. Nieujemna faktoryzacja macierzy (NMF)
        1. Zastosowanie NMF do danych syntetycznych
        2. Stosowanie NMF do obrazów twarzy
      3. Manifold learning z t-SNE
    5. Grupowanie
      1. Grupowanie k-średnich
        1. Przypadki awarii grupowania k-średnich
        2. Kwantyzacja wektorowa lub postrzeganie grupowania k-średnich jako dekompozycji
      2. Grupowanie aglomeracyjne
        1. Grupowanie hierarchiczne i dendrogramy
      3. DBSCAN
      4. Porównanie i ocena algorytmów grupowania
        1. Ocenianie grupowania z prawdą podstawową
        2. Ocenianie grupowania bez prawdy podstawowej
        3. Porównanie algorytmów na zestawie danych twarzy
      5. Podsumowanie metod grupowania
    6. Podsumowanie i przegląd
  5. Rozdział 4. Reprezentacja danych i cechy inżynierskie
    1. Zmienne kategorialne
      1. Kodowanie jeden-z-N (zmienne fikcyjne)
        1. Sprawdzanie danych kategorialnych zakodowanych w postaci ciągów znaków
      2. Liczby mogą kodować zmienne kategorialne
    2. Dzielenie, dyskretyzacja, modele liniowe i drzewa
    3. Interakcje i wielomiany
    4. Jednowymiarowe transformacje nieliniowe
    5. Automatyczny wybór cechy
      1. Statystyki jednoczynnikowe
      2. Wybór cechy na podstawie modelu
      3. Iteracyjny wybór cech
    6. Wykorzystanie wiedzy eksperckiej
    7. Podsumowanie i przegląd
  6. Rozdział 5. Ocena i doskonalenie modelu
    1. Walidacja krzyżowa
      1. Walidacja krzyżowa w scikit-learn
      2. Korzyści z walidacji krzyżowej
      3. Stratyfikowana k-krotna walidacja krzyżowa i inne strategie
        1. Większa kontrola nad walidacją krzyżową
        2. Walidacja krzyżowa z pominięciem
        3. Walidacja krzyżowa z podziałem losowym
        4. Walidacja krzyżowa z grupami
    2. Przeszukiwanie siatki
      1. Proste przeszukiwanie siatki
      2. Nadmierne dopasowanie parametrów i zestaw walidacyjny
      3. Przeszukiwanie siatki z walidacją krzyżową
        1. Analiza wyniku walidacji krzyżowej
        2. Przeszukiwanie przestrzeni, które nie są siatkami
        3. Korzystanie z różnych strategii walidacji krzyżowej z przeszukiwaniem siatki
        4. Zagnieżdżona walidacja krzyżowa
        5. Równoległa walidacja krzyżowa i przeszukiwanie siatki
    3. Wskaźniki oceny i punktacja
      1. Pamiętaj o celu
      2. Metryki klasyfikacji binarnej
        1. Rodzaje błędów
        2. Niezbalansowane zestawy danych
        3. Macierze błędu
        4. Branie pod uwagę niepewności
        5. Krzywe precision-recall i krzywe ROC
        6. Charakterystyka pracy odbiornika (ROC) i AUC
      3. Metryki klasyfikacji wieloklasowej
      4. Metryki regresji
      5. Używanie metryk oceny w wyborze modelu
    4. Podsumowanie i przegląd
  7. Rozdział 6. Łańcuchy algorytmów i potoki
    1. Wybór parametrów z przetwarzaniem wstępnym
    2. Tworzenie potoków
    3. Używanie potoków w przeszukiwaniu siatki
    4. Ogólny interfejs potoku
      1. Wygodne tworzenie potoków za pomocą funkcji make_pipeline
      2. Dostęp do atrybutów kroku
      3. Dostęp do atrybutów klasy GridSearchCV
    5. Kroki przetwarzania wstępnego przeszukiwania siatki i parametry modelu
    6. Przeszukiwanie siatki modeli
    7. Podsumowanie i przegląd
  8. Rozdział 7. Praca z danymi tekstowymi
    1. Typy danych przedstawione jako ciągi znaków
    2. Przykładowe zastosowanie: analiza recenzji filmowych
    3. Przedstawianie danych tekstowych w postaci worka słów
      1. Stosowanie worka słów do przykładowego zestawu danych
      2. Zastosowanie worka słów do recenzji filmowych
    4. Słowa pomijalne
    5. Skalowanie danych z tf-idf
    6. Badanie współczynników modelu
    7. Worek słów z więcej niż jednym słowem (n-gram)
    8. Zaawansowana tokenizacja, stemming i lematyzacja
    9. Modelowanie tematów i grupowanie dokumentów
      1. Utajniona alokacja Dirichleta
    10. Podsumowanie i przegląd
  9. Rozdział 8. Podsumowanie
    1. Podejście do problemu uczenia maszynowego
      1. Informowanie ludzi
    2. Od prototypu do produkcji
    3. Testowanie systemów na produkcji
    4. Tworzenie własnego estymatora
    5. Co dalej
      1. Teoria
      2. Inne narzędzia i pakiety do uczenia maszynowego
      3. Ranking, systemy rekomendujące i inne rodzaje uczenia
      4. Modelowanie probabilistyczne, wnioskowanie i programowanie probabilistyczne
      5. Sieci neuronowe
      6. Skalowanie do większych zestawów danych
      7. Doskonalenie umiejętności
    6. Podsumowanie
    7. O autorach
    8. Kolofon

Product information

  • Title: Machine learning, Python i data science
  • Author(s): Andreas Müller
  • Release date: May 2021
  • Publisher(s): Helion
  • ISBN: 9788383227528