Python Machine learning i deep learning Biblioteki scikit learn i TensorFlow 2 Wydanie III.pdf

(3073 KB) Pobierz
Tytuł oryginału: Python Machine Learning: Machine Learning and Deep Learning with Python,
scikit-learn, and TensorFlow 2, 3rd Edition
Tłumaczenie: Krzysztof Sawka
ISBN: 978-83-283-7001-2
Copyright © Packt Publishing 2019. First published in the English language
under the title ‘Python Machine Learning - Third Edition – (9781789955750)’
Polish edition copyright © 2021 by Helion SA
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Helion SA dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne
i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym
ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Helion SA nie ponoszą również
żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Helion SA
ul. Kościuszki 1c, 44-100 Gliwice
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/pythu3
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
Informacje o autorach
Informacje o recenzentach
Wstęp
Rozdział 1. Umożliwianie komputerom uczenia się z danych
Tworzenie inteligentnych maszyn służących do przekształcania danych w wiedzę
Trzy różne rodzaje uczenia maszynowego
Przewidywanie przyszłości za pomocą uczenia nadzorowanego
Rozwiązywanie problemów interaktywnych
za pomocą uczenia przez wzmacnianie
Odkrywanie ukrytych struktur za pomocą uczenia nienadzorowanego
Wprowadzenie do podstawowej terminologii i notacji
Notacja i konwencje używane w niniejszej książce
Terminologia uczenia maszynowego
Strategia tworzenia systemów uczenia maszynowego
Wstępne przetwarzanie — nadawanie danym formy
Trenowanie i dobór modelu predykcyjnego
Ewaluacja modeli i przewidywanie wystąpienia nieznanych danych
Wykorzystywanie
środowiska
Python do uczenia maszynowego
Instalacja
środowiska
Python i pakietów z repozytorium Python Package Index
Korzystanie z platformy Anaconda i menedżera pakietów
Pakiety przeznaczone do obliczeń naukowych,
analizy danych i uczenia maszynowego
Podsumowanie
13
15
17
27
28
28
29
32
33
35
35
37
38
38
39
40
40
41
41
42
42
Kup książkę
Poleć książkę
Python. Machine learning i deep learning
Rozdział 2. Trenowanie prostych algorytmów uczenia maszynowego
w celach klasyfikacji
Sztuczne neurony — rys historyczny początków uczenia maszynowego
Definicja formalna sztucznego neuronu
Reguła uczenia perceptronu
Implementacja algorytmu uczenia perceptronu w Pythonie
Obiektowy interfejs API perceptronu
Trenowanie modelu perceptronu na zestawie danych Iris
Adaptacyjne neurony liniowe i zbieżność uczenia
Minimalizacja funkcji kosztu za pomocą metody gradientu prostego
Implementacja algorytmu Adaline w Pythonie
Usprawnianie gradientu prostego poprzez skalowanie cech
Wielkoskalowe uczenie maszynowe
i metoda stochastycznego spadku wzdłuż gradientu
Podsumowanie
45
46
47
49
51
51
54
60
61
63
67
69
73
Rozdział 3. Stosowanie klasyfikatorów uczenia maszynowego
za pomocą biblioteki scikit-learn
Wybór algorytmu klasyfikującego
Pierwsze kroki z biblioteką scikit-learn — uczenie perceptronu
Modelowanie prawdopodobieństwa przynależności do klasy
za pomocą regresji logistycznej
Regresja logistyczna i prawdopodobieństwo warunkowe
Wyznaczanie wag logistycznej funkcji kosztu
Przekształcanie implementacji Adaline do postaci algorytmu regresji logistycznej
Uczenie modelu regresji logistycznej za pomocą biblioteki scikit-learn
Zapobieganie przetrenowaniu za pomocą regularyzacji
Wyznaczanie maksymalnego marginesu za pomocą maszyn wektorów nośnych
Teoretyczne podłoże maksymalnego marginesu
Rozwiązywanie przypadków nieliniowo rozdzielnych za pomocą zmiennych
uzupełniających
Alternatywne implementacje w interfejsie scikit-learn
Rozwiązywanie nieliniowych problemów za pomocą jądra SVM
Metody jądrowe dla danych nierozdzielnych liniowo
Stosowanie sztuczki z funkcją jądra do znajdowania przestrzeni rozdzielających
w przestrzeni wielowymiarowej
Uczenie drzew decyzyjnych
Maksymalizowanie przyrostu informacji — osiąganie jak największych korzyści
Budowanie drzewa decyzyjnego
Łączenie
wielu drzew decyzyjnych za pomocą modelu losowego lasu
Algorytm k-najbliższych sąsiadów — model leniwego uczenia
Podsumowanie
75
76
76
82
82
86
88
92
94
97
98
99
101
102
102
104
107
108
112
115
119
122
Rozdział 4. Tworzenie dobrych zestawów danych uczących
— wstępne przetwarzanie danych
Kwestia brakujących danych
Wykrywanie brakujących wartości w danych tabelarycznych
Usuwanie przykładów uczących lub cech niezawierających wartości
4
125
126
126
127
Kup książkę
Poleć książkę
Spis treści
Wstawianie brakujących danych
Estymatory interfejsu scikit-learn
Przetwarzanie danych kategorialnych
Kodowanie danych kategorialnych za pomocą biblioteki pandas
Mapowanie cech porządkowych
Kodowanie etykiet klas
Kodowanie „gorącojedynkowe” cech nominalnych
(z użyciem wektorów własnych)
Rozdzielanie zestawu danych na oddzielne podzbiory uczący i testowy
Skalowanie cech
Dobór odpowiednich cech
Regularyzacje L1 i L2 jako kary ograniczające złożoność modelu
Interpretacja geometryczna regularyzacji L2
Rozwiązania rzadkie za pomocą regularyzacji L1
Algorytmy sekwencyjnego wyboru cech
Ocenianie istotności cech za pomocą algorytmu losowego lasu
Podsumowanie
128
129
130
131
131
132
133
136
138
140
141
141
143
146
151
154
Rozdział 5. Kompresja danych poprzez redukcję wymiarowości
Nienadzorowana redukcja wymiarowości za pomocą analizy głównych składowych
Podstawowe etapy analizy głównych składowych
Wydobywanie głównych składowych krok po kroku
Wyjaśniona wariancja całkowita
Transformacja cech
Analiza głównych składowych w interfejsie scikit-learn
Nadzorowana kompresja danych za pomocą liniowej analizy dyskryminacyjnej
Porównanie analizy głównych składowych z liniową analizą dyskryminacyjną
Wewnętrzne mechanizmy działania liniowej analizy dyskryminacyjnej
Obliczanie macierzy rozproszenia
Dobór dyskryminant liniowych dla nowej podprzestrzeni cech
Rzutowanie przykładów na nową przestrzeń cech
Implementacja analizy LDA w bibliotece scikit-learn
Jądrowa analiza głównych składowych
jako metoda odwzorowywania nierozdzielnych liniowo klas
Funkcje jądra oraz sztuczka z funkcją jądra
Implementacja jądrowej analizy głównych składowych w Pythonie
Rzutowanie nowych punktów danych
Algorytm jądrowej analizy głównych składowych w bibliotece scikit-learn
Podsumowanie
155
156
156
158
160
161
164
167
167
169
169
171
173
174
176
177
181
188
191
192
Rozdział 6. Najlepsze metody oceny modelu i strojenie parametryczne
Usprawnianie cyklu pracy za pomocą kolejkowania
Wczytanie zestawu danych Breast Cancer Wisconsin
Łączenie
funkcji transformujących i estymatorów w kolejce czynności
Stosowanie k-krotnego sprawdzianu krzyżowego w ocenie skuteczności modelu
Metoda wydzielania
K-krotny sprawdzian krzyżowy
195
195
196
197
198
199
200
5
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin