Python Data Science. Niezbędne narzędzia do pracy z danymi. Wydanie II Strzelce Opolskie

Python udostępnia pierwszorzędne narzędzia i biblioteki przeznaczone specjalnie do pracy z danymi. Zdobyły one uznanie wielu naukowców i ekspertów, ceniących ten język za wysoką jakość rozwiązań służących do wydobywania wiedzy z danych. Aby uzyskać najlepsze możliwe efekty, trzeba dobrze poznać …

od 69,50 Najbliżej: 35 km

Liczba ofert: 1

Oferta sklepu

Opis

Python udostępnia pierwszorzędne narzędzia i biblioteki przeznaczone specjalnie do pracy z danymi. Zdobyły one uznanie wielu naukowców i ekspertów, ceniących ten język za wysoką jakość rozwiązań służących do wydobywania wiedzy z danych. Aby uzyskać najlepsze możliwe efekty, trzeba dobrze poznać zarówno poszczególne biblioteki Pythona, jak i zasady pracy z nimi. Ta książka stanowi wszechstronne omówienie wszystkich bibliotek Pythona, potrzebnych naukowcom i specjalistom pracującym z danymi. Znalazł się tu dokładny opis IPythona, NumPy, Pandas, Matplotlib, Scikit-Learn i innych narzędzi. Podręcznik uwzględnia przede wszystkim ich aspekty praktyczne, dzięki czemu świetnie się sprawdzi w rozwiązywaniu codziennych problemów z manipulowaniem, przekształcaniem, oczyszczaniem i wizualizacją różnych typów danych, a także jako pomoc podczas tworzenia modeli statystycznych i modeli uczenia maszynowego. Docenią go wszyscy, którzy zajmują się obliczeniami naukowymi w Pythonie. To wydanie zawiera jasne przykłady, które pomogą Ci skonfigurować i wykorzystać narzędzia do nauki o danych i uczenia maszynowego. Anne Bonner, założycielka i dyrektor generalna Content Simplicity Nauczysz się: pracować w naukowym środowisku obliczeniowym IPythona korzystać ze specjalistycznych bibliotek przeznaczonych do pracy z danymi stosować typy ndarray i DataFrame do przechowywania i przetwarzania danych tworzyć różnego rodzaju wizualizacje danych za pomocą Matplotlib implementować najważniejsze algorytmy uczenia maszynowego z pakietu Scikit-Learn Wydobywaj z danych mądre odpowiedzi na trudne pytania! Spis treści: Wprowadzenie Część I. Jupyter - coś więcej niż zwykły Python 1. Wprowadzenie do IPythona oraz Jupytera Uruchamianie powłoki IPythona Uruchamianie Jupyter Notebook IPython - pomoc i dokumentacja Dostęp do dokumentacji za pomocą ? Dostęp do kodu źródłowego za pomocą ?? Przeglądanie zawartości modułów za pomocą autouzupełniania z tabulatorem Skróty klawiaturowe w powłoce IPython Skróty do nawigacji Skróty do wprowadzania tekstu Skróty związane z historią poleceń Pozostałe skróty 2. Funkcje interaktywne Magiczne polecenia IPythona Uruchamianie zewnętrznego kodu za pomocą %run Pomiar czasu wykonania za pomocą %timeit Pomoc dotycząca magicznych poleceń ?, %magic i %lsmagic Historia wejścia i wyjścia Obiekty In i Out IPythona Symbol podkreślenia i poprzednie wyjścia Wyłączanie wyjścia Inne magiczne polecenia Polecenia IPythona i powłoki Krótkie wprowadzenie do powłoki Polecenia powłoki w IPythonie Przekazywanie wartości do i z powłoki Magiczne polecenia związane z powłoką 3. Debugowanie i profilowanie Błędy i debugowanie Kontrolowanie wyjątków za pomocą %xmode Debugowanie - gdy lektura śladu nie wystarcza Profilowanie kodu i pomiary czasu jego wykonania Pomiar czasu wykonania fragmentu kodu za pomocą %timeit i %time Profilowanie całych skryptów za pomocą %prun Profilowanie linia po linii za pomocą %lprun Profilowanie pamięci za pomocą %memit i %mprun Więcej materiałów na temat IPythona Materiały dostępne w sieci Książki Część II. Wprowadzenie do NumPy 4. Zrozumieć typy danych w Pythonie Typ całkowitoliczbowy w Pythonie to coś więcej niż zwykły int Lista w Pythonie to coś więcej niż zwykła lista Tablice o stałym typie w Pythonie Tworzenie tablic z list Tworzenie tablic od podstaw Standardowe typy danych NumPy 5. Podstawy pracy z tablicami NumPy Atrybuty tablicy NumPy Indeksowanie tablicy - dostęp do pojedynczych elementów Slicing, czyli sposób na dostęp do podtablic Jednowymiarowe podtablice Wielowymiarowe podtablice Podtablice jako widoki bez kopiowania Kopiowanie tablic Zmiana kształtu tablic Konkatenacja i dzielenie tablic Konkatenacja tablic Dzielenie tablic 6. Obliczenia z użyciem tablic NumPy - funkcje uniwersalne Powolność pętli Wprowadzenie do funkcji uniwersalnych Przegląd funkcji uniwersalnych dostępnych w NumPy Arytmetyka tablicowa Wartość bezwzględna Funkcje trygonometryczne Potęgi i logarytmy Funkcje uniwersalne do zastosowań specjalnych Zaawansowane możliwości funkcji uniwersalnych Określanie miejsca zapisu danych wyjściowych Agregacje Metoda outer Więcej materiałów na temat funkcji uniwersalnych 7. Agregacje - minimum, maksimum i wszystko pomiędzy nimi Sumowanie wartości w tablicy Minimum i maksimum Agregacja w wielu wymiarach Inne funkcje agregujące Przykład: jaki jest średni wzrost prezydenta USA? 8. Obliczenia na tablicach - broadcasting Co to jest broadcasting? Zasady broadcastingu Pierwszy przykład Drugi przykład Trzeci przykład Broadcasting w praktyce Centrowanie wartości w tablicy Rysowanie wykresów funkcji dwuwymiarowych 9. Porównania, maski i logika boolowska Przykład: sprawdzanie, przez ile dni padało Operatory porównania jako funkcje uniwersalne Praca z tablicami wartości logicznych Zliczanie wpisów Operatory logiczne Tablice wartości logicznych jako maski Słowa kluczowe and i or kontra operatory &/| 10. Fancy indexing Jak działa fancy indexing? Łączenie różnych metod indeksowania Przykład: wybieranie losowych punktów Modyfikowanie wartości za pomocą fancy indexingu Przykład: podział danych na kubełki 11. Sortowanie tablic Szybkie sortowanie w NumPy - np.sort i np.argsort Sortowanie wzdłuż wierszy lub kolumn Sortowanie częściowe - partycjonowanie Przykład: metoda k najbliższych sąsiadów 12. Dane ustrukturyzowane - ustrukturyzowane tablice NumPy Tworzenie ustrukturyzowanych tablic Bardziej zaawansowane typy złożone Tablice rekordów - ustrukturyzowane tablice z niespodzianką W stronę Pandas Część III. Przekształcanie danych za pomocą Pandas 13. Wprowadzenie do obiektów Pandas Obiekt typu Series Obiekty typu Series jako uogólnienie tablic NumPy Obiekt typu Series jako szczególny rodzaj słownika Tworzenie obiektów typu Series Obiekt typu DataFrame Ramka danych jako uogólnienie tablicy NumPy Ramka danych jako szczególny rodzaj słownika Tworzenie obiektów typu DataFrame Obiekt typu Index Indeks jako niemutowalna tablica Indeks jako uporządkowany zbiór 14. Indeksowanie i wybieranie Wybór danych z obiektów typu Series Obiekt typu Series jako słownik Obiekt typu Series jako jednowymiarowa tablica Indeksatory: loc i iloc Wybór danych z obiektów typu DataFrame Obiekt typu DataFrame jako słownik Obiekt typu DataFrame jako dwuwymiarowa tablica Inne konwencje związane z indeksowaniem 15. Operacje na danych w Pandas Funkcje uniwersalne - zachowanie indeksu Funkcje uniwersalne - dopasowanie indeksu Dopasowanie indeksu w obiektach typu Series Dopasowanie indeksu w obiektach typu DataFrame Funkcje uniwersalne - operacje pomiędzy ramkami danych a obiektami typu Series 16. Obsługa brakujących danych Kompromisy w konwencjach dotyczących brakujących danych Brakujące dane w Pandas None jako rodzaj wartownika NaN - brakujące dane liczbowe NaN i None w Pandas Nullowalne typy danych w Pandas Praca z wartościami typu null Wykrywanie wartości typu null Usuwanie wartości typu null Uzupełnianie braków 17. Indeksowanie hierarchiczne Wielokrotnie indeksowane obiekty typu Series Zły sposób Lepszy sposób - MultiIndex z Pandas MultiIndex jako dodatkowy wymiar MultiIndex - metody tworzenia Tworzenie indeksu hierarchicznego z użyciem jawnego konstruktora Nazwy poziomów indeksu hierarchicznego MultiIndex dla kolumn MultiIndex - indeksowanie i slicing Obiekty typu Series z wielokrotnymi indeksami Obiekty typu DataFrame z wielokrotnymi indeksami MultiIndex - zmiana kolejności Posortowane i nieposortowane indeksy Metody stack i unstack Ustawianie i resetowanie indeksu 18. Łączenie zbiorów danych - concat i append Przypomnienie: konkatenacja tablic NumPy Prosta konkatenacja za pomocą pd.concat Zduplikowane indeksy Konkatenacja za pomocą złączeń Metoda append 19. Łączenie zbiorów danych - merge i join Algebra relacji Rodzaje złączeń Złączenia jeden-do-jednego Złączenia wiele-do-jednego Złączenia wiele-do-wielu Określanie klucza, na podstawie którego ma być wykonane złączenie Słowo kluczowe on Słowa kluczowe left_on i right_on Słowa kluczowe left_index i right_index Wykorzystanie arytmetyki zbiorów w złączeniach Nakładające się nazwy kolumn - słowo kluczowe suffixes Przykład: dane dotyczące stanów USA 20. Agregacja i grupowanie Dane na temat planet Prosta agregacja w Pandas Grupowanie - podziel, zastosuj funkcję, połącz Podziel, zastosuj funkcję, połącz Obiekt GroupBy Agregacja, filtrowanie, transformacja, wywoływanie funkcji Określanie sposobu podziału Przykład grupowania 21. Tabele przestawne Dane na potrzeby przykładu Ręczne tworzenie tabel przestawnych Składnia tabel przestawnych Wielopoziomowe tabele przestawne Dodatkowe opcje tabel przestawnych Przykład: dane dotyczące liczby urodzeń 22. Zwektoryzowane operacje na łańcuchach znaków Wprowadzenie do pracy z łańcuchami znaków w Pandas Metody pracujące na łańcuchach znaków w Pandas Metody podobne do metod znanych z Pythona Metody wykorzystujące wyrażenia regularne Różne metody Przykład: baza przepisów Prosty system rekomendacji przepisów Jak można rozwinąć ten projekt? 23. Praca z szeregami czasowymi Daty i godziny w Pythonie Daty i godziny w Pythonie - datetime i dateutil Typowane tablice znaczników czasu - datetime64 z NumPy Daty i godziny w Pandas - najlepsze elementy z obu światów Szeregi czasowe w Pandas - indeksowanie według czasu Struktury danych do przechowywania szeregów czasowych w Pandas Regularne sekwencje dat - pd.date_range Częstotliwości i przesunięcia Ponowne próbkowanie, przesuwanie i okna Ponowne próbkowanie i zmiana częstotliwości Przesunięcia w czasie Ruchome okna Przykład: wizualizacja danych o liczbie rowerów w Seattle Wizualizacja danych Zagłębianie się w dane 24. Wysoka wydajność w Pandas - eval i query Dlaczego warto zastosować query i eval - wyrażenia złożone Wydajne operacje z użyciem pandas.eval Operacje na kolumnach z użyciem DataFrame.eval Przypisanie w DataFrame.eval Zmienne lokalne w DataFrame.eval Metoda DataFrame.query Wydajność - kiedy warto korzystać z tych funkcji Materiały dodatkowe Część IV. Wizualizacja z użyciem Matplotlib 25. Wskazówki dotyczące korzystania z Matplotlib Importowanie Matplotlib Ustawianie stylów Czy trzeba używać show()? Jak wyświetlić wygenerowane wykresy? Rysowanie z poziomu skryptu Rysowanie z poziomu IPythona Rysowanie z poziomu notatnika Jupytera Zapisywanie rysunków do pliku Dwa interfejsy w cenie jednego 26. Proste wykresy liniowe Dostosowywanie wykresu - kolory i style linii Dostosowywanie wykresu - granice osi Etykietowanie wykresów Pułapki Matplotlib 27. Proste wykresy punktowe Tworzenie wykresów punktowych za pomocą plt.plot Tworzenie wykresów punktowych za pomocą plt.scatter plot a scatter - uwaga na temat wydajności Wizualizacja niepewności Słupki błędów Błędy ciągłe 28. Wykresy gęstości i wykresy konturowe Wizualizacja trójwymiarowych funkcji Histogramy, kubełki i gęstości Dwuwymiarowe histogramy i podział danych na kubełki plt.hist2d - dwuwymiarowy histogram plt.hexbin - podział na sześciokątne kubełki Jądrowy estymator gęstości 29. Dostosowywanie legend Wybór elementów do legendy Legenda opisująca rozmiary punktów Wiele legend 30. Dostosowywanie pasków kolorów Dostosowywanie pasków kolorów Wybór mapy kolorów Granice kolorów i wartości spoza zakresu Dyskretne paski kolorów Przykład: odręcznie zapisane cyfry 31. Podwykresy plt.axes - manualne tworzenie podwykresów plt.subplot - proste siatki podwykresów plt.subplots - cała siatka za jednym zamachem plt.GridSpec - bardziej skomplikowane układy 32. Tekst i adnotacje Przykład: wpływ świąt na liczbę urodzeń w Stanach Zjednoczonych Transformacje i położenie tekstu Strzałki i adnotacje 33. Dostosowywanie znaczników osi Główne i dodatkowe podziałki Ukrywanie podziałek lub ich etykiet Zmniejszenie lub zwiększenie liczby podziałek Inne możliwości formatowania podziałek Lokalizatory i formatery - podsumowanie 34. Dostosowywanie wykresów - konfiguracja i style Ręczne dostosowywanie wykresów Zmiana ustawień domyślnych - rcParams Arkusze stylów Styl domyślny Styl FiveThiryEight Styl ggplot Styl z książki Bayesian Methods for Hackers Ciemne tło Rysunki w skali szarości Styl Seaborn 35. Wykresy w przestrzeni trójwymiarowej Trójwymiarowe punkty i krzywe Trójwymiarowe wykresy konturowe Wykresy typu wireframe i wykresy powierzchniowe Triangulacja powierzchni Przykład: wizualizacja wstęgi Möbiusa 36. Wizualizacje z użyciem pakietu Seaborn Przegląd możliwości pakietu Seaborn Histogramy, jądrowy estymator gęstości i wykresy gęstości Wykresy typu pairplot Grupy histogramów Wykresy typu catplot Wspólne rozkłady prawdopodobieństwa Wykresy słupkowe Przykład: eksploracja danych na temat czasu ukończenia maratonu Materiały dodatkowe Inne biblioteki do wizualizacji danych w Pythonie Część V. Uczenie maszynowe 37. Czym jest uczenie maszynowe? Rodzaje uczenia maszynowego Przykłady problemów uczenia maszynowego Klasyfikacja, czyli przewidywanie dyskretnych etykiet Regresja, czyli przewidywanie ciągłych etykiet Klasteryzacja, czyli ustalanie etykiet w oparciu o nieetykietowane dane Redukcja wymiarowości - wnioskowanie o strukturze danych pozbawionych etykiet Podsumowanie 38. Wprowadzenie do Scikit-Learn Reprezentacja danych w Scikit-Learn Macierz cech Tablica wartości docelowych API Estimator Podstawy korzystania z API Przykład uczenia nadzorowanego: prosta regresja liniowa Przykład uczenia nadzorowanego: klasyfikacja irysów Przykład uczenia nienadzorowanego: redukcja wymiarowości w zbiorze Iris Przykład uczenia nienadzorowanego: klasteryzacja irysów Zastosowanie: eksploracja zbioru odręcznie zapisanych cyfr Wczytywanie i wizualizacja danych Przykład uczenia nienadzorowanego: redukcja wymiarowości Klasyfikacja cyfr Podsumowanie 39. Hiperparametry i walidacja modelu Walidacja modelu Niewłaściwy sposób walidacji modelu Właściwy sposób walidacji modelu, czyli podział danych na zbiór uczący i testowy Walidacja modelu za pomocą walidacji krzyżowej Wybór najlepszego modelu Kompromis pomiędzy obciążeniem a wariancją Krzywe walidacji w Scikit-Learn Krzywe uczenia Walidacja w praktyce - wyszukiwanie w siatce Podsumowanie 40. Inżynieria cech Cechy o charakterze kategorialnym Cechy tekstowe Konwersja obrazów na cechy Cechy pochodne Imputacja brakujących danych Potoki przetwarzania w inżynierii cech 41. Dogłębne spojrzenie - naiwny klasyfikator Bayesa Klasyfikacja bayesowska Naiwny gaussowski klasyfikator Bayesa Naiwny wielomianowy klasyfikator Bayesa Przykład: klasyfikacja tekstu Kiedy korzystać z naiwnego klasyfikatora Bayesa 42. Dogłębne spojrzenie - regresja liniowa Prosta regresja liniowa Regresja funkcjami bazowymi Wielomianowe funkcje bazowe Gaussowskie funkcje bazowe Regularyzacja Regresja grzbietowa (regularyzacja L) Regresja lasso (regularyzacja L) Przykład: przewidywanie ruchu rowerowego 43. Dogłębne spojrzenie - maszyny wektorów nośnych Motywacje dla maszyn wektorów nośnych Maszyny wektorów nośnych - maksymalizacja marginesu Dopasowywanie maszyny wektorów nośnych Maszyny wektorów nośnych z nieliniowymi granicami - jądrowy SVM Dostrajanie SVM - zmiękczanie marginesów Przykład: rozpoznawanie twarzy Podsumowanie 44. Dogłębne spojrzenie - drzewa decyzyjne i lasy losowe Motywacje dla lasów losowych - drzewa decyzyjne Tworzenie drzewa decyzyjnego Drzewa decyzyjne i nadmierne dopasowanie Zespoły estymatorów - lasy losowe Regresja z użyciem lasów losowych Przykład: wykorzystanie lasu losowego do klasyfikacji cyfr Podsumowanie 45. Dogłębne spojrzenie - analiza głównych składowych Wprowadzenie do analizy głównych składowych PCA jako metoda redukcji wymiarowości Wykorzystanie PCA do wizualizacji - odręcznie zapisane cyfry Co reprezentują składowe? Wybór liczby składowych PCA jako metoda filtrowania szumów Przykład: rozpoznawanie twarzy Podsumowanie 46. Dogłębne spojrzenie - manifold learning Manifold learning - słowo "hello" Skalowanie wielowymiarowe Skalowanie wielowymiarowe jako metoda manifold learningu Osadzenia nieliniowe - gdy zawodzi skalowanie wielowymiarowe Rozmaitości nieliniowe - lokalnie liniowe osadzanie Kilka przemyśleń na temat metod manifold learningu Przykład: mapowanie izometryczne w zbiorze zdjęć twarzy Przykład: wizualizacja struktury w liczbach 47. Dogłębne spojrzenie - klasteryzacja za pomocą algorytmu k-średnich Wprowadzenie do algorytmu k-średnich Estymacja-maksymalizacja Przykłady Przykład 1. Algorytm k-średnich w zbiorze digits Przykład 2. Algorytm k-średnich w kompresji kolorów 48. Dogłębne spojrzenie - modele mieszanin rozkładów Gaussa Motywacje dla modeli mieszanin rozkładów Gaussa - słabości algorytmu k-średnich Uogólnienie algorytmu EM - modele mieszanin rozkładów Gaussa Wybór rodzaju kowariancji Modele mieszanin rozkładów Gaussa jako narzędzie do szacowania gęstości Przykład: wykorzystanie GMM do generowania nowych danych 49. Dogłębne spojrzenie - jądrowy estymator gęstości Motywacje dla jądrowego estymatora gęstości - histogramy Jądrowy estymator gęstości w praktyce Wybór parametru wygładzania za pomocą walidacji krzyżowej Przykład: nie tak naiwny klasyfikator Bayesa Anatomia niestandardowego estymatora Korzystanie z naszego niestandardowego estymatora 50. Zastosowanie - potok przetwarzania do wykrywania twarzy Cechy HOG HOG w akcji - prosty detektor twarzy 1. Stwórz zbiór "pozytywnych" próbek 2. Stwórz zbiór "negatywnych" próbek 3. Połącz zbiory i wyodrębnij cechy HOG 4. Wytrenuj maszynę wektorów nośnych 5. Znajdź twarze na nowym zdjęciu Zastrzeżenia i ulepszenia Materiały dodatkowe na temat uczenia maszynowego O autorze: Jake VanderPlas jest inżynierem oprogramowania w Google Research. Współtworzy i rozwija narzędzia do przetwarzania dużych ilości danych, w tym pakiety Scikit-Learn, SciPy, Astropy, Altair i JAX. Jest także twórcą samouczków, często występuje jako prelegent na branżowych konferencjach.

Specyfikacja

Podstawowe informacje

Autor
  • Jake VanderPlas
Rok wydania
  • 2023
Format
  • PDF
  • MOBI
  • EPUB
Ilość stron
  • 544
Kategorie
  • Programowanie
Wybrane wydawnictwa
  • Helion