Machine Learning w Pythonie
Informacje ogólne
Kod przedmiotu: | 2400-ZEWW856 |
Kod Erasmus / ISCED: |
14.3
|
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)
|
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. |
Właścicielem praw autorskich jest Uniwersytet Warszawski.