Uniwersytet Warszawski, Wydział Nauk Ekonomicznych - Centralny System Uwierzytelniania
Strona główna

Machine Learning w Pythonie

Informacje ogólne

Kod przedmiotu: 2400-ZEWW856
Kod Erasmus / ISCED: 14.3 Kod klasyfikacyjny przedmiotu składa się z trzech do pięciu cyfr, przy czym trzy pierwsze oznaczają klasyfikację dziedziny wg. Listy kodów dziedzin obowiązującej w programie Socrates/Erasmus, czwarta (dotąd na ogół 0) – ewentualne uszczegółowienie informacji o dyscyplinie, piąta – stopień zaawansowania przedmiotu ustalony na podstawie roku studiów, dla którego przedmiot jest przeznaczony. / (0311) Ekonomia Kod ISCED - Międzynarodowa Standardowa Klasyfikacja Kształcenia (International Standard Classification of Education) została opracowana przez UNESCO.
Nazwa przedmiotu: Machine Learning w Pythonie
Jednostka: Wydział Nauk Ekonomicznych
Grupy: Anglojęzyczna oferta zajęć WNE UW
Przedmioty kierunkowe dla Data Science
Przedmioty kierunkowe do wyboru - studia II stopnia EM - grupa 1 (3*30h)
Przedmioty kierunkowe do wyboru - studia II stopnia EM - grupa 2 (1*30h)
Przedmioty kierunkowe do wyboru - studia II stopnia FR - grupa 2 (2*30h)
Przedmioty kierunkowe do wyboru - studia II stopnia FR - grupa 3 (4*30h)
Przedmioty kierunkowe do wyboru - studia II stopnia IE - grupa 2 (2*30h)
Przedmioty wyboru kierunkowego dla studiów licencjackich EM
Przedmioty wyboru kierunkowego dla studiów licencjackich FIM
Przedmioty wyboru kierunkowego dla studiów licencjackich FIR
Przedmioty wyboru kierunkowego dla studiów licencjackich IE
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: angielski
Rodzaj przedmiotu:

nieobowiązkowe

Skrócony opis:

Celem zajęć jest przedstawienie najnowszych metod machine learningu, z wykorzystaniem języka programowania Python. W celu kompletnej ilustracji zagadnienia machine learningu przybliżone zostaną wszystkie trzy typy analizy: unsupervised, supervised oraz reinforcement learning. Główny nacisk zostanie jednak położony na modele predykcyjne, zarówno klasyfikacji jak i regresji.

Zajęcia będą koncentrować się na wykształceniu intuicyjnego rozumienia omawianych algorytmów, ich silnych oraz słabych stron oraz zdobycia praktycznych umiejętności ich wykorzystania.

Pełny opis:

• Wprowadzenie do uczenia maszynowego:

Data science, Data Mining, Deep Learning, Big Data i Machine Learning. Znaczenie uczenia maszynowego dla biznesu. Uczenie maszynowe jako funkcja.

Wprowadzenie do podstawowej terminologii i notacji: mapa drogowa budowy systemów uczenia maszynowego; Preprocessing – nadanie danych kształtu; Trening i wybór modelu predykcyjnego; Ocena modeli i przewidywanie niewidocznych wystąpień danych.

IPython i Jupyter Notebook: Instalowanie pakietów Pythona i wymaganych bibliotek; Korzystanie z Anakondy; Uruchomienie Notebooka.

Postępowanie z danymi: Konfigurowanie Notebooka; Przygotowanie danych; Czyszczenie danych; Tworzenie DataFrame; Zapisywanie DataFrame do pliku; Wizualizacja wyników.

• Supervised learning:

Szkolenie algorytmów uczenia maszynowego do klasyfikacji: Sztuczne neurony – krótkie spojrzenie na wczesną historię uczenia maszynowego; Implementacja algorytmu uczenia perceptronów w Pythonie; Uczenie modelu perceptronu na zbiorze danych Iris; Adaptacyjne neurony liniowe i konwergencja uczenia się; Minimalizacja funkcji kosztów z gradientem; Implementacja adaptacyjnego neuronu liniowego w Pythonie.

Przewodnik po klasyfikatorach uczenia maszynowego za pomocą scikit-learn:

