Бакалавриат
2024/2025
Научно-исследовательский семинар "Современные инструменты компьютерных вычислений"
Статус:
Курс обязательный (Прикладная математика)
Направление:
01.03.04. Прикладная математика
Кто читает:
Департамент прикладной математики
Когда читается:
2-й курс, 1-4 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для всех кампусов НИУ ВШЭ
Язык:
английский
Кредиты:
3
Контактные часы:
40
Course Syllabus
Abstract
The workshop is aimed at getting skills to work with the scientific stack of the Python language: Numpy, Matplotlib, Scipy, Pandas. As a result of mastering the workshop, the student will learn how to interact with the Jupiter Notebook interactive environment, apply numerical methods to solve problems (Scipy), analyse the results obtained (Pandas), build graphs (Matplotlib).The course introduces the theory and practice of machine learning algorithms. Students will learn data preprocessing methods, dimensionality reduction techniques, modeling techniques using machine learning algorithms, and parameter tuning.The algorithms studied include linear regression with regularization (ridge regression, elastic net, lasso), multivariate adaptive regression splines, support vector machines, k-nearest neighbors, classification and regression trees, random forest.Students explore the capabilities of the PyTorch library for solving problems of relevant machine learning task classes.
Learning Objectives
- Acquiring knowledge and skills in programming in Python and using widely applicable modules of the scientific stack (Numpy, Scipy, Matplotlib, Pandas).
- Acquiring skills in using Python functions from various Python packages to apply various types of models, such as linear and nonlinear regression models, linear and nonlinear classification models, regression trees and rule-based models.
- Acquiring skills in using Python functions from various Python packages for preliminary processing of input data, i.e. calculating statistics, estimating asymmetry, applying an appropriate transformation, performing principal component analysis, searching for correlations between predictors, generating dummy variables.
- Acquiring skills in working with the PyTorch library for relevant classes of machine learning problems.
Expected Learning Outcomes
- Implements an algorithm in Python in the procedural paradigm.
- Implements a computational algorithm using NumPy.
- Loads and processes data using Pandas.
- Installs Anaconda build, runs and uses Jupyter Notebook, writes a simple Python program, uses Google Colab.
- Has skills in using Python’s built-in data types (strings, lists, list generators, tuples, dictionaries, functions).
- Creates graphs using Matplotlib.
- Knows the theory of machine learning algorithms.
- Acquired skills in implementing machine learning algorithms in python.
- Has skills in building machine learning models using PyTorch.
Course Contents
- Introduction to Python
- Data types
- The NumPy module and its application
- Pandas module
- Matplotlib module
- Introduction to machine learning
- Data preprocessing
- Linear regression models
- Support vector machine. K-nearest neighbors method
- Linear classification models
- Decision trees
- Advanced ML tasks using the PyTorch library
Assessment Elements
- Домашнее заданиеДомашнее задание
- Домашнее задание
- Домашнее задание
- Домашнее задание
- Защита проектной работы
Interim Assessment
- 2024/2025 4th module0.15 * Домашнее задание + 0.15 * Домашнее задание + 0.15 * Домашнее задание + 0.15 * Домашнее задание + 0.4 * Защита проектной работы
Bibliography
Recommended Core Bibliography
- Machine learning : a probabilistic perspective, Murphy, K. P., 2012
- Python 3, Прохоренок, Н. А., 2016
- Python for data analysis : data wrangling with pandas, numPy, and IPhython, Mckinney, W., 2017
- Изучаем pandas : высокопроизводительная обработка и анализ данных в Python, Хейдт, М., 2018
- Легкий способ выучить Python 3 еще глубже, Шоу, З. А., 2020
- Легкий способ выучить Python 3, Шоу, З. А., 2019
- Стандартная библиотека Python 3 : справочник с примерами : пер. с англ., Хеллман, Д., 2019
- Элегантный SciPy : искусство научного программирования на Python, Нуньес-Иглесиас, Х., 2018
Recommended Additional Bibliography
- Data mining : practical machine learning tools and techniques, Witten, I. H., 2011