Politechnika Warszawska - Centralny System Uwierzytelniania
Strona główna

Przetwarzanie danych w językach R i Python

Informacje ogólne

Kod przedmiotu: 1120-INPAD-MSP-0111
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Przetwarzanie danych w językach R i Python
Jednostka: Wydział Matematyki i Nauk Informacyjnych
Grupy: Informatyka i Systemy Informacyjne, Przetwarzanie i analiza danych, semestr 1 z 3
Informatyka i Systemy Informacyjne, Przetwarzanie i analiza danych, semestr 2 z 4
Punkty ECTS i inne: (brak) Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.

zobacz reguły punktacji
Język prowadzenia: polski
Skrócony opis:

Kurs omawia najbardziej przydatne techniki programowania w językach R i Python 3 w pracy analityka danych. W ramach zajęć student uzyskuje praktyczną umiejętność zbierania i przygotowywania danych do analizy, oraz stosowania i implementacji wybranych algorytmów maszynowego uczenia się. Uczestnicy mają możliwość dogłębnego poznania technik programowania w tych językach, a także najbardziej popularnych i użytecznych bibliotek. W trakcie zajęć szczególną uwagę poświęca się sposobom przetwarzania dużych zbiorów danych (filtrowanie danych, agregacja danych w podgrupach, złączenia) przy użyciu Apache Spark.

Wymagania wstępne / przedmioty poprzedzające: Znajomość zagadnień programowania strukturalnego i obiektowego, algorytmów i struktur danych oraz programowania równoległego i rozproszonego

Pełny opis:

Wykład:

1. Podstawowe atomowe typy danych w języku R.

2. Działania na wektorach w R. Implementacja wybranych algorytmów maszynowego uczenia się przy użyciu tzw. wektoryzacji.

3. Typ podstawowy lista. Funkcje. Atrybuty obiektów. Podstawy programowania obiektowego w stylu S3. Typy złożone w R: macierz, czynnik, ramka danych.

4. Działania na ramkach danych (filtrowanie danych, złączenia, agregacja danych w podgrupach).

5. Instrukcja sterująca i pętle. Testy jednostkowe, profilowanie wydajności kodu.

6. Przetwarzanie napisów przy użyciu wyrażeń regularnych, obiektów typu data i czas oraz plików.

7. Środowiska. Leniwa ewaluacja. Niestandardowa ewaluacja. Środowiskowy model obliczeń. Dynamiczny a leksykalny zasięg zmiennych. Programowanie obiektowe w stylu S4, RefClasses i R6.

8. Podstawy programowania w języku Python 3. Typy skalarne i sekwencyjne, iteratory.

9. Słowniki, zbiory. Funkcje, instrukcje sterujące.

10. Obliczenia na wektorach, macierzach i innych tablicach (NumPy)

11. Przygotowywanie danych do analizy, praca z ramkami danych (Pandas).

12. Przetwarzanie napisów i plików, serializacja obiektów, dostęp do baz danych SQL. Ekstrakcja danych ze stron WWW, parsowanie plików XML.

13. Cython i Rcpp – tworzenie modułów/pakietów rozszerzających przy użyciu C++.

14. Programowanie rozwiązań wsadowych przy użyciu Apache Spark – wprowadzenie.

15. PySpark – wprowadzenie do interfejsu Apache Spark dla języka Python. Podstawowe operacje: scalanie zbiorów danych na podstawie wartości klucza, agregacja potencjalnie dużych zbiorów danych.

Laboratorium:

Laboratorium obejmuje praktyczne zastosowanie wiedzy zdobytej na wykładzie oraz rozwój umiejętności jej użycia w problemach analizy danych i algorytmach maszynowego uczenia się.

Literatura:

1. M. Gągolewski, M. Bartoszuk, A. Cena, Przetwarzanie i analiza danych w języku Python, PWN, Warszawa, 2016 (w druku)

2. M. Gągolewski, Programowanie w języku R. Analiza danych, obliczenia, symulacje, Wydawnictwo Naukowe PWN, 2016 (wyd. II – w druku)

3. W. McKinney, Python for Data Analysis. Data Wrangling with Pandas, NumPy, and IPython, O'Reilly Media, 2012

4. W. Richert, L.P. Coelho, Building Machine Learning Systems with Python, Packt Publishing, 2013

5. E. Bressert, SciPy and NumPy, O'Reilly Media, 2012

6. J.M. Chambers., Programming with Data, Springer, 1998

7. J.M. Chambers, Software for Data Analysis. Programming with R, Springer, 2008

8. N.S. Matloff, The Art of R Programming: A Tour of Statistical Software Design, No Starch Press, 2011

9. W.N. Venables, B.D. Ripley, S Programming, Springer, 2000

10. H. Wickham, Advanced R, Chapman&Hall/CRC

11. M. Hamstra, Learning Spark, O'Reilly, 2013

12. M. Frampton, Mastering Apache Spark, Packt, 2015

R 3.3, RStudio, gcc, g++, Python 3.5 (Anaconda), Cython, Jupyter

Metody i kryteria oceniania:

Na zaliczenie składają się oceny zdobyte za rozwiązanie 7 prac domowych (3 po 20 p., 4 po 10 p.).

Na zaliczenie konieczne jest uzyskanie łącznie ponad 50 p. na 100 p. możliwych.

Ostateczna ocena z przedmiotu wynika z sumy zdobytych punktów: [0, 50] – 2,0; (50, 60] – 3,0; (60, 70] – 3,5; (70, 80] – 4,0; (80, 90] – 4,5; (90, 100] – 5,0.

Przedmiot nie jest oferowany w żadnym z aktualnych cykli dydaktycznych.
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Warszawska.
pl. Politechniki 1, 00-661 Warszawa tel: (22) 234 7211 https://pw.edu.pl kontakt deklaracja dostępności USOSweb 7.0.0.0-7 (2024-02-19)