Wybór algorytmu klasyfikacji; Pierwsze kroki ze scikit-learn (Trening perceptronu poprzez scikit-learn); Modelowanie prawdopodobieństw klas za pomocą regresji logistycznej (Intuicja regresji logistycznej i prawdopodobieństwa warunkowe; Nauka wag funkcji kosztów logistycznych; Trening modelu regresji logistycznej za pomocą scikit-learn; Przeciwdziałanie overfittingu dopasowaniu poprzez regularyzację);

Rozwiązywanie nieliniowych problemów za pomocą jądra SVM (Użycie sztuczki jądra do znalezienia oddzielających hiperpłaszczyzn w przestrzeni wyższego wymiaru); Nauka drzewa decyzyjnego (maksymalizacja przyrostu informacji; Budowanie drzewa decyzyjnego; Łączenie słabych i silnych algorytmów poprzez losowe lasy); K-najbliżsi sąsiedzi – leniwy algorytm uczenia maszynowego.

• Unsupervised learning:

Nienadzorowana redukcja wymiarowości poprzez analizę głównych składowych (całkowita i wyjaśniona wariancja; Transformacja cech; Analiza głównych składowych w scikit-learn);

Nadzorowana kompresja danych poprzez liniową analizę dyskryminacyjną (Wyliczanie macierzy rozrzutu; Wybieranie liniowych dyskryminatorów dla nowej podprzestrzeni cech; Rzutowanie próbek na nową przestrzeń cech; LDA poprzez scikit-learn).

Praca z danymi nieoznakowanymi – Analiza skupień (Grupowanie obiektów według podobieństwa przy użyciu k-średnich; K-średnie++; Grupowanie twarde i miękkie; Stosowanie metody łokcia w celu znalezienia optymalnej liczby skupień; Ilościowe określanie jakości grupowania za pomocą silhouette plots).

Literatura:

- Sebastian Raschka, Python Machine Learning, 3rd Edition, Packt Publishing Ltd. (December 12th, 2019)

- Fabrizio Romano, Learn Python Programming (Second Edition), The no-nonsense, beginner's guide to programming, data science, and web development with Python 3.7, Packt Publishing, BIRMINGHAM – MUMBAI, 2018.

- Jake VanderPlas , Python Data Science Handbook, O'Reilly Media, Inc., 2016.

- mlcourse.ai – Open Machine Learning Course, https://mlcourse.ai/book/index.html

- Kaggle, online community of data scientists and machine learning practitioners https://kaggle.com

Efekty uczenia się:

WIEDZA

Zna w sposób pogłębiony metody modelowania predykcyjnego.

Zna sposoby wykorzystania języka programowania Python na potrzeby analizy danych.

Zna możliwości aplikacyjne przedstawionych metod statystycznych i na ich podstawie może tworzyć analizy na potrzeby analiz rynkowych w pracy lub na potrzeby własnej firmy.

UMIEJĘTNOŚCI

Potrafi dobrać odpowiednią metodę modelowania do postawionego problemu. Na podstawie uzyskanych wyników potrafi formułować własne opinie i aplikować wiedzę teoretyczną do opisu i analizy zjawisk ekonomicznych.

Potrafi wyszukać dane, zastosować modelowanie predykcyjne, udokumentować proces analityczny oraz sporządzić opis przeprowadzonych czynności.

KOMPETENCJE SPOŁECZNE

Praktyka wykorzystania języka programowania Python pozwala na zwiększenie umiejętności samodzielnego uczenia i zwiększa kompetencje w programowaniu obiektowym.

Przeprowadzone na zajęciach ćwiczenia i praktyki modelowania pozwalają studentowi być krytycznym względem wyników uzyskiwanych w pracach naukowych.

Metody i kryteria oceniania:

Zaliczenie odbywać się będzie na podstawie testu końcowego (test jednokrotnego wyboru) oraz pracy zaliczeniowej/projektu, którego celem jest wykorzystanie umiejętności zdobytych w trakcie semestru w analizie praktycznego problemu.

Test końcowy 40%. Projekt (realizowany poza zajęciami) 60%.

Dodatkową możliwością zaliczenia przedmiotu jest udział i osiągnięcie dobrego wyniku w konkursie analizy danych (np. kaggle). Szczegóły podaną zostaną na pierwszych zajęciach.

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 Uniwersytet Warszawski, Wydział Nauk Ekonomicznych.
ul. Długa 44/50
00-241 Warszawa
tel: +48 22 55 49 126 https://www.wne.uw.edu.pl/
kontakt deklaracja dostępności USOSweb 7.0.3.0 (2024-03-22)