1. Powtórka operacji na tablicach i macierzach (wskazane Numpy).
utwórz tablicę zawierającą 10 zer,
utwórz tablicę zawierającą 10 piątek,
utwórz tablicę zawierającą liczby od 10 do 50,
utwórz macierz (tablica wielowymiarowa) o wymiarach 3x3 zawierającą liczby od 0 do 8,
utwórz macierz jednostkową o wymiarach 3x3,
utwórz macierz o wymiarach 5x5 zawierającą liczby z dystrybucji normalnej (Gaussa),
utwórz macierz o wymiarach 10x10 zawierającą liczby od 0,01 do 1 z krokiem 0,01,
utwórz tablicę zawierającą 20 liniowo rozłożonych liczb między 0 a 1 (włącznie z 0 i 1),
utwórz tablicę zawierającą losowe liczby z przedziału (1, 25), następnie zamień ją na macierz o wymiarach 5 x 5 z tymi samymi liczbami:
oblicz sumę wszystkich liczb w ww. macierzy,
oblicz średnią wszystkich liczb w ww. macierzy,
oblicz standardową dewiację dla liczb w ww. macierzy,
oblicz sumę każdej kolumny ww. macierzy i zapisz ją do tablicy.
utwórz macierz o wymiarach 5x5 zawierającą losowe liczby z przedziału (0, 100) i:
oblicz medianę tych liczb,
znajdź najmniejszą liczbę tej macierzy,
znajdź największą liczbę tej macierzy.
utwórz macierz o wymiarach różnych od siebie i większych od 1, zawierającą losowe liczby z przedziału (0, 100) i dokonaj jej transpozycji,
utwórz dwie macierze o odpowiednich wymiarach (doczytać), większych od 2 i dodaj je do siebie,
utwórz dwie macierze o odpowiednich wymiarach (doczytać) różnych od siebie i większych od 2, a następnie pomnóż je przez siebie za pomocą dwóch różnych funkcji (np. ‘matmul’ i ‘multiply’),
podstawowe struktury danych w Pandas - tutaj (szybkie zapoznanie się ze strukturami Series i DataFrame zawartymi w tym linku jest wkazane),
roboczy plik tekstowy ‘samochody1tys.csv’, zawierający dane z 1000 ogłoszeń motoryzacyjnych, dostępny jest na Slacku. Dane składają się z 1000 rekordów. Każdy rekord dotyczy jednego ogłoszenia motoryzacyjnego i zawiera następujące informacje: identyfikator ogłoszenia, marka samochodu, model samochodu, rok produkcji, rodzaj silnika, pojemność silnika, przebieg samochodu, cena, województwo.
należy przerobić krótki wstęp do Pandas (link powyżej) i tam gdzie się da należy użyć danych z pliku roboczego,
do wczytania danych korzystamy z funkcji read_csv,
przed każdą operacją (zbiorem operacji) konieczna jest linia z komentarzem po polsku, a w niej opis co zamierzamy zrobić,
utwórz wykresy funkcji liniowej, kwadratowej, trzeciego rzędu oraz wybranej funkcji trygonometrycznej zgodnie z wytycznymi,
utwórz wykres słupkowy (bar chart) na podstawie danych z pliku ‘samochody1tys.csv’ (lab. nr 2). Może to być np. liczebność danej marki samochodu. Można użyć pakietów numpy i pandas, jeśli jest taka potrzeba,
utwórz wykres kołowy (pie chart) na podstawie ww. pliku, ale z innymi danymi niż do wykresu słupkowego,
utwórz histogram na podstawie ww. pliku, ale z innymi danymi niż poprzednie,
wszystkie wykresy powinny być opisane wg prawideł tworzenia wykresów (tytuły, opisy osi, jednostki, itp. itd.),
proszę pamiętać o komentarzach przed użyciem danej funkcji,
4. Praca z danymi - web scraping i zapis do Excela
instalacja Beautiful Soup: pip install beautifulsoup4 --user (do web scrapingu),
nie korzystamy z dystrybucji Anaconda! Można zainstalować pakiet requests za pomocą pip’a,
utwórz za pomocą openpyxl trzy arkusze o nazwach “Giełda”, “Linki” i “Filmweb” (pokazane we wstępie),
pod adresem znajdziesz notowania giełdowe spółki CD Projekt Red,
wygeneruj 5 losowych kodów 3-literowych,
generowane są trzyliterowe kody do momentu aż trafi się 5, które istnieją.
inna opcja - na stronie z błędem 404 (dla nieistniejącego kodu) jest link do najbardziej pasującego rekordu, można go wyciągnąć za pomocą BS4 i stworzyć kolejne zapytanie,
napisz kod, który dla wygenerowanych wyżej trzyliterowych kodów spółki wyświetli ich aktualną cenę (Kurs), procentową zmianę (Zmiana) oraz liczbę transakcji (Transakcje),
zapisz wyniki do arkusza ‘Giełda’,
dla swojej ulubionej strony internetowej napisz kod, który połączy się ze stroną, znajdzie wszystkie linki na stronie (znacznik ‘a’ posiadający atrybut ‘href’), a następnie zapisze je do arkusza ‘Linki’,
dla ustalonego linku do filmu na Filmwebie, np. tego, napisz kod, który zwróci:
reżysera,
datę premiery,
boxoffice,
ocenę filmu.
zapisz uzyskane wyniki do arkusza ‘Filmweb’
zapisz plik z wynikami trzech zadań w formie ‘nazwisko-grupa.xlsx’.
w scikit-learn dostępne są dwa proste zbiory treningowe dla regresji liniowej: ‘diabetes’ i ‘boston’,
korzystając z linka nr 3 należy:
opracować wizualizację dla zbioru ‘boston’,
porównać modele regresji liniowej dla zbioru ‘diabetes’,
opracować przykład z linka nr 2 z wykorzystaniem bibliotek Python’a,
opracować przykład z linka nr 4 z wykorzystaniem bibliotek Python’a,
wygenerować zbiór 100 punktów oraz obliczyć i wyświetlić dla nich prostą regresji (z wykorzystaniem bibliotek Python’a), dla wyższej oceny należy to zzadanie zrealizować wg kolejnych kroków z linka nr 5,
wszystkie wykresy powinny być opisane wg prawideł tworzenia wykresów (tytuły, opisy osi, jednostki, itp. itd.).
6. Klasyfikacja z użyciem z scikit-learn
w tej laborce tworzymy 3 odzielne notebooki - każdy dla jednego zadania,
zadanie nr 1: należy przerobić klasyczny przykład klasyfikacji (zbiór IRIS) - link nr 1 tutaj,
zadanie nr 2: należy przerobić pokazane przykłady klasyfikacji i wykonać wszystkie cztery wewnętrzne zadania - link nr 2 tutaj,
zadanie nr 3: należy przerobić przykład klasyfikacji polskich tekstów - link nr 3 tutaj,
proszę pamiętać o importach odpowiednich pakietów!
7. Prosta sieć neuronowa do implementacji funkcji logicznych
można wykonać to zadanie w dowolnym języku,
krótki wstęp do sieci neuronowych wraz z przykładami dotyczącymi funkcji logicznych - link nr 1 tutaj,
należy zaimplementować bramki logiczne AND, OR, NOT za pomocą pojedynczego neurona (przykłady 1-3),
funkcja aktywacji f pokazana przed pierwszym przykładem jest wystarczająca,
należy zaimplementować bramki logiczne XOR i XNOR za pomocą sieci neuronów (dalsze przykłady),
można wykorzystać wartości wag i bias’ów podane na ww. stronie,
proszę pamiętać, że każdy neuron ma funkcję aktywacji,
w tabeli do każdego przykładu powinny znaleźć się:
wartości wejść,
wartości wag i biasów,
wartości sumy iloczynów wag i wejść,
wartości funkcji aktywacji neuronów (czyli ich wyjście),