Python Data Science

Book description

Python udostępnia pierwszorzędne narzędzia i biblioteki przeznaczone specjalnie do pracy z danymi. Zdobyły one uznanie wielu naukowców i ekspertów, ceniących ten język za wysoką jakość rozwiązań służących do wydobywania wiedzy z danych. Aby uzyskać najlepsze możliwe efekty, trzeba dobrze poznać zarówno poszczególne biblioteki Pythona, jak i zasady pracy z nimi.

Ta książka stanowi wszechstronne omówienie wszystkich bibliotek Pythona, potrzebnych naukowcom i specjalistom pracującym z danymi. Znalazł się tu dokładny opis IPythona, NumPy, Pandas, Matplotlib, Scikit-Learn i innych narzędzi. Podręcznik uwzględnia przede wszystkim ich aspekty praktyczne, dzięki czemu świetnie się sprawdzi w rozwiązywaniu codziennych problemów z manipulowaniem, przekształcaniem, oczyszczaniem i wizualizacją różnych typów danych, a także jako pomoc podczas tworzenia modeli statystycznych i modeli uczenia maszynowego. Docenią go wszyscy, którzy zajmują się obliczeniami naukowymi w Pythonie.

To wydanie zawiera jasne przykłady, które pomogą Ci skonfigurować i wykorzystać narzędzia do nauki o danych i uczenia maszynowego.

Anne Bonner, założycielka i dyrektor generalna Content Simplicity

Nauczysz się:

pracować w naukowym środowisku obliczeniowym IPythona
korzystać ze specjalistycznych bibliotek przeznaczonych do pracy z danymi
stosować typy ndarray i DataFrame do przechowywania i przetwarzania danych
tworzyć różnego rodzaju wizualizacje danych za pomocą Matplotlib
implementować najważniejsze algorytmy uczenia maszynowego z pakietu Scikit-Learn

Wydobywaj z danych mądre odpowiedzi na trudne pytania!

Table of contents

  1. Opinie o książce
  2. Wprowadzenie
    1. Czym zajmuje się nauka o danych?
    2. Dla kogo jest ta książka?
    3. Dlaczego Python?
    4. Zarys treści
    5. Uwagi dotyczące instalacji
    6. Konwencje typograficzne przyjęte w tej książce
    7. Wykorzystanie przykładów kodu
  3. Część I Jupyter — coś więcej niż zwykły Python
  4. Rozdział 1. Wprowadzenie do IPythona oraz Jupytera
    1. Uruchamianie powłoki IPythona
    2. Uruchamianie Jupyter Notebook
    3. IPython — pomoc i dokumentacja
      1. Dostęp do dokumentacji za pomocą ?
      2. Dostęp do kodu źródłowego za pomocą ??
      3. Przeglądanie zawartości modułów za pomocą autouzupełniania z tabulatorem
        1. Uzupełnianie zawartości obiektu
        2. Uzupełnianie podczas importowania
        3. Coś więcej niż autouzupełnianie: dopasowanie do symboli wieloznacznych
    4. Skróty klawiaturowe w powłoce IPython
      1. Skróty do nawigacji
      2. Skróty do wprowadzania tekstu
      3. Skróty związane z historią poleceń
      4. Pozostałe skróty
  5. Rozdział 2. Funkcje interaktywne
    1. Magiczne polecenia IPythona
      1. Uruchamianie zewnętrznego kodu za pomocą %run
      2. Pomiar czasu wykonania za pomocą %timeit
      3. Pomoc dotycząca magicznych poleceń ?, %magic i %lsmagic
    2. Historia wejścia i wyjścia
      1. Obiekty In i Out IPythona
      2. Symbol podkreślenia i poprzednie wyjścia
      3. Wyłączanie wyjścia
      4. Inne magiczne polecenia
    3. Polecenia IPythona i powłoki
      1. Krótkie wprowadzenie do powłoki
      2. Polecenia powłoki w IPythonie
      3. Przekazywanie wartości do i z powłoki
      4. Magiczne polecenia związane z powłoką
  6. Rozdział 3. Debugowanie i profilowanie
    1. Błędy i debugowanie
      1. Kontrolowanie wyjątków za pomocą %xmode
      2. Debugowanie — gdy lektura śladu nie wystarcza
    2. Profilowanie kodu i pomiary czasu jego wykonania
      1. Pomiar czasu wykonania fragmentu kodu za pomocą %timeit i %time
      2. Profilowanie całych skryptów za pomocą %prun
      3. Profilowanie linia po linii za pomocą %lprun
      4. Profilowanie pamięci za pomocą %memit i %mprun
    3. Więcej materiałów na temat IPythona
      1. Materiały dostępne w sieci
      2. Książki
  7. Część II Wprowadzenie do NumPy
  8. Rozdział 4. Zrozumieć typy danych w Pythonie
    1. Typ całkowitoliczbowy w Pythonie to coś więcej niż zwykły int
    2. Lista w Pythonie to coś więcej niż zwykła lista
    3. Tablice o stałym typie w Pythonie
    4. Tworzenie tablic z list
    5. Tworzenie tablic od podstaw
    6. Standardowe typy danych NumPy
  9. Rozdział 5. Podstawy pracy z tablicami NumPy
    1. Atrybuty tablicy NumPy
    2. Indeksowanie tablicy — dostęp do pojedynczych elementów
    3. Slicing, czyli sposób na dostęp do podtablic
      1. Jednowymiarowe podtablice
      2. Wielowymiarowe podtablice
      3. Podtablice jako widoki bez kopiowania
      4. Kopiowanie tablic
    4. Zmiana kształtu tablic
    5. Konkatenacja i dzielenie tablic
      1. Konkatenacja tablic
      2. Dzielenie tablic
  10. Rozdział 6. Obliczenia z użyciem tablic NumPy — funkcje uniwersalne
    1. Powolność pętli
    2. Wprowadzenie do funkcji uniwersalnych
    3. Przegląd funkcji uniwersalnych dostępnych w NumPy
      1. Arytmetyka tablicowa
      2. Wartość bezwzględna
      3. Funkcje trygonometryczne
      4. Potęgi i logarytmy
      5. Funkcje uniwersalne do zastosowań specjalnych
    4. Zaawansowane możliwości funkcji uniwersalnych
      1. Określanie miejsca zapisu danych wyjściowych
      2. Agregacje
      3. Metoda outer
    5. Więcej materiałów na temat funkcji uniwersalnych
  11. Rozdział 7. Agregacje — minimum, maksimum i wszystko pomiędzy nimi
    1. Sumowanie wartości w tablicy
    2. Minimum i maksimum
      1. Agregacja w wielu wymiarach
      2. Inne funkcje agregujące
    3. Przykład: jaki jest średni wzrost prezydenta USA?
  12. Rozdział 8. Obliczenia na tablicach — broadcasting
    1. Co to jest broadcasting?
    2. Zasady broadcastingu
      1. Pierwszy przykład
      2. Drugi przykład
      3. Trzeci przykład
    3. Broadcasting w praktyce
      1. Centrowanie wartości w tablicy
      2. Rysowanie wykresów funkcji dwuwymiarowych
  13. Rozdział 9. Porównania, maski i logika boolowska
    1. Przykład: sprawdzanie, przez ile dni padało
    2. Operatory porównania jako funkcje uniwersalne
    3. Praca z tablicami wartości logicznych
      1. Zliczanie wpisów
      2. Operatory logiczne
    4. Tablice wartości logicznych jako maski
    5. Słowa kluczowe and i or kontra operatory &/|
  14. Rozdział 10. Fancy indexing
    1. Jak działa fancy indexing?
    2. Łączenie różnych metod indeksowania
    3. Przykład: wybieranie losowych punktów
    4. Modyfikowanie wartości za pomocą fancy indexingu
    5. Przykład: podział danych na kubełki
  15. Rozdział 11. Sortowanie tablic
    1. Szybkie sortowanie w NumPy — np.sort i np.argsort
    2. Sortowanie wzdłuż wierszy lub kolumn
    3. Sortowanie częściowe — partycjonowanie
    4. Przykład: metoda k najbliższych sąsiadów
  16. Rozdział 12. Dane ustrukturyzowane — ustrukturyzowane tablice NumPy
    1. Tworzenie ustrukturyzowanych tablic
    2. Bardziej zaawansowane typy złożone
    3. Tablice rekordów — ustrukturyzowane tablice z niespodzianką
    4. W stronę Pandas
  17. Część III Przekształcanie danych za pomocą Pandas
  18. Rozdział 13. Wprowadzenie do obiektów Pandas
    1. Obiekt typu Series
      1. Obiekty typu Series jako uogólnienie tablic NumPy
      2. Obiekt typu Series jako szczególny rodzaj słownika
      3. Tworzenie obiektów typu Series
    2. Obiekt typu DataFrame
      1. Ramka danych jako uogólnienie tablicy NumPy
      2. Ramka danych jako szczególny rodzaj słownika
      3. Tworzenie obiektów typu DataFrame
        1. Tworzenie ramki danych na podstawie jednego obiektu typu Series
        2. Tworzenie ramki danych na podstawie listy słowników
        3. Tworzenie ramki danych na podstawie obiektów typu Series
        4. Tworzenie ramki danych na podstawie dwuwymiarowej tablicy NumPy
        5. Tworzenie ramki danych na podstawie ustrukturyzowanej tablicy NumPy
    3. Obiekt typu Index
      1. Indeks jako niemutowalna tablica
      2. Indeks jako uporządkowany zbiór
  19. Rozdział 14. Indeksowanie i wybieranie
    1. Wybór danych z obiektów typu Series
      1. Obiekt typu Series jako słownik
      2. Obiekt typu Series jako jednowymiarowa tablica
      3. Indeksatory: loc i iloc
    2. Wybór danych z obiektów typu DataFrame
      1. Obiekt typu DataFrame jako słownik
      2. Obiekt typu DataFrame jako dwuwymiarowa tablica
      3. Inne konwencje związane z indeksowaniem
  20. Rozdział 15. Operacje na danych w Pandas
    1. Funkcje uniwersalne — zachowanie indeksu
    2. Funkcje uniwersalne — dopasowanie indeksu
      1. Dopasowanie indeksu w obiektach typu Series
      2. Dopasowanie indeksu w obiektach typu DataFrame
    3. Funkcje uniwersalne — operacje pomiędzy ramkami danych a obiektami typu Series
  21. Rozdział 16. Obsługa brakujących danych
    1. Kompromisy w konwencjach dotyczących brakujących danych
    2. Brakujące dane w Pandas
      1. None jako rodzaj wartownika
      2. NaN — brakujące dane liczbowe
      3. NaN i None w Pandas
    3. Nullowalne typy danych w Pandas
    4. Praca z wartościami typu null
      1. Wykrywanie wartości typu null
      2. Usuwanie wartości typu null
      3. Uzupełnianie braków
  22. Rozdział 17. Indeksowanie hierarchiczne
    1. Wielokrotnie indeksowane obiekty typu Series
      1. Zły sposób
      2. Lepszy sposób — MultiIndex z Pandas
      3. MultiIndex jako dodatkowy wymiar
    2. MultiIndex — metody tworzenia
      1. Tworzenie indeksu hierarchicznego z użyciem jawnego konstruktora
      2. Nazwy poziomów indeksu hierarchicznego
      3. MultiIndex dla kolumn
    3. MultiIndex — indeksowanie i slicing
      1. Obiekty typu Series z wielokrotnymi indeksami
      2. Obiekty typu DataFrame z wielokrotnymi indeksami
    4. MultiIndex — zmiana kolejności
      1. Posortowane i nieposortowane indeksy
      2. Metody stack i unstack
      3. Ustawianie i resetowanie indeksu
  23. Rozdział 18. Łączenie zbiorów danych — concat i append
    1. Przypomnienie: konkatenacja tablic NumPy
    2. Prosta konkatenacja za pomocą pd.concat
      1. Zduplikowane indeksy
        1. Traktowanie powtarzających się indeksów jako błędu
        2. Ignorowanie indeksu
        3. Dodawanie indeksu wielokrotnego
      2. Konkatenacja za pomocą złączeń
      3. Metoda append
  24. Rozdział 19. Łączenie zbiorów danych — merge i join
    1. Algebra relacji
    2. Rodzaje złączeń
      1. Złączenia jeden-do-jednego
      2. Złączenia wiele-do-jednego
      3. Złączenia wiele-do-wielu
    3. Określanie klucza, na podstawie którego ma być wykonane złączenie
      1. Słowo kluczowe on
      2. Słowa kluczowe left_on i right_on
      3. Słowa kluczowe left_index i right_index
    4. Wykorzystanie arytmetyki zbiorów w złączeniach
    5. Nakładające się nazwy kolumn — słowo kluczowe suffixes
    6. Przykład: dane dotyczące stanów USA
  25. Rozdział 20. Agregacja i grupowanie
    1. Dane na temat planet
    2. Prosta agregacja w Pandas
    3. Grupowanie — podziel, zastosuj funkcję, połącz
      1. Podziel, zastosuj funkcję, połącz
      2. Obiekt GroupBy
        1. Indeksowanie kolumn
        2. Iterowanie po grupach
        3. Wywołania innych metody na obiekcie GroupBy
      3. Agregacja, filtrowanie, transformacja, wywoływanie funkcji
        1. Agregacja
        2. Filtrowanie
        3. Transformacja
        4. Metoda apply
      4. Określanie sposobu podziału
        1. Lista, tablica, seria lub indeks
        2. Słownik lub ciąg mapowań indeksów na grupy
        3. Dowolna funkcja Pythona
        4. Lista prawidłowych kluczy
      5. Przykład grupowania
  26. Rozdział 21. Tabele przestawne
    1. Dane na potrzeby przykładu
    2. Ręczne tworzenie tabel przestawnych
    3. Składnia tabel przestawnych
      1. Wielopoziomowe tabele przestawne
      2. Dodatkowe opcje tabel przestawnych
    4. Przykład: dane dotyczące liczby urodzeń
  27. Rozdział 22. Zwektoryzowane operacje na łańcuchach znaków
    1. Wprowadzenie do pracy z łańcuchami znaków w Pandas
    2. Metody pracujące na łańcuchach znaków w Pandas
      1. Metody podobne do metod znanych z Pythona
      2. Metody wykorzystujące wyrażenia regularne
      3. Różne metody
        1. Zwektoryzowany dostęp do elementów i slicing
        2. Zmienne wskaźnikowe
    3. Przykład: baza przepisów
      1. Prosty system rekomendacji przepisów
      2. Jak można rozwinąć ten projekt?
  28. Rozdział 23. Praca z szeregami czasowymi
    1. Daty i godziny w Pythonie
      1. Daty i godziny w Pythonie — datetime i dateutil
      2. Typowane tablice znaczników czasu — datetime64 z NumPy
      3. Daty i godziny w Pandas — najlepsze elementy z obu światów
    2. Szeregi czasowe w Pandas — indeksowanie według czasu
    3. Struktury danych do przechowywania szeregów czasowych w Pandas
    4. Regularne sekwencje dat — pd.date_range
    5. Częstotliwości i przesunięcia
    6. Ponowne próbkowanie, przesuwanie i okna
      1. Ponowne próbkowanie i zmiana częstotliwości
      2. Przesunięcia w czasie
      3. Ruchome okna
    7. Przykład: wizualizacja danych o liczbie rowerów w Seattle
      1. Wizualizacja danych
      2. Zagłębianie się w dane
  29. Rozdział 24. Wysoka wydajność w Pandas — eval i query
    1. Dlaczego warto zastosować query i eval — wyrażenia złożone
    2. Wydajne operacje z użyciem pandas.eval
    3. Operacje na kolumnach z użyciem DataFrame.eval
      1. Przypisanie w DataFrame.eval
      2. Zmienne lokalne w DataFrame.eval
    4. Metoda DataFrame.query
    5. Wydajność — kiedy warto korzystać z tych funkcji
    6. Materiały dodatkowe
  30. Część IV Wizualizacja z użyciem Matplotlib
  31. Rozdział 25. Wskazówki dotyczące korzystania z Matplotlib
    1. Importowanie Matplotlib
    2. Ustawianie stylów
    3. Czy trzeba używać show()? Jak wyświetlić wygenerowane wykresy?
      1. Rysowanie z poziomu skryptu
      2. Rysowanie z poziomu IPythona
      3. Rysowanie z poziomu notatnika Jupytera
      4. Zapisywanie rysunków do pliku
      5. Dwa interfejsy w cenie jednego
        1. Interfejs w stylu MATLAB-a
        2. Interfejs obiektowy
  32. Rozdział 26. Proste wykresy liniowe
    1. Dostosowywanie wykresu — kolory i style linii
    2. Dostosowywanie wykresu — granice osi
    3. Etykietowanie wykresów
    4. Pułapki Matplotlib
  33. Rozdział 27. Proste wykresy punktowe
    1. Tworzenie wykresów punktowych za pomocą plt.plot
    2. Tworzenie wykresów punktowych za pomocą plt.scatter
    3. plot a scatter — uwaga na temat wydajności
    4. Wizualizacja niepewności
      1. Słupki błędów
      2. Błędy ciągłe
  34. Rozdział 28. Wykresy gęstości i wykresy konturowe
    1. Wizualizacja trójwymiarowych funkcji
    2. Histogramy, kubełki i gęstości
    3. Dwuwymiarowe histogramy i podział danych na kubełki
      1. plt.hist2d — dwuwymiarowy histogram
      2. plt.hexbin — podział na sześciokątne kubełki
      3. Jądrowy estymator gęstości
  35. Rozdział 29. Dostosowywanie legend
    1. Wybór elementów do legendy
    2. Legenda opisująca rozmiary punktów
    3. Wiele legend
  36. Rozdział 30. Dostosowywanie pasków kolorów
    1. Dostosowywanie pasków kolorów
      1. Wybór mapy kolorów
      2. Granice kolorów i wartości spoza zakresu
      3. Dyskretne paski kolorów
    2. Przykład: odręcznie zapisane cyfry
  37. Rozdział 31. Podwykresy
    1. plt.axes — manualne tworzenie podwykresów
    2. plt.subplot — proste siatki podwykresów
    3. plt.subplots — cała siatka za jednym zamachem
    4. plt.GridSpec — bardziej skomplikowane układy
  38. Rozdział 32. Tekst i adnotacje
    1. Przykład: wpływ świąt na liczbę urodzeń w Stanach Zjednoczonych
    2. Transformacje i położenie tekstu
    3. Strzałki i adnotacje
  39. Rozdział 33. Dostosowywanie znaczników osi
    1. Główne i dodatkowe podziałki
    2. Ukrywanie podziałek lub ich etykiet
    3. Zmniejszenie lub zwiększenie liczby podziałek
    4. Inne możliwości formatowania podziałek
    5. Lokalizatory i formatery — podsumowanie
  40. Rozdział 34. Dostosowywanie wykresów — konfiguracja i style
    1. Ręczne dostosowywanie wykresów
    2. Zmiana ustawień domyślnych — rcParams
    3. Arkusze stylów
      1. Styl domyślny
      2. Styl FiveThiryEight
      3. Styl ggplot
      4. Styl z książki Bayesian Methods for Hackers
      5. Ciemne tło
      6. Rysunki w skali szarości
      7. Styl Seaborn
  41. Rozdział 35. Wykresy w przestrzeni trójwymiarowej
    1. Trójwymiarowe punkty i krzywe
    2. Trójwymiarowe wykresy konturowe
    3. Wykresy typu wireframe i wykresy powierzchniowe
    4. Triangulacja powierzchni
    5. Przykład: wizualizacja wstęgi Möbiusa
  42. Rozdział 36. Wizualizacje z użyciem pakietu Seaborn
    1. Przegląd możliwości pakietu Seaborn
      1. Histogramy, jądrowy estymator gęstości i wykresy gęstości
      2. Wykresy typu pairplot
      3. Grupy histogramów
    2. Wykresy typu catplot
      1. Wspólne rozkłady prawdopodobieństwa
      2. Wykresy słupkowe
    3. Przykład: eksploracja danych na temat czasu ukończenia maratonu
    4. Materiały dodatkowe
    5. Inne biblioteki do wizualizacji danych w Pythonie
  43. Część V Uczenie maszynowe
  44. Rozdział 37. Czym jest uczenie maszynowe?
    1. Rodzaje uczenia maszynowego
    2. Przykłady problemów uczenia maszynowego
      1. Klasyfikacja, czyli przewidywanie dyskretnych etykiet
      2. Regresja, czyli przewidywanie ciągłych etykiet
      3. Klasteryzacja, czyli ustalanie etykiet w oparciu o nieetykietowane dane
      4. Redukcja wymiarowości — wnioskowanie o strukturze danych pozbawionych etykiet
    3. Podsumowanie
  45. Rozdział 38. Wprowadzenie do Scikit-Learn
    1. Reprezentacja danych w Scikit-Learn
      1. Macierz cech
      2. Tablica wartości docelowych
    2. API Estimator
      1. Podstawy korzystania z API
      2. Przykład uczenia nadzorowanego: prosta regresja liniowa
        1. 1. Wybierz klasę modelu
        2. 2. Wybierz hiperparametry
        3. 3. Zapisz dane w macierzy cech i wektorze wartości docelowych
        4. 4. Dopasuj model do danych
        5. 5. Przeprowadź predykcję etykiet dla nieznanych danych
      3. Przykład uczenia nadzorowanego: klasyfikacja irysów
      4. Przykład uczenia nienadzorowanego: redukcja wymiarowości w zbiorze Iris
      5. Przykład uczenia nienadzorowanego: klasteryzacja irysów
    3. Zastosowanie: eksploracja zbioru odręcznie zapisanych cyfr
      1. Wczytywanie i wizualizacja danych
      2. Przykład uczenia nienadzorowanego: redukcja wymiarowości
      3. Klasyfikacja cyfr
    4. Podsumowanie
  46. Rozdział 39. Hiperparametry i walidacja modelu
    1. Walidacja modelu
      1. Niewłaściwy sposób walidacji modelu
      2. Właściwy sposób walidacji modelu, czyli podział danych na zbiór uczący i testowy
      3. Walidacja modelu za pomocą walidacji krzyżowej
    2. Wybór najlepszego modelu
      1. Kompromis pomiędzy obciążeniem a wariancją
      2. Krzywe walidacji w Scikit-Learn
    3. Krzywe uczenia
    4. Walidacja w praktyce — wyszukiwanie w siatce
    5. Podsumowanie
  47. Rozdział 40. Inżynieria cech
    1. Cechy o charakterze kategorialnym
    2. Cechy tekstowe
    3. Konwersja obrazów na cechy
    4. Cechy pochodne
    5. Imputacja brakujących danych
    6. Potoki przetwarzania w inżynierii cech
  48. Rozdział 41. Dogłębne spojrzenie — naiwny klasyfikator Bayesa
    1. Klasyfikacja bayesowska
    2. Naiwny gaussowski klasyfikator Bayesa
    3. Naiwny wielomianowy klasyfikator Bayesa
      1. Przykład: klasyfikacja tekstu
    4. Kiedy korzystać z naiwnego klasyfikatora Bayesa
  49. Rozdział 42. Dogłębne spojrzenie — regresja liniowa
    1. Prosta regresja liniowa
    2. Regresja funkcjami bazowymi
      1. Wielomianowe funkcje bazowe
      2. Gaussowskie funkcje bazowe
    3. Regularyzacja
      1. Regresja grzbietowa (regularyzacja L2)
      2. Regresja lasso (regularyzacja L1)
    4. Przykład: przewidywanie ruchu rowerowego
  50. Rozdział 43. Dogłębne spojrzenie — maszyny wektorów nośnych
    1. Motywacje dla maszyn wektorów nośnych
    2. Maszyny wektorów nośnych — maksymalizacja marginesu
      1. Dopasowywanie maszyny wektorów nośnych
      2. Maszyny wektorów nośnych z nieliniowymi granicami — jądrowy SVM
      3. Dostrajanie SVM — zmiękczanie marginesów
    3. Przykład: rozpoznawanie twarzy
    4. Podsumowanie
  51. Rozdział 44. Dogłębne spojrzenie — drzewa decyzyjne i lasy losowe
    1. Motywacje dla lasów losowych — drzewa decyzyjne
      1. Tworzenie drzewa decyzyjnego
      2. Drzewa decyzyjne i nadmierne dopasowanie
    2. Zespoły estymatorów — lasy losowe
    3. Regresja z użyciem lasów losowych
    4. Przykład: wykorzystanie lasu losowego do klasyfikacji cyfr
    5. Podsumowanie
  52. Rozdział 45. Dogłębne spojrzenie — analiza głównych składowych
    1. Wprowadzenie do analizy głównych składowych
      1. PCA jako metoda redukcji wymiarowości
      2. Wykorzystanie PCA do wizualizacji — odręcznie zapisane cyfry
      3. Co reprezentują składowe?
      4. Wybór liczby składowych
    2. PCA jako metoda filtrowania szumów
    3. Przykład: rozpoznawanie twarzy
    4. Podsumowanie
  53. Rozdział 46. Dogłębne spojrzenie — manifold learning
    1. Manifold learning — słowo „hello”
    2. Skalowanie wielowymiarowe
      1. Skalowanie wielowymiarowe jako metoda manifold learningu
      2. Osadzenia nieliniowe — gdy zawodzi skalowanie wielowymiarowe
    3. Rozmaitości nieliniowe — lokalnie liniowe osadzanie
    4. Kilka przemyśleń na temat metod manifold learningu
    5. Przykład: mapowanie izometryczne w zbiorze zdjęć twarzy
    6. Przykład: wizualizacja struktury w liczbach
  54. Rozdział 47. Dogłębne spojrzenie — klasteryzacja za pomocą algorytmu k-średnich
    1. Wprowadzenie do algorytmu k-średnich
    2. Estymacja-maksymalizacja
    3. Przykłady
      1. Przykład 1. Algorytm k-średnich w zbiorze digits
      2. Przykład 2. Algorytm k-średnich w kompresji kolorów
  55. Rozdział 48. Dogłębne spojrzenie — modele mieszanin rozkładów Gaussa
    1. Motywacje dla modeli mieszanin rozkładów Gaussa — słabości algorytmu k-średnich
    2. Uogólnienie algorytmu EM — modele mieszanin rozkładów Gaussa
    3. Wybór rodzaju kowariancji
    4. Modele mieszanin rozkładów Gaussa jako narzędzie do szacowania gęstości
    5. Przykład: wykorzystanie GMM do generowania nowych danych
  56. Rozdział 49. Dogłębne spojrzenie — jądrowy estymator gęstości
    1. Motywacje dla jądrowego estymatora gęstości — histogramy
    2. Jądrowy estymator gęstości w praktyce
    3. Wybór parametru wygładzania za pomocą walidacji krzyżowej
    4. Przykład: nie tak naiwny klasyfikator Bayesa
      1. Anatomia niestandardowego estymatora
      2. Korzystanie z naszego niestandardowego estymatora
  57. Rozdział 50. Zastosowanie — potok przetwarzania do wykrywania twarzy
    1. Cechy HOG
    2. HOG w akcji — prosty detektor twarzy
      1. 1. Stwórz zbiór „pozytywnych” próbek
      2. 2. Stwórz zbiór „negatywnych” próbek
      3. 3. Połącz zbiory i wyodrębnij cechy HOG
      4. 4. Wytrenuj maszynę wektorów nośnych
      5. 5. Znajdź twarze na nowym zdjęciu
    3. Zastrzeżenia i ulepszenia
    4. Materiały dodatkowe na temat uczenia maszynowego
    5. O autorze
    6. Kolofon

Product information

  • Title: Python Data Science
  • Author(s): Jake VanderPlas
  • Release date: November 2023
  • Publisher(s): Helion
  • ISBN: 9788328900684