Введение в регрессионный анализ: интенсив по Python: различия между версиями
(Новая страница: «Дорогие студенты! Это страница '''первой части''' обязательного курса '''«Введение в регре...») |
|||
| (не показано 48 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
Дорогие студенты! | Дорогие студенты! | ||
| − | Это страница '''первой части''' обязательного курса '''«Введение в регрессионный анализ»''', читаемого на ОП «Политология» 2 курса бакалавриата в 1-2 модулях 2025-2026 учебного года. На этой странице будут публиковаться материалы по первой части курса (1- | + | Это страница '''первой части''' обязательного курса '''«Введение в регрессионный анализ»''', читаемого на ОП «Политология» 2 курса бакалавриата в 1-2 модулях 2025-2026 учебного года. На этой странице будут публиковаться материалы по первой части курса (1-29 сентября), которая представляет собой интенсив по обработке данных в Python. Дальнейшие материалы будут доступны в SmartLMS и в рассылке на корпоративные почты. |
Занятия в рамках интенсива по Python ведет Тамбовцева Алла Андреевна, далее лекции по курсу читает Стукал Денис Константинович, семинары ведет – Конча Валерия. | Занятия в рамках интенсива по Python ведет Тамбовцева Алла Андреевна, далее лекции по курсу читает Стукал Денис Константинович, семинары ведет – Конча Валерия. | ||
| Строка 17: | Строка 17: | ||
* '''Экзамен''': письменная работа в конце курса, экзамен является блокирующим. | * '''Экзамен''': письменная работа в конце курса, экзамен является блокирующим. | ||
| − | Контрольная работа 1 и Практикум 1 – работы по итогам интенсива по Python, ориентировочные даты работ: контрольная работа – лекция 23 сентября, практикум – предпоследний семинар в сентябре (по | + | Контрольная работа 1 и Практикум 1 – работы по итогам интенсива по Python, ориентировочные даты работ: контрольная работа – лекция 23 сентября, практикум – предпоследний семинар в сентябре (26 сентября). |
| + | |||
| + | == Программное обеспечение == | ||
| + | |||
| + | Для работы на курсе необходимо установить дистрибутив '''Anaconda''' (скачать можно [https://www.anaconda.com/download здесь], регистрацию можно пропустить), который включает в себя интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных, а также среду для работы '''Jupyter Notebook'''. Также есть возможность работать в аналоге Jupyter Notebook онлайн, используя [https://colab.research.google.com/ ресурс] '''Google Colab''' (для создания и редактирования файлов нужен аккаунт Gmail). | ||
| + | |||
| + | Для подготовки к работе необходимо ознакомиться с материалами [https://edu.hse.ru/course/view.php?id=133389 онлайн-курса]: | ||
| + | |||
| + | * [https://edu.hse.ru/mod/page/view.php?id=502433 Видео. Подготовка рабочего места], [https://edu.hse.ru/mod/page/view.php?id=502434 инструкция] по открытию файлов в Jupyter Notebook. | ||
| + | * [https://edu.hse.ru/mod/page/view.php?id=502436 Видео. Первая программа]. | ||
| + | |||
| + | А также с материалами по работе в Jupyter Notebook и Google Colab: | ||
| + | |||
| + | * Запуск Jupyter без Anaconda Navigator ([https://disk.yandex.ru/i/myq-uGHP4lcdSA инструкция]). | ||
| + | * Работа в Jupyter Notebook ([https://disk.yandex.ru/i/2NYAqowJjmS2SA видео]), отличия Google Colab от Jupyter ([https://disk.yandex.ru/i/cGbacX28YtR08g видео]). | ||
| + | |||
| + | Дополнительно для желающих: | ||
| + | |||
| + | * Набор текста в Jupyter Notebook ([https://disk.yandex.ru/i/bNqLGRjrq_UEjg видео], [https://disk.yandex.ru/d/C1E7Axa0jr4nwQ ipynb]), [https://gist.github.com/Jekins/2bf2d0638163f1294637 больше] о Markdown. | ||
| + | * LaTeX: [https://www.overleaf.com/ Overleaf], [https://www.overleaf.com/learn документация], [https://github.com/allatambov/Latex материалы] по LaTeX. | ||
| + | |||
| + | == Материалы == | ||
| + | |||
| + | === Неделя 1. Введение в Python. Массивы NumPy === | ||
| + | |||
| + | * Лекция 1. Введение в Python: написание кода, переменные, списки и массивы ([https://disk.yandex.ru/d/7UP5GiKTlx5Ffw слайды], [https://github.com/allatambov/PyReg25/blob/main/lect01.ipynb код]) | ||
| + | * Семинар 1. Операции с массивами NumPy: часть 1 ([https://github.com/allatambov/PyReg25/blob/main/seminar01-arr01.ipynb ipynb]), решения ([https://github.com/allatambov/PyReg25/blob/main/seminar01-arr01-solved.ipynb ipynb]) | ||
| + | * Немного теории перед семинаром 2: о представлении чисел и более сложных условиях (ipynb) | ||
| + | * Семинар 2. Операции с массивами NumPy: часть 2 ([https://github.com/allatambov/PyReg25/blob/main/seminar02-arr02.ipynb ipynb]), решения ([https://github.com/allatambov/PyReg25/blob/main/seminar02-arr02-solved.ipynb ipynb]) | ||
| + | * Задачи для тренировки по итогам недели 1 ([https://github.com/allatambov/PyReg25/blob/main/train01.ipynb ipynb]), решения ([https://github.com/allatambov/PyReg25/blob/main/train01-solved.ipynb ipynb], [https://disk.yandex.ru/i/bNcpNjqHT6ji_g видео]). | ||
| + | |||
| + | === Неделя 2. Описательные статистики. Датафреймы Pandas === | ||
| + | |||
| + | * Лекция 2. Описательные статистики ([https://disk.yandex.ru/i/qeCxXYKEc-UuXQ слайды]). Датафреймы Pandas и описание данных ([https://github.com/allatambov/PyReg25/blob/main/lect02.ipynb код]). | ||
| + | * Семинар 3. Операции с датафреймами Pandas: часть 1 ([https://github.com/allatambov/PyReg25/blob/main/seminar03-pd01.ipynb ipynb]), решения ([https://github.com/allatambov/PyReg25/blob/main/seminar03-pd01-solved.ipynb ipynb]) | ||
| + | * Семинар 4. Операции с датафреймами Pandas: часть 2 ([https://github.com/allatambov/PyReg25/blob/main/seminar04-pd02.ipynb ipynb]), решения ([https://github.com/allatambov/PyReg25/blob/main/seminar04-pd02-solved.ipynb ipynb]) | ||
| + | * Задачи для тренировки по итогам недели 2 ([https://github.com/allatambov/PyReg25/blob/main/train02.ipynb ipynb]), решения ([https://github.com/allatambov/PyReg25/blob/main/train02-solved.ipynb ipynb], [https://disk.yandex.ru/i/-YIHE2syJu6OOw видео]) | ||
| + | |||
| + | === Неделя 3. Визуализация с Pandas. Сортировка, группировка и агрегирование === | ||
| + | |||
| + | * Лекция 3. Гистограмма и ящик с усами ([https://disk.yandex.ru/i/J4KRFwutoypziw слайды]). Сортировка, группировка и агрегирование ([https://github.com/allatambov/PyReg25/blob/main/lect03.ipynb код]). | ||
| + | * Семинар 5. Операции с датафреймами Pandas: часть 3 ([https://github.com/allatambov/PyReg25/blob/main/seminar05-pd03.ipynb ipynb]), решения ([https://github.com/allatambov/PyReg25/blob/main/seminar05-pd03-solved.ipynb ipynb]) | ||
| + | * Семинар 6. Операции с датафреймами Pandas: часть 4 ([https://github.com/allatambov/PyReg25/blob/main/seminar06-pd04.ipynb ipynb]), решения ([https://github.com/allatambov/PyReg25/blob/main/seminar06-pd04-solved.ipynb ipynb]) | ||
| + | * Задачи для тренировки по итогам недели №3 ([https://github.com/allatambov/PyReg25/blob/main/train03.ipynb ipynb]), решения ([https://github.com/allatambov/PyReg25/blob/main/train03-solved.ipynb ipynb], [https://disk.yandex.ru/i/JXyjpAZCDazDaA видео]) | ||
| + | |||
| + | Дополнительно для желающих: | ||
| + | |||
| + | * [https://matplotlib.org/stable/gallery/color/named_colors.html Цвета] в matplotlib и pandas, веселый [https://colorscheme.ru/color-names.html список] цветов | ||
| + | * Примеры чуть более продвинутой визуализации ([https://github.com/allatambov/QuantDat24/blob/main/qd-practice04-01-solutions.ipynb ipynb], [https://github.com/allatambov/QuantDat24/blob/main/charity_data.csv csv]) | ||
| + | |||
| + | === Неделя 4. Итоги === | ||
| + | |||
| + | * КР №1 | ||
| + | * Практикум №1 (см ниже) | ||
| + | |||
| + | == Практикум 1 == | ||
| + | |||
| + | * [https://github.com/allatambov/PyReg25/blob/main/python-cheatsheet.ipynb Памятка] по методам, которой можно пользоваться на практикуме 1 | ||
| + | |||
| + | Варианты: | ||
| + | |||
| + | * 241 группа: [https://disk.yandex.ru/d/ixfglp3TWj8GWA варианты и решения] (решения – файлы с -solutions) | ||
| + | * 242 группа: [https://disk.yandex.ru/d/5YGH-DuvIM0B2g варианты и решения] (решения – файлы с -solutions) | ||
| + | * 243 группа: [https://disk.yandex.ru/d/W-4xwbopTVpqnw варианты и решения] (решения – файлы с -solutions) | ||
| + | * 244 группа: [https://disk.yandex.ru/d/gdFgqlrEQeusFQ варианты и решения] (решения – файлы с -solutions) | ||
| + | |||
| + | == Learning outcomes == | ||
| + | |||
| + | Что нужно знать/уметь: | ||
| + | |||
| + | '''Неделя 1:''' импортировать библиотеку numpy, создавать массивы numpy из чисел или текстовых значений, выполнять векторные операции (умножение/деление массива на число, сложение/вычитание/умножение/деление нескольких массивов и подобные преобразования), проверять условия и фильтровать элементы массивов. | ||
| + | |||
| + | Основные операторы, функции и методы недели 1: | ||
| + | |||
| + | * операторы >, <, >=, <=, ==, !=, & и |; | ||
| + | * функция array() и метод .astype() из numpy; | ||
| + | * базовые функции sum() и len(). | ||
| + | |||
| + | '''Неделя 2:''' импортировать библиотеку pandas, загружать данные из файлов CSV и сохранять в датафрейм, выводить описательные статистики для числовых и текстовых столбцов, выбирать отдельные столбцы и выводить описательные статистики для них, проверять условия и фильтровать строки датафрейма, создавать столбцы из 0 и 1 на основе условий. | ||
| + | |||
| + | Основные функции и методы недели 2: | ||
| + | |||
| + | * функция read_csv() и методы .info() и .describe() из pandas; | ||
| + | * методы .mean(), .std(), .median(), .quantile(), .value_counts() из pandas. | ||
| + | |||
| + | '''Неделя 3:''' строить гистограмму и ящик с усами по выбранному столбцу датафрейма, сортировать строки, группировать строки и выводить описательные статистики по группам. | ||
| + | |||
| + | Основные функции и методы недели 3: | ||
| + | |||
| + | * методы .hist(), .plot.box() из pandas; | ||
| + | * методы .sort_values() и .groupby() из pandas. | ||
Текущая версия на 15:49, 13 октября 2025
Дорогие студенты!
Это страница первой части обязательного курса «Введение в регрессионный анализ», читаемого на ОП «Политология» 2 курса бакалавриата в 1-2 модулях 2025-2026 учебного года. На этой странице будут публиковаться материалы по первой части курса (1-29 сентября), которая представляет собой интенсив по обработке данных в Python. Дальнейшие материалы будут доступны в SmartLMS и в рассылке на корпоративные почты.
Занятия в рамках интенсива по Python ведет Тамбовцева Алла Андреевна, далее лекции по курсу читает Стукал Денис Константинович, семинары ведет – Конча Валерия.
Ссылка на программу курса.
Содержание
Правила игры
Формула оценки: 0.1 * Контрольная работа 1 + 0.15 * Практикум 1 + 0.1 * Контрольная работа 2 + 0.15 * Практикум 2 + 0.3 * Проверочные работы + 0.2 * Экзамен.
- Контрольная работа 1: письменная работа, состоит из вопросов с выбором ответа или кратким ответом. Предполагает выбор верных или неверных утверждений о базовых конструкциях и структурах данных Python, запись результата, получаемого после запуска представленного фрагмента кода, указание ошибок в коде или выбор безошибочных вариантов решений предложенной задачи. Запускать код на компьютере и пользоваться материалами во время работы запрещено.
- Практикум 1: практическая работа по загрузке и обработке данных по итогам интенсива в Python.
- Контрольная работа 2: письменная работа, охватывает материал всего курса.
- Практикум 2: практическая работа по обработке и анализу данных ближе к концу курса.
- Проверочные работы: небольшие письменные работы на лекциях.
- Экзамен: письменная работа в конце курса, экзамен является блокирующим.
Контрольная работа 1 и Практикум 1 – работы по итогам интенсива по Python, ориентировочные даты работ: контрольная работа – лекция 23 сентября, практикум – предпоследний семинар в сентябре (26 сентября).
Программное обеспечение
Для работы на курсе необходимо установить дистрибутив Anaconda (скачать можно здесь, регистрацию можно пропустить), который включает в себя интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных, а также среду для работы Jupyter Notebook. Также есть возможность работать в аналоге Jupyter Notebook онлайн, используя ресурс Google Colab (для создания и редактирования файлов нужен аккаунт Gmail).
Для подготовки к работе необходимо ознакомиться с материалами онлайн-курса:
- Видео. Подготовка рабочего места, инструкция по открытию файлов в Jupyter Notebook.
- Видео. Первая программа.
А также с материалами по работе в Jupyter Notebook и Google Colab:
- Запуск Jupyter без Anaconda Navigator (инструкция).
- Работа в Jupyter Notebook (видео), отличия Google Colab от Jupyter (видео).
Дополнительно для желающих:
- Набор текста в Jupyter Notebook (видео, ipynb), больше о Markdown.
- LaTeX: Overleaf, документация, материалы по LaTeX.
Материалы
Неделя 1. Введение в Python. Массивы NumPy
- Лекция 1. Введение в Python: написание кода, переменные, списки и массивы (слайды, код)
- Семинар 1. Операции с массивами NumPy: часть 1 (ipynb), решения (ipynb)
- Немного теории перед семинаром 2: о представлении чисел и более сложных условиях (ipynb)
- Семинар 2. Операции с массивами NumPy: часть 2 (ipynb), решения (ipynb)
- Задачи для тренировки по итогам недели 1 (ipynb), решения (ipynb, видео).
Неделя 2. Описательные статистики. Датафреймы Pandas
- Лекция 2. Описательные статистики (слайды). Датафреймы Pandas и описание данных (код).
- Семинар 3. Операции с датафреймами Pandas: часть 1 (ipynb), решения (ipynb)
- Семинар 4. Операции с датафреймами Pandas: часть 2 (ipynb), решения (ipynb)
- Задачи для тренировки по итогам недели 2 (ipynb), решения (ipynb, видео)
Неделя 3. Визуализация с Pandas. Сортировка, группировка и агрегирование
- Лекция 3. Гистограмма и ящик с усами (слайды). Сортировка, группировка и агрегирование (код).
- Семинар 5. Операции с датафреймами Pandas: часть 3 (ipynb), решения (ipynb)
- Семинар 6. Операции с датафреймами Pandas: часть 4 (ipynb), решения (ipynb)
- Задачи для тренировки по итогам недели №3 (ipynb), решения (ipynb, видео)
Дополнительно для желающих:
- Цвета в matplotlib и pandas, веселый список цветов
- Примеры чуть более продвинутой визуализации (ipynb, csv)
Неделя 4. Итоги
- КР №1
- Практикум №1 (см ниже)
Практикум 1
- Памятка по методам, которой можно пользоваться на практикуме 1
Варианты:
- 241 группа: варианты и решения (решения – файлы с -solutions)
- 242 группа: варианты и решения (решения – файлы с -solutions)
- 243 группа: варианты и решения (решения – файлы с -solutions)
- 244 группа: варианты и решения (решения – файлы с -solutions)
Learning outcomes
Что нужно знать/уметь:
Неделя 1: импортировать библиотеку numpy, создавать массивы numpy из чисел или текстовых значений, выполнять векторные операции (умножение/деление массива на число, сложение/вычитание/умножение/деление нескольких массивов и подобные преобразования), проверять условия и фильтровать элементы массивов.
Основные операторы, функции и методы недели 1:
- операторы >, <, >=, <=, ==, !=, & и |;
- функция array() и метод .astype() из numpy;
- базовые функции sum() и len().
Неделя 2: импортировать библиотеку pandas, загружать данные из файлов CSV и сохранять в датафрейм, выводить описательные статистики для числовых и текстовых столбцов, выбирать отдельные столбцы и выводить описательные статистики для них, проверять условия и фильтровать строки датафрейма, создавать столбцы из 0 и 1 на основе условий.
Основные функции и методы недели 2:
- функция read_csv() и методы .info() и .describe() из pandas;
- методы .mean(), .std(), .median(), .quantile(), .value_counts() из pandas.
Неделя 3: строить гистограмму и ящик с усами по выбранному столбцу датафрейма, сортировать строки, группировать строки и выводить описательные статистики по группам.
Основные функции и методы недели 3:
- методы .hist(), .plot.box() из pandas;
- методы .sort_values() и .groupby() из pandas.