- Nowość!
Opis produktu: Uczenie maszynowe w Pythonie. Receptury. Od przygotowania danych do deep learningu. Wyd. II - Kyle Gallatin, Chris Albon
Drugie wydanie książki Uczenie maszynowe w Pythonie, zawiera ponad 200 sprawdzonych receptur, które bazują na najnowszych wydaniach bibliotek Pythona. Zawierają one gotowe kody, które można dostosować do swoich potrzeb. W książce przedstawione są gotowe przykłady dotyczące pracy z danymi w wielu formatach, bazami i magazynami danych, a także wiele innych rad, które mogą się przydać podczas rozwiązywania spektrum problemów, począwszy od przygotowania i wczytania danych, aż po trenowanie modeli i korzystanie z sieci neuronowych. Publikacja nada się dla osób chcących wdrożyć algorytmy uczenia maszynowego w praktyce.
Kilka słów o autorach
Kyle Gallatin jest inżynierem, który zajmuje się oprogramowaniem na platformie uczenia maszynowego w Etsy. Pracował także jako naukowiec, analityk danych oraz inżynier uczenia maszynowego.
Dr Chris Albon od wielu lat jest analitykiem danych oraz politologiem. Obecnie pracuje dla Devoted Health, był także głównym analitykiem danych w kenijskim startupie BRCK.
Uczenie maszynowe - receptury
Uczenie maszynowe stanowi jeden z bardzo ciekawych i dynamicznie rozwijających się obszarów technologii informatycznej. W książce znajdziemy informacje dotyczące pracy z danymi w wielu formatach, bazami i magazynami danych. Omówione są również techniki redukcji wymiarowości oraz metody oceny i wyboru modeli. Publikacja zawiera receptury dotyczące takich zagadnień jak regresja liniowa i logistyczna, drzewa decyzyjne oraz lasy losowe, a także algorytmy k-najbliższych sąsiadów, maszyny wektorów nośnych (SVM), naiwna klasyfikacja bayesowska oraz klasteryzacja.
Informacje o książce
- Tytuł oryginału: Machine Learning with Python Cookbook: Practical Solutions from Preprocessing to Deep Learning, 2nd Edition
- Autorzy: Kyle Gallatin, Dr Chris Albon
- Tłumaczenie: Robert Górczyński
- ISBN: 978-83-289-0811-6
- Rok wydania: 2024
- Format: 165 x 235 mm
- Oprawa: miękka
- Liczba stron: 398
- Wydawnictwo: Helion S.A.
Spis treści
Wprowadzenie
1. Wektor, macierz i tablica
- 1.0. Wprowadzenie
- 1.1. Tworzenie wektora
- 1.2. Tworzenie macierzy
- 1.3. Tworzenie macierzy rzadkiej
- 1.4. Wstępna alokacja tablicy NumPy
- 1.5. Pobieranie elementów
- 1.6. Opisywanie macierzy
- 1.7. Przeprowadzanie operacji na wszystkich elementach
- 1.8. Znajdowanie wartości maksymalnej i minimalnej
- 1.9. Obliczanie średniej, wariancji i odchylenia standardowego
- 1.10. Zmiana kształtu tablicy
- 1.11. Transponowanie wektora lub macierzy
- 1.12. Spłaszczanie macierzy
- 1.13. Znajdowanie rzędu macierzy
- 1.14. Pobieranie przekątnej macierzy
- 1.15. Obliczanie śladu macierzy
- 1.16. Obliczanie iloczynu skalarnego
- 1.17. Dodawanie i odejmowanie macierzy
- 1.18. Mnożenie macierzy
- 1.19. Odwracanie macierzy
- 1.20. Generowanie liczb losowych
2. Wczytywanie danych
- 2.0. Wprowadzenie
- 2.1. Wczytywanie przykładowego zbioru danych
- 2.2. Tworzenie symulowanego zbioru danych
- 2.3. Wczytywanie pliku CSV
- 2.4. Wczytywanie pliku Excela
- 2.5. Wczytywanie pliku JSON
- 2.6. Wczytywanie pliku Parquet
- 2.7. Wczytywanie pliku Avro
- 2.8. Wykonywanie zapytań do bazy danych SQLite
- 2.9. Wykonywanie zapytań do zdalnej bazy danych SQL
- 2.10. Wczytywanie danych z Google Sheets
- 2.11. Wczytywanie danych z kubełka S3
- 2.12. Wczytywanie danych nieposiadających struktury
3. Przygotowywanie danych
- 3.0. Wprowadzenie
- 3.1. Tworzenie ramki danych
- 3.2. Opisywanie danych
- 3.3. Poruszanie się po ramce danych
- 3.4. Pobieranie wierszy na podstawie pewnych warunków
- 3.5. Sortowanie wartości
- 3.6. Zastępowanie wartości
- 3.7. Zmiana nazwy kolumny
- 3.8. Znajdowanie wartości minimalnej, maksymalnej, sumy, średniej i liczby elementów w kolumnie
- 3.9. Znajdowanie unikatowych wartości
- 3.10. Obsługa brakujących wartości
- 3.11. Usuwanie kolumn
- 3.12. Usuwanie wiersza
- 3.13. Usuwanie powielonych wierszy
- 3.14. Grupowanie wierszy według wartości
- 3.15. Grupowanie wierszy według czasu
- 3.16. Agregowanie operacji i danych statystycznych
- 3.17. Iterowanie przez kolumnę
- 3.18. Wywoływanie funkcji dla wszystkich elementów kolumny
- 3.19. Wywoływanie funkcji dla grupy
- 3.20. Konkatenacja obiektów typu DataFrame
- 3.21. Złączanie obiektów typu DataFrame
4. Obsługa danych liczbowych
- 4.0. Wprowadzenie
- 4.1. Przeskalowywanie cechy
- 4.2. Standaryzowanie cechy
- 4.3. Normalizowanie obserwacji
- 4.4. Generowanie cech wielomianowych i interakcji
- 4.5. Transformacja cech
- 4.6. Wykrywanie elementów odstających
- 4.7. Obsługa elementów odstających
- 4.8. Dyskretyzacja cech
- 4.9. Grupowanie obserwacji przy użyciu klastra
- 4.10. Usuwanie obserwacji, w których brakuje wartości
- 4.11. Uzupełnianie brakujących wartości
5. Obsługa danych kategoryzujących
- 5.0. Wprowadzenie
- 5.1. Kodowanie nominalnych cech kategoryzujących
- 5.2. Kodowanie porządkowych cech kategoryzujących
- 5.3. Kodowanie słowników cech
- 5.4. Wstawianie brakujących wartości klas
- 5.5. Obsługa niezrównoważonych klas
6. Obsługa tekstu
- 6.0. Wprowadzenie
- 6.1. Oczyszczanie tekstu
- 6.2. Przetwarzanie i oczyszczanie danych HTML
- 6.3. Usuwanie znaku przestankowego
- 6.4. Tokenizacja tekstu
- 6.5. Usuwanie słów o małym znaczeniu
- 6.6. Stemming słów
- 6.7. Oznaczanie części mowy
- 6.8. Rozpoznawanie nazwanych jednostek
- 6.9. Kodowanie tekstu za pomocą modelu worka słów
- 6.10. Określanie wagi słów
- 6.11. Używanie wektorów tekstu do obliczania podobieństwa tekstu w zapytaniu wyszukiwania
- 6.12. Używanie klasyfikatora analizy sentymentu
7. Obsługa daty i godziny
- 7.0. Wprowadzenie
- 7.1. Konwertowanie ciągu tekstowego na datę
- 7.2. Obsługa stref czasowych
- 7.3. Pobieranie daty i godziny
- 7.4. Podział danych daty na wiele cech
- 7.5. Obliczanie różnicy między datami
- 7.6. Kodowanie dni tygodnia
- 7.7. Tworzenie cechy opóźnionej w czasie
- 7.8. Użycie okien upływającego czasu
- 7.9. Obsługa brakujących danych w serii danych zawierających wartości daty i godziny
8. Obsługa obrazów
- 8.0. Wprowadzenie
- 8.1. Wczytywanie obrazu
- 8.2. Zapisywanie obrazu
- 8.3. Zmiana wielkości obrazu
- 8.4. Kadrowanie obrazu
- 8.5. Rozmywanie obrazu
- 8.6. Wyostrzanie obrazu
- 8.7. Zwiększanie kontrastu
- 8.8. Izolowanie kolorów
- 8.9. Progowanie obrazu
- 8.10. Usuwanie tła obrazu
- 8.11. Wykrywanie krawędzi
- 8.12. Wykrywanie narożników w obrazie
- 8.13. Tworzenie cech w uczeniu maszynowym
- 8.14. Użycie histogramu koloru jako cechy
- 8.15. Użycie wytrenowanych embeddingów jako cech
- 8.16. Wykrywanie obiektów za pomocą OpenCV
- 8.17. Klasyfikowanie obrazów za pomocą PyTorch
9. Redukcja wymiarowości za pomocą wyodrębniania cech
- 9.0. Wprowadzenie
- 9.1. Redukowanie cech za pomocą głównych składowych
- 9.2. Redukowanie cech, gdy dane są liniowo nierozłączne
- 9.3. Redukowanie cech przez maksymalizację rozłączności klas
- 9.4. Redukowanie cech za pomocą rozkładu macierzy
- 9.5. Redukowanie cech w rzadkich danych
10. Redukcja wymiarowości za pomocą wyboru cech
- 10.0. Wprowadzenie
- 10.1. Progowanie wariancji cechy liczbowej
- 10.2. Progowanie wariancji cechy binarnej
- 10.3. Obsługa wysoce skorelowanych cech
- 10.4. Usuwanie nieistotnych dla klasyfikacji cech
- 10.5. Rekurencyjne eliminowanie cech
11. Ocena modelu
- 11.0. Wprowadzenie
- 11.1. Modele sprawdzianu krzyżowego
- 11.2. Tworzenie modelu regresji bazowej
- 11.3. Tworzenie modelu klasyfikacji bazowej
- 11.4. Ocena prognoz klasyfikatora binarnego
- 11.5. Ocena progowania klasyfikatora binarnego
- 11.6. Ocena prognoz klasyfikatora wieloklasowego
- 11.7. Wizualizacja wydajności klasyfikatora
- 11.8. Ocena modelu regresji
- 11.9. Ocena modelu klasteryzacji
- 11.10. Definiowanie niestandardowych współczynników oceny modelu
- 11.11. Wizualizacja efektu wywieranego przez wielkość zbioru uczącego
- 11.12. Tworzenie raportu tekstowego dotyczącego współczynnika oceny
- 11.13. Wizualizacja efektu wywieranego przez zmianę wartości hiperparametrów
12. Wybór modelu
- 12.0. Wprowadzenie
- 12.1. Wybór najlepszych modeli przy użyciu wyczerpującego wyszukiwania
- 12.2. Wybór najlepszych modeli za pomocą przeszukiwania losowego
- 12.3. Wybór najlepszych modeli z wielu algorytmów uczenia maszynowego
- 12.4. Wybór najlepszych modeli na etapie przygotowywania danych
- 12.5. Przyspieszanie wyboru modelu za pomocą równoległości
- 12.6. Przyspieszanie wyboru modelu przy użyciu metod charakterystycznych dla algorytmu
- 12.7. Ocena wydajności po wyborze modelu
13. Regresja liniowa
- 13.0. Wprowadzenie
- 13.1. Wyznaczanie linii
- 13.2. Obsługa wpływu interakcji
- 13.3. Wyznaczanie zależności nieliniowej
- 13.4. Redukowanie wariancji za pomocą regularyzacji
- 13.5. Redukowanie cech za pomocą regresji metodą LASSO
14. Drzewa i lasy
- 14.0. Wprowadzenie
- 14.1. Trenowanie klasyfikatora drzewa decyzyjnego
- 14.2. Trenowanie regresora drzewa decyzyjnego
- 14.3. Wizualizacja modelu drzewa decyzyjnego
- 14.4. Trenowanie klasyfikatora losowego lasu
- 14.5. Trenowanie regresora losowego lasu
- 14.6. Ocena losowego lasu za pomocą estymatora błędu out-of-bag
- 14.7. Identyfikacja ważnych cech w losowych lasach
- 14.8. Wybór ważnych cech w losowym lesie
- 14.9. Obsługa niezrównoważonych klas
- 14.10. Kontrolowanie wielkości drzewa
- 14.11. Poprawa wydajności za pomocą wzmocnienia
- 14.12. Wytrenowanie modelu XGBoost
- 14.13. Poprawianie wydajności w czasie rzeczywistym za pomocą LightGBM
15. Algorytm k najbliższych sąsiadów
- 15.0. Wprowadzenie
- 15.1. Wyszukiwanie najbliższych sąsiadów obserwacji
- 15.2. Tworzenie klasyfikatora k najbliższych sąsiadów
- 15.3. Ustalanie najlepszej wielkości sąsiedztwa
- 15.4. Tworzenie klasyfikatora najbliższych sąsiadów opartego na promieniu
- 15.5. Wyszukiwanie przybliżonych najbliższych sąsiadów
- 15.6. Ocena przybliżonych najbliższych sąsiadów
16. Regresja logistyczna
- 16.0. Wprowadzenie
- 16.1. Trenowanie klasyfikatora binarnego
- 16.2. Trenowanie klasyfikatora wieloklasowego
- 16.3. Redukcja wariancji poprzez regularyzację
- 16.4. Trenowanie klasyfikatora na bardzo dużych danych
- 16.5. Obsługa niezrównoważonych klas
17. Maszyna wektora nośnego
- 17.0. Wprowadzenie
- 17.1. Trenowanie klasyfikatora liniowego
- 17.2. Obsługa liniowo nierozdzielnych klas przy użyciu funkcji jądra
- 17.3. Określanie prognozowanego prawdopodobieństwa
- 17.4. Identyfikacja wektorów nośnych
- 17.5. Obsługa niezrównoważonych klas
18. Naiwny klasyfikator bayesowski
- 18.0. Wprowadzenie
- 18.1. Trenowanie klasyfikatora dla cech ciągłych
- 18.2. Trenowanie klasyfikatora dla cech dyskretnych lub liczebnych
- 18.3. Trenowanie naiwnego klasyfikatora bayesowskiego dla cech binarnych
- 18.4. Kalibrowanie prognozowanego prawdopodobieństwa
19. Klasteryzacja
- 19.0. Wprowadzenie
- 19.1. Klasteryzacja za pomocą k średnich
- 19.2. Przyspieszanie klasteryzacji za pomocą k średnich
- 19.3. Klasteryzacja za pomocą algorytmu meanshift
- 19.4. Klasteryzacja za pomocą algorytmu DBSCAN
- 19.5. Klasteryzacja za pomocą łączenia hierarchicznego
20. Tensory w PyTorch
- 20.0. Wprowadzenie
- 20.1. Utworzenie tensora
- 20.2. Utworzenie tensora z poziomu NumPy
- 20.3. Utworzenie tensora rzadkiego
- 20.4. Wybór elementów tensora
- 20.5. Opisanie tensora
- 20.6. Przeprowadzanie operacji na elementach tensora
- 20.7. Wyszukiwanie wartości minimalnej i maksymalnej
- 20.8. Zmiana kształtu tensora
- 20.9. Transponowanie tensora
- 20.10. Spłaszczanie tensora
- 20.11. Obliczanie iloczynu skalarnego
- 20.12. Mnożenie tensorów
21. Sieci neuronowe
- 21.0. Wprowadzenie
- 21.1. Używanie silnika Autograd frameworka PyTorch
- 21.2. Przygotowywanie danych dla sieci neuronowej
- 21.3. Projektowanie sieci neuronowej
- 21.4. Trenowanie klasyfikatora binarnego
- 21.5. Trenowanie klasyfikatora wieloklasowego
- 21.6. Trenowanie regresora
- 21.7. Generowanie prognoz
- 21.8. Wizualizacja historii trenowania
- 21.9. Redukcja nadmiernego dopasowania za pomocą regularyzacji wagi
- 21.10. Redukcja nadmiernego dopasowania za pomocą techniki wcześniejszego zakończenia procesu uczenia
- 21.11. Redukcja nadmiernego dopasowania za pomocą techniki porzucenia
- 21.12. Zapisywanie postępu modelu uczącego
- 21.13. Dostrajanie sieci neuronowej
- 21.14. Wizualizacja sieci neuronowej
22. Sieci neuronowe dla danych pozbawionych struktury
- 22.0. Wprowadzenie
- 22.1. Wytrenowanie sieci neuronowej na potrzeby klasyfikacji obrazów
- 22.2. Wytrenowanie sieci neuronowej na potrzeby klasyfikacji tekstu
- 22.3. Dostrajanie wytrenowanego modelu na potrzeby klasyfikacji obrazu
- 22.4. Dostrajanie wytrenowanego modelu na potrzeby klasyfikacji tekstu
23. Zapisywanie, wczytywanie i udostępnianie wytrenowanych modeli
- 23.0. Wprowadzenie
- 23.1. Zapisywanie i wczytywanie modelu biblioteki scikit-learn
- 23.2. Zapisywanie i wczytywanie modelu biblioteki TensorFlow
- 23.3. Zapisywanie i wczytywanie modelu PyTorch
- 23.4. Udostępnianie modeli scikit-learn
- 23.5. Udostępnianie modeli TensorFlow
- 23.6. Udostępnianie modeli PyTorch za pomocą Seldon
Przydatne linki |