Naszym zadaniem jest napisanie modułu (pliku .py) w języku python (wersja 3), który pozwoli na wykonanie normalizacji kwantylowej zadanych obserwacji.
Normalizacja kwantylowa, to operacja na macierzy, która pozwala zapewnić, że w każdej kolumnie macierzy znajdują się wartości o tym samym rozkładzie kwantyli, przy czym wartości są możliwie bliskie wejściowym.
Opis samej metody (dot. kolumn) można zobaczyć na przykładzie w wikipedii .
Nasz program powinien działać w trybie skryptu i pobierać opcje z linii komend (np. przy użyciu Argparse). Funkcjonalności wymagane to :
– wczytywanie wejścia i zapis wyniku w postaci macierzy (.npy) i tekstu (.csv) 3 pkt
– wczytywanie z excela (.xls) przy pomocy biblioteki pandas (bonus 1pkt)
– wykonanie procedury normalizacji kwantylowej wg kolumn (5 pkt)
– obsługa normalizacji wg wierszy (1 pkt)
– wyswietlenie macierzy wynikowej i pośrrednich, lub zapis do pliku obrazka w png lub pdf (1 pkt)
– dodatkowo można uwzględnić normalizację wg mniejszej liczby kwantyli (np. 100 kwantyli dla macierzy 1000 elementowej), przy założeniu liniowej zmiany wartości pomiędzy kwantylami (bonus 2 pkt)
Zadanie w postaci emaila z załączonym plikiem .py (nieskompresowanym) przesyłamy (z konta studenckiego) do 27 III (godz. 00:00 w dowolnej strefie czasowej) na adres e-mail bartek@mimuw.edu.pl z dopiskiem [ONA-2017-1] w tytule (subject).
Po terminie można dostać maksymalnie 5 punktów.