Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Python for machine learning and data science
Tok studiów:
2019/2020
Kod:
RIMA-1-725-s
Wydział:
Inżynierii Mechanicznej i Robotyki
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Mechatronic Engineering with English as instruction language
Semestr:
7
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Angielski
Forma studiów:
Stacjonarne
Strona www:
 
Prowadzący moduł:
dr hab. inż. Młyniec Andrzej (mlyniec@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

In this course, students will go over everything from how to run the very first python script and load data, to building basic machine learning models. This course will start students off with the basics, the libraries they need (e.g. Pandas, NumPy, Matplotlib, Scikit-learn) and how to work with data. Students will learn how to analyze data using summary statistics. Finally, students will learn how to build Machine Learning Models and see how these models work in the real world.

Opis efektów uczenia się dla modułu zajęć
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Powiązania z KEU Sposób weryfikacji i oceny efektów uczenia się osiągniętych przez studenta w ramach poszczególnych form zajęć i dla całego modułu zajęć
Wiedza: zna i rozumie
M_W001 Has basic knowledge of Python programming language and knows how to work with data in Python IMA1A_W13, IMA1A_W07, IMA1A_W12 Wykonanie ćwiczeń laboratoryjnych
M_W002 A student knows how to use different libraries and work with computational models in Python IMA1A_W13, IMA1A_W07, IMA1A_W12 Wykonanie ćwiczeń laboratoryjnych
Umiejętności: potrafi
M_U001 A student is able to use a high-level programming language to develop programs and machine learning models IMA1A_U01, IMA1A_U05, IMA1A_U14, IMA1A_U07 Wykonanie ćwiczeń laboratoryjnych
M_U002 A student has an ability to self-education and improvement of professional qualifications IMA1A_U06 Wykonanie projektu
Kompetencje społeczne: jest gotów do
M_K001 A student understands the need for continuous learning in modern digital-oriented society. IMA1A_K01 Udział w dyskusji
M_K002 A student has an ability to critically asses his/her own knowledge and understand the importance of knowledge in problem-solving. IMA1A_K08 Udział w dyskusji
Liczba godzin zajęć w ramach poszczególnych form zajęć:
SUMA (godz.)
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
50 10 0 30 10 0 0 0 0 0 0 0
Matryca kierunkowych efektów uczenia się w odniesieniu do form zajęć i sposobu zaliczenia, które pozwalają na ich uzyskanie
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Forma zajęć dydaktycznych
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Wiedza
M_W001 Has basic knowledge of Python programming language and knows how to work with data in Python + - + - - - - - - - -
M_W002 A student knows how to use different libraries and work with computational models in Python + - + - - - - - - - -
Umiejętności
M_U001 A student is able to use a high-level programming language to develop programs and machine learning models + - - + - - - - - - -
M_U002 A student has an ability to self-education and improvement of professional qualifications - - - + - - - - - - -
Kompetencje społeczne
M_K001 A student understands the need for continuous learning in modern digital-oriented society. - - - - - - - - - - -
M_K002 A student has an ability to critically asses his/her own knowledge and understand the importance of knowledge in problem-solving. - - - - - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 110 godz
Punkty ECTS za moduł 4 ECTS
Udział w zajęciach dydaktycznych/praktyka 50 godz
Przygotowanie do zajęć 10 godz
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 10 godz
Samodzielne studiowanie tematyki zajęć 40 godz
Szczegółowe treści kształcenia w ramach poszczególnych form zajęć (szczegółowy program wykładów i pozostałych zajęć)
Wykład (10h):
  1. Python programming fundamentals

    The first lecture covers the following topics:
    - Types
    - Expressions and Variables
    - String Operations
    - Lists and Tuples
    - Sets
    - Dictionaries
    - Conditions and Branching
    - Loops
    - Functions
    - Objects and Classes
    - Reading files with open
    - Writing files with open
    - Loading data with Pandas
    - Working with and Saving data with Pandas

  2. Introduction to Data Science

    This lecture covers the following topics:
    - Learning Objectives
    - Understanding the Domain and Dataset
    - Python package for data science
    - Importing and Exporting Data in Python
    - Identification and Handling Missing Values
    - Data Formatting
    - Data Normalization
    - Sets
    - Indicator variables

  3. Exploratory Data Analysis and Model Development

    This lecture covers the following topics:
    - Descriptive Statistics
    - Basic of Grouping
    - Analysis of Variance (ANOVA)
    - Correlation
    - Model Development
    - Simple and Multiple Linear Regression
    - Model Evaluation
    - Polynomial Regression and Pipelines
    - R-squared and MSE for In-Sample Evaluation

  4. Working with Data in Python and Introduction to Machine Learning

    Topics:
    - Model Evaluation
    - Underfitting, Overfitting and Model Selection
    - Ridge Regression
    - Grid Search
    - Model Refinement
    - Visualization Tools
    - Machine Learning – introduction
    - Supervised vs Unsupervised ML
    - Simple Linear Regression
    - Multiple Linear Regression
    - Model Evaluation in Regression Models
    - Non-Linear Regression

  5. Machine Learning: Classification, Clustering and Recommender Systems

    This lecture covers the following topics:
    - Classification:
    - K-Nearest Neighbors
    - Decision Trees
    - Evaluation Metrics in Classification
    - Logistic Regression vs Linear Regression
    - Support Vector Machine (SVM)
    - Clustering:
    - K-Means Clustering
    - Hierarchical Clustering
    - DBSCAN
    - Recommender Systems:
    - Content-Based Recommender Systems
    - Collaborative Filtering

Ćwiczenia laboratoryjne (30h):
  1. Python programming fundamentals
  2. Introduction to Data Science
  3. Exploratory Data Analysis and Model Development
  4. Working with Data in Python and Introduction to Machine Learning
  5. Machine Learning: Classification, Clustering and Recommender Systems
Ćwiczenia projektowe (10h):
Individual project
Pozostałe informacje
Metody i techniki kształcenia:
  • Wykład: Treści prezentowane na wykładzie są przekazywane w formie prezentacji multimedialnej w połączeniu z klasycznym wykładem tablicowym wzbogaconymi o pokazy odnoszące się do prezentowanych zagadnień.
  • Ćwiczenia laboratoryjne: W trakcie zajęć laboratoryjnych studenci samodzielnie rozwiązują zadany problem praktyczny, dobierając odpowiednie narzędzia. Prowadzący stymuluje grupę do refleksji nad problemem, tak by otrzymane wyniki miały wysoką wartość merytoryczną.
  • Ćwiczenia projektowe: Studenci wykonują zadany projekt samodzielnie, bez większej ingerencji prowadzącego. Ma to wykształcić poczucie odpowiedzialności za pracę w grupie oraz odpowiedzialności za podejmowane decyzje.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

There is no Exam. Lab grades will be calculated as a mean value of all grades obtained during these classes.

Zasady udziału w zajęciach:
  • Wykład:
    – Obecność obowiązkowa: Nie
    – Zasady udziału w zajęciach: Studenci uczestniczą w zajęciach poznając kolejne treści nauczania zgodnie z syllabusem przedmiotu. Studenci winni na bieżąco zadawać pytania i wyjaśniać wątpliwości. Rejestracja audiowizualna wykładu wymaga zgody prowadzącego.
  • Ćwiczenia laboratoryjne:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: Studenci wykonują ćwiczenia laboratoryjne zgodnie z materiałami udostępnionymi przez prowadzącego. Student jest zobowiązany do przygotowania się w przedmiocie wykonywanego ćwiczenia, co może zostać zweryfikowane kolokwium w formie ustnej lub pisemnej. Zaliczenie zajęć odbywa się na podstawie zaprezentowania rozwiązania postawionego problemu.
  • Ćwiczenia projektowe:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: Studenci wykonują prace praktyczne mające na celu uzyskanie kompetencji zakładanych przez syllabus. Ocenie podlega sposób wykonania projektu oraz efekt końcowy.
Sposób obliczania oceny końcowej:

The final grade will be calculated based on student activity, tests, and grade form the project.

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

Additional classes will be organized

Wymagania wstępne i dodatkowe, z uwzględnieniem sekwencyjności modułów :

Basics of math and statistics

Zalecana literatura i pomoce naukowe:

- Programming in Python 3: A Complete Introduction to the Python Language. Mark Summerfield, 2008

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

Continuum damage mechanics model for injection molded composites / Andrzej MŁYNIEC, Łukasz PIECZONKA, Tadeusz UHL // Archives of Transport = Archiwum Transportu / Polish Academy of Sciences. Committee of Transport ; ISSN 0866-9546. — 2009 vol. 21 no. 3–4, s. 101–114. — Bibliogr. s. 113–114, Abstr. (On usage of Python in material modeling)

Informacje dodatkowe:

N/A