Uczenie maszynowe w Pythonie. Receptury. Od przygotowania danych do deep learningu. Wydanie II - ebook
Uczenie maszynowe w Pythonie. Receptury. Od przygotowania danych do deep learningu. Wydanie II - ebook
W ciągu ostatnich lat techniki uczenia maszynowego rozwijały się z niezwykłą dynamiką, rewolucjonizując pracę w różnych branżach. Obecnie do uczenia maszynowego najczęściej używa się Pythona i jego bibliotek. Znajomość najnowszych wydań tych narzędzi umożliwia efektywne tworzenie wyrafinowanych systemów uczących się.
Oto zaktualizowane wydanie popularnego przewodnika, dzięki któremu skorzystasz z ponad dwustu sprawdzonych receptur bazujących na najnowszych wydaniach bibliotek Pythona. Wystarczy, że skopiujesz i dostosujesz kod do swoich potrzeb. Możesz też go uruchamiać i testować za pomocą przykładowego zbioru danych. W książce znajdziesz receptury przydatne do rozwiązywania szerokiego spektrum problemów, od przygotowania i wczytania danych aż po trenowanie modeli i korzystanie z sieci neuronowych. W ten sposób wyjdziesz poza rozważania teoretyczne czy też matematyczne koncepcje i zaczniesz tworzyć aplikacje korzystające z uczenia maszynowego.
Poznaj receptury dotyczące:
- pracy z danymi w wielu formatach, z bazami i magazynami danych
- redukcji wymiarowości, jak również oceny i wyboru modelu
- regresji liniowej i logistycznej, drzew i lasów, a także k-najbliższych sąsiadów
- maszyn wektorów nośnych (SVM), naiwnej klasyfikacji bayesowskiej i klasteryzacji
- udostępniania wytrenowanych modeli za pomocą wielu frameworków
Długo szukałam książki, która spójnie przedstawiałaby algorytm ANN, hiperpłaszczyzny i wybór cech za pomocą losowego lasu. I wtedy pojawiła się ta pozycja!
Vicki Boykis, inżynier uczenia maszynowego w Duo
Spis treści
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
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-289-0812-3 |
Rozmiar pliku: | 5,1 MB |