Kurs: Nowoczesne języki przetwarzania danych: Python, R i Matlab

Język wykładowy Angielski
Semestr Letni
Status W ofercie
Opiekun Jan Chorowski
Liczba godzin
Rodzaj Kurs inżynierski
ECTS 5
Polecany dla I roku Nie
Egzamin Nie

Opis przedmiotu:

Skuteczna obrobka danych wymaga stosowania odpowiednich narzędzi. W tym celu chętnie wykorzystywane są Python, R, i Matlab (<http://www.kdnuggets.com/2013/08/languages-for-analytics-data-mining-data- science.html>, <http://www.kaggle.com/wiki/Software>). Języki te są bardzo podobne: są interpretowane i umożliwiają wykonywanie interaktywnych obliczeń i wizualizacji. Stąd wynika największy problem związany z ich skutecznym wykorzystaniem - aby obliczenia przebiegały sprawnie konieczne jest wykorzystanie wysokopoziomowych struktur danych (macierzy, tabeli danych) oferowanych przez te języki, aby uniknąć wolnego wykonywania interpretowanych pętli. W efekcie programy są zwięzłe, a obliczenia przebiegają sprawnie. Ćwiczenia do kursu będą obejmowały małe projekty praktyczne, np.: * Efekty dźwiękowe i poprawianie obrazkow w Matlabie. * Modelowanie kursow akcji w R. * Analiza danych z blogow, Facebooka czy Twittera w Pythonie. Planowany zakres tematyczny: 1. Matlab: * Matlab jako kalkulator, obliczenia na macierzach. * Wykresy i animacje. * Symulacje fizyczne i podstawy przetwarzania sygnałow. * Efekty dźwiękowe. * Integracja z Javą i funkcjami w C. 1. R: * Wprowadzenie, struktury danych. * Planowanie eksperymentow. * ggplot: nowoczesny pakiet graficzny 1. Python: * numpy, architektura ndarray, broadcasting, ufuncs. * Narzędzia do obrobki danych: Pandas, scikits-learn. * Zbieranie danych z internetu: Beautiful Soup, API do popularnych serwisow. * Obliczenia symboliczne: sympy, theano. W zależności od zainteresowania uczestnikow przedmiot może objąć albo pakiety macierzowe i metody ich implementacji (BLAS, LAPACK), lub więcej przykładow analizy danych. Rozważam też przedstawienie podstaw Julii - nowego języka rozwijanego na MIT i stworzonego od podstaw aby możliwa była łatwa kompilacja just-in-time przez llvm. **Uwaga:** kurs nie będzie uczył podstaw Pythona, tylko użycia specjalistycznych bibliotek. ** **