Zastosowania języka Python


Agenda

  • cele zajęć
  • plan zajęć
  • zasady zaliczenia
  • wymagane narzędzia

O nas

  • DELab UW
  • Projekty doktorskie: Airbnb | prywatność w sieci
  • Python
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
    jako główne środowisko pracy
  • Web scraping & text-mining:
  • Web scraping & ekonometria:
    • Eurostat (price indices)

O kursie

  • część ścieżki Gospodarka Cyfrowa
  • kontynuacja kursu "Wprowadzenie do programowania w j. Python"
  • bliźniaczy kurs: Data-driven research

Cele zajęć

  • Wsparcie w wykorzystaniu Pythona w pracy badawczej - np. w pracy lic./mag.
  • Skrócenie Wam czasu spędzonego na przeglądaniu Stackoverflow

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →


Ankieta

https://www.menti.com/uzjetx41zx


Schemat pracy


digraph hierarchy {

// [bgcolor=Black]
                nodesep=1.0 // increases the separation between nodes

                node [color=Red,fontname=Courier,shape=box] //All nodes will this shape and colour
                edge [color=Blue, style=dashed] //All the lines look like this

                "Pobranie danych"->{"Czyszczenie"}
                "Czyszczenie"->{Eksploracja Wizualizacja}
                "Eksploracja"->{"Modelowanie | Analiza"}
                "Wizualizacja"->{"Modelowanie | Analiza"} 
                "Modelowanie | Analiza"->{Prezentacja}
                
                {rank=same;}  // Put them on the same level
}

Plan zajęć

  1. Zajęcia wprowadzające
  2. Pandas & SQL
  3. Web scraping I - API do platform społecznościowych
  4. Web scraping II - Selenium webdriver
  5. Wizualizacja danych I - Matplotlib, Seaborn
  6. Wizualizacja danych II - Plotly, Dash
  7. ML I - regresje, xgboost
  8. ML II - algorytmy klastrujące
  9. Text-mining I - wprowadzenie
  10. Text-mining II - LDA| analiza z użyciem modelowania tematycznego
  11. Text-mining III - t-SNE | analiza z użyciem klastrowania tekstów
  12. Prezentacje prac zaliczeniowych
  13. Prezentacje prac zaliczeniowych

Zasady zaliczenia

  • Praca zaliczeniowa: 70%, 3 prace domowe: 30%
Przedziały %ocena
(0-50)2
[50-60)3
[60-70)3+
[70-80)4
[80-90)4+
[90-100]5

Projekt zaliczeniowy

  • Cel: zastosowanie Pythona do analizy danych
  • Wynik: raport podsumowujący analizę + prezentacja
  • Praca na wzór artykułów naukowych
  • Struktura:
    • Wstęp: pytanie badawcze, cel pracy
    • Dane: opis bazy danych i prezentacja źródeł, statystyki opisowe, wizualizacje
    • Metodologia: opis metod badawczych
    • Wyniki: prezentacja rezultatów i wniosków
    • Podsumowanie
  • Praca w zespołach 2-3 osobowych lub praca indywidualna (po uzgodnieniu)
  • Zasady oceny i terminy będą wkrótce ogłoszone

Jakie tematy?

  • wkład do pracy magisterskiej/licencjackiej
  • rozwinięcie tematów omawianych na zajęciach (np. text-mining, ML)
  • autorski pomysł
  • możliwość łączenia zaliczenia z Data-Driven Research!
    • format pracy pozostaje taki sam, ale wyniki będzie można wykorzystać jako wkład do pracy zaliczeniowej z DDR
    • Na tych zajęciach koncentrujemy się na stronie technicznej (zastosowanie narzędzi Pythonowych)
    • Na zajęciach DDR oceniać będziemy bardziej prezentację problemu badawczego, wizualizację danych i warsztat badawczy

Prace domowe

  • krótkie zadania do rozwiązania
  • 3 oceny
    • 1: poprawny kod
    • 0.5: kod z błędami
    • 0: niepoprawny kod

Środowisko kursu


Python

  • Python 3+ (np. 3.8)
  • Pomocny tutorial do instalacji przez menadżer pakietów Conda: https://github.com/macwilam/KursPython
  • Instalujcie pakiety przed zajęciami!
    • Skrypty zawsze zaczynają się od listy pakietów
  • 2 planowane środowiska:
    • Jupyter notebook/lab
    • Kaggle

Kaggle


Przykładowe źródła danych

Select a repo