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.
**
**