Основы анализа данных в Python
Дорогие студенты!
Это страница курса «Основы анализа данных в Python», читаемого во 2 модуле 2024-2025 учебного года на ОП «Политология».
Преподаватель: Тамбовцева Алла Андреевна.
Содержание
Правила игры
- Программа курса, организационная презентация.
- Формула оценки: 0.25 * Тесты + 0.25 * Практикум + 0.5 * Экзамен.
- Цель курса – подготовка к независимому экзамену по анализу данных. Демоверсию экзамена и тренировочные варианты
можно найти здесь в разделе Материалы для подготовки – Анализ данных. Базовый уровень (запись на курс в SmartLMS). - Курс включает темы, пройденные ранее в рамках обязательных курсов по ТВиМС и регрессионному анализу, поэтому теория
изучается (=повторяется) самостоятельно по предложенным материалам и в рамках онлайн-курса «Сбор и анализ данных в Python».
Программное обеспечение
В рамках этого курса мы будем использовать язык Python и среду разработки Jupyter Notebook.
Также есть возможность работать в аналоге Jupyter Notebook онлайн, используя ресурс Google Colab
(для создания и редактирования файлов нужен аккаунт Gmail).
NB. На независимом экзамене не разрешается использовать облачные ресурсы, включая Google Colab.
Если у вас ничего не установлено или вы успели «удалить весь Python», перед занятиями необходимо
установить дистрибутив Anaconda (скачать можно здесь, регистрацию можно пропустить), который
включает в себя интерпретатор языка Python, библиотеки для обработки, анализа и визуализации
данных, а также среду для работы Jupyter Notebook.
Материалы по работе в Jupyter Notebook и Google Colab:
- Запуск Jupyter без Anaconda Navigator (инструкция).
- Работа в Jupyter Notebook (видео), отличия Google Colab от Jupyter (видео).
Дополнительно для желающих:
- Набор текста в Jupyter Notebook (видео, ipynb), больше о Markdown.
- LaTeX: Overleaf, документация, материалы по LaTeX.
Материалы курса
Неделя 1. Шкалы данных. Описание данных
- Шкалы данных (слайды).
- Практикум 1. Массивы NumPy (w01-practice.ipynb), решения (w01-practice-solutions.ipynb).
- Описательные статистики (слайды, самостоятельное изучение).
- Необязательное домашнее задание №1 (hw01.ipynb), решения (hw01-solved.ipynb).
Дополнительно:
- Введение в Python (qd-01-intro-python.ipynb), практикум с решением (qd-practice01-solutions.ipynb).
- Последовательности: строки, списки, массивы Numpy (qd-02-lists-arrays.ipynb).
Неделя 2. Обработка и описание данных
- Практикум 2. Датафреймы pandas: часть 1 (w02-practice-01.ipynb), решения (w02-practice-01-solutions.ipynb), файл (beasts.csv).
- Практикум 3. Датафреймы pandas: часть 2 (w02-practice-02.ipynb), решения (w02-practice-02-solutions.ipynb), файл (beasts.csv).
- Визуализация данных (слайды, самостоятельное изучение).
- Необязательное домашнее задание №2 (hw02.ipynb, stars.csv), решения (hw02-solved.ipynb).
Неделя 3. Визуализация данных: часть 1
- Практикум 4. Визуализация данных: часть 1 (w03-practice.ipynb), файл news.xlsx, решения (w03-practice-solutions.ipynb).
- Цвета в matplotlib, пример палитры для выбора цветов.
Неделя 4. Визуализация данных: часть 2
В практикуме очень много дополнительного кода, необходимый минимум из графики – построение
простой круговой диаграммы через plot.pie(),
остальное – для жизни (у кого жизнь без данных невозможна).
- Практикум 5. Визуализация данных: часть 2 (w04-practice.ipynb), файл для работы, решения (w04-practice-solutions.ipynb).
- Готовые палитры с наборами цветов: coolors.co, colorhunt.co.
- Случайные величины и нормальное распределение (слайды, самостоятельное изучение).
Неделя 5. Выборочное оценивание
- Практикум 6. Доверительный интервал для среднего нормальной выборки (w05-practice.ipynb), решения (w05-practice-solutions.ipynb).
- Выборочное оценивание и доверительный интервал для среднего: слайды.
Неделя 6. Доверительные интервалы и проверка гипотез
- Проверка статистических гипотез. Концепция p-value. Ошибки I и II рода (слайды).
- Практикум 7. Доверительные интервалы. Подготовка к НЭ (ipynb, с паролем), решения (ipynb, с паролем).
- Практикум 8. Проверка гипотез: обзор статистических критериев (w06-practice02.ipynb, grocery.csv), решения (w06-practice02-solutions.ipynb).
Learning outcomes
Неделя | Теория | Практика |
---|---|---|
№ 1 | уметь определять шкалы данных; знать, что такое выборочная медиана и квартили, дисперсия и стандартное отклонение; знать особенности среднего и медианы и уметь делать предположения о наличии потенциально нехарактерных значений в выборке | уметь импортировать библиотеки, уметь создавать массивы Numpy на основе списков, уметь выполнять фильтрацию значений массивов, уметь считать объем, среднее и стандартное отклонение выборки, сохраненной в массив |
№ 2 | уметь выбирать подходящий тип графика для визуализации распределения данных в разных шкалах; понимать смысл и принцип построения гистограммы; уметь по гистограмме определять скошенность распределения (вправо/влево); знать, каким образом соотносятся между собой медиана, среднее, мода при разных типах скошенности | уметь загружать данные из CSV-файлов в датафреймы pandas; уметь выполнять фильтрацию строк датафрейма; уметь создавать новые столбцы датафрейма на основе старых; уметь применять методы pandas для вычисления описательных статистик и таблиц частот; уметь выполнять простую сортировку и группировку данных; уметь определять количество пропущенных значений и заполнять пропуски фиксированным значением |
№ 3-4 | см. выше, уметь различать гистограмму и столбиковую диаграмму, знать понятие случайной величины, знать особенности нормального распределения и правило трех сигм, уметь по графику плотности нормальной случайной величины оценивать вероятности попадания в интервал | уметь (любым способом) строить гистограмму, столбиковую диаграмму и круговую диаграмму |
№ 5 | понимать смысл репрезентативности выборки, знать понятие стандартной ошибки среднего и уметь ее вычислять, уметь определять границы доверительного интервала для среднего и интерпретировать полученные результаты, знать свойства доверительного интервала | уметь вычислять границы доверительного интервала для среднего с помощью stats.norm.interval() и stats.t.interval() |
К независимому экзамену
- Демоверсия НЭ (ML – темы, относящиеся к машинному обучению, ML* – темы, которые не были затронуты в обязательных курсах).
- Разбор заданий по визуализации (№1-2 и №8-9): ссылка.
- Разбор заданий по нормальному распределению и свойствам выборок (№4-5): ссылка.
- Разбор заданий по проверке гипотез (№10-11): ссылка.
Дополнительные занятия
13 ноября. Краткий обзор парадигм программирования. Введение в ООП
- Записи занятия и сырой ipynb-файл (ссылка).
- Конспекты будут позже.
20 ноября. Классы: продолжение
- Записи занятия и сырой ipynb-файл (ссылка).
- Конспекты будут позже.