Python_Uczenie_maszynowe_pythum.pdf

(3283 KB) Pobierz
Tytuł oryginału: Python Machine Learning
Tłumaczenie: Krzysztof Sawka
ISBN: 978-83-283-3613-1
Copyright © Packt Publishing 2016
First published in the English language under the title ‘Python Machine Learning
- (9781783555130)’.
Polish edition copyright © 2017 by Helion SA
All rights reserved.
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 Wydawnictwo HELION 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 Wydawnictwo HELION
nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
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/pythum
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
Przedmowa
Informacje o autorze
Informacje o recenzentach
Wstęp
11
13
15
17
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
Prognozowanie 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
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 pakietów w Pythonie
Podsumowanie
25
26
26
27
29
30
31
33
34
35
36
36
36
38
Rozdział 2. Trenowanie algorytmów uczenia maszynowego w celach klasyfikacji
Sztuczne neurony — rys historyczny początków uczenia maszynowego
Implementacja algorytmu uczenia perceptronu w Pythonie
Trenowanie modelu perceptronu na zestawie danych Iris
Adaptacyjne neurony liniowe i zbieżność uczenia
Minimalizacja funkcji kosztu za pomocą metody gradientu prostego
Implementacja adaptacyjnego neuronu liniowego w Pythonie
Wielkoskalowe uczenie maszynowe i metoda stochastycznego spadku wzdłuż gradientu
Podsumowanie
41
42
47
50
54
55
57
62
67
Kup książkę
Poleć książkę
Spis treści
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 za pomocą biblioteki scikit-learn
Modelowanie prawdopodobieństwa przynależności do klasy za pomocą regresji
logistycznej
Teoretyczne podłoże regresji logistycznej i prawdopodobieństwa warunkowego
Wyznaczanie wag logistycznej funkcji kosztu
Uczenie modelu regresji logistycznej za pomocą biblioteki scikit-learn
Zapobieganie nadmiernemu dopasowaniu 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
Stosowanie sztuczki z funkcją jądra do znajdowania przestrzeni rozdzielających
w przestrzeni o większej liczbie wymiarów
Uczenie drzew decyzyjnych
Maksymalizowanie przyrostu informacji — osiąganie jak największych korzyści
Budowanie drzewa decyzyjnego
Łączenie
słabych klasyfikatorów w silne klasyfikatory
za pomocą modelu losowego lasu
Algorytm k-najbliższych sąsiadów — model leniwego uczenia
Podsumowanie
69
70
70
71
76
76
79
81
84
87
87
88
90
91
93
97
98
101
104
106
109
Rozdział 4. Tworzenie dobrych zbiorów uczących — wstępne przetwarzanie danych 111
Kwestia brakujących danych
Usuwanie próbek lub cech niezawierających wartości
Wstawianie brakujących danych
Estymatory interfejsu scikit-learn
Przetwarzanie danych kategoryzujących
Mapowanie cech porządkowych
Kodowanie etykiet klas
Kodowanie „gorącojedynkowe” cech nominalnych (z użyciem wektorów własnych)
Rozdzielanie zestawu danych na podzbiory uczące i testowe
Skalowanie cech
Dobór odpowiednich cech
Regularyzacja L1
Algorytmy sekwencyjnego wyboru cech
Ocenianie istotności cech za pomocą algorytmu losowego lasu
Podsumowanie
111
113
114
114
116
116
117
118
120
121
123
124
129
134
137
4
Kup książkę
Poleć książkę
Spis treści
Rozdział 5. Kompresja danych poprzez redukcję wymiarowości
Nienadzorowana redukcja wymiarowości za pomocą analizy głównych składowych
Wyjaśniona wariancja całkowita
Transformacja cech
Analiza głównych składowych w interfejsie scikit-learn
Nadzorowana kompresja danych za pomocą liniowej analizy dyskryminacyjnej
Obliczanie macierzy rozproszenia
Dobór dyskryminant liniowych dla nowej podprzestrzeni cech
Rzutowanie próbek 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
139
140
141
145
147
150
151
154
156
156
158
160
164
170
174
175
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
Sprawdzanie algorytmów za pomocą krzywych uczenia i krzywych walidacji
Diagnozowanie problemów z obciążeniem i wariancją za pomocą krzywych uczenia
Rozwiązywanie problemów nadmiernego i niewystarczającego dopasowania
za pomocą krzywych walidacji
Dostrajanie modeli uczenia maszynowego za pomocą metody przeszukiwania siatki
Strojenie hiperparametrów przy użyciu metody przeszukiwania siatki
Dobór algorytmu poprzez zagnieżdżony sprawdzian krzyżowy
Przegląd metryk oceny skuteczności
Odczytywanie macierzy pomyłek
Optymalizacja precyzji i pełności modelu klasyfikującego
Wykres krzywej ROC
Metryki zliczające dla klasyfikacji wieloklasowej
Podsumowanie
177
177
178
179
180
181
182
186
186
189
191
192
193
195
195
197
198
201
202
Rozdział 7.
Łączenie
różnych modeli w celu uczenia zespołowego
Uczenie zespołów
Implementacja prostego klasyfikatora wykorzystującego głosowanie większościowe
Łączenie
różnych algorytmów w celu klasyfikacji za pomocą głosowania
większościowego
Ewaluacja i strojenie klasyfikatora zespołowego
203
203
207
213
216
5
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin