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