Основы анализа данных в Python: различия между версиями
(не показаны 43 промежуточные версии этого же участника) | |||
Строка 11: | Строка 11: | ||
* Цель курса – '''подготовка к независимому экзамену''' по анализу данных. Демоверсию экзамена и тренировочные варианты <br> можно найти [https://www.hse.ru/studyspravka/examsdataculture#internal здесь] в разделе ''Материалы для подготовки'' – ''Анализ данных. Базовый уровень'' (запись на курс в SmartLMS). | * Цель курса – '''подготовка к независимому экзамену''' по анализу данных. Демоверсию экзамена и тренировочные варианты <br> можно найти [https://www.hse.ru/studyspravka/examsdataculture#internal здесь] в разделе ''Материалы для подготовки'' – ''Анализ данных. Базовый уровень'' (запись на курс в SmartLMS). | ||
* Курс включает темы, пройденные ранее в рамках обязательных курсов по ТВиМС и регрессионному анализу, поэтому теория <br>изучается (=повторяется) самостоятельно по предложенным материалам и в рамках '''онлайн-курса''' [https://edu.hse.ru/course/view.php?id=132492 «Сбор и анализ данных в Python»]. | * Курс включает темы, пройденные ранее в рамках обязательных курсов по ТВиМС и регрессионному анализу, поэтому теория <br>изучается (=повторяется) самостоятельно по предложенным материалам и в рамках '''онлайн-курса''' [https://edu.hse.ru/course/view.php?id=132492 «Сбор и анализ данных в Python»]. | ||
− | |||
== Программное обеспечение == | == Программное обеспечение == | ||
Строка 33: | Строка 32: | ||
== Материалы курса == | == Материалы курса == | ||
− | === Неделя 1. Шкалы данных. Описание данных | + | === Неделя 1. Шкалы данных. Описание данных === |
* Шкалы данных ([https://disk.yandex.ru/i/I3A_RUQdVoguvw слайды]). | * Шкалы данных ([https://disk.yandex.ru/i/I3A_RUQdVoguvw слайды]). | ||
Строка 45: | Строка 44: | ||
* Последовательности: строки, списки, массивы Numpy ([https://github.com/allatambov/QuantDat24/blob/main/qd-02-lists-arrays.ipynb qd-02-lists-arrays.ipynb]). | * Последовательности: строки, списки, массивы Numpy ([https://github.com/allatambov/QuantDat24/blob/main/qd-02-lists-arrays.ipynb qd-02-lists-arrays.ipynb]). | ||
− | === Неделя 2. Обработка и описание данных | + | === Неделя 2. Обработка и описание данных === |
* Практикум 2. Датафреймы pandas: часть 1 ([https://github.com/allatambov/PyDat24/blob/main/w02-practice-01.ipynb w02-practice-01.ipynb]), решения ([https://github.com/allatambov/PyDat24/blob/main/w02-practice-01-solutions.ipynb w02-practice-01-solutions.ipynb]), файл ([https://github.com/allatambov/PyDat24/blob/main/beasts.csv beasts.csv]). | * Практикум 2. Датафреймы pandas: часть 1 ([https://github.com/allatambov/PyDat24/blob/main/w02-practice-01.ipynb w02-practice-01.ipynb]), решения ([https://github.com/allatambov/PyDat24/blob/main/w02-practice-01-solutions.ipynb w02-practice-01-solutions.ipynb]), файл ([https://github.com/allatambov/PyDat24/blob/main/beasts.csv beasts.csv]). | ||
* Практикум 3. Датафреймы pandas: часть 2 ([https://github.com/allatambov/PyDat24/blob/main/w02-practice-02.ipynb w02-practice-02.ipynb]), решения ([https://github.com/allatambov/PyDat24/blob/main/w02-practice-02-solutions.ipynb w02-practice-02-solutions.ipynb]), файл ([https://github.com/allatambov/PyDat24/blob/main/beasts.csv beasts.csv]). | * Практикум 3. Датафреймы pandas: часть 2 ([https://github.com/allatambov/PyDat24/blob/main/w02-practice-02.ipynb w02-practice-02.ipynb]), решения ([https://github.com/allatambov/PyDat24/blob/main/w02-practice-02-solutions.ipynb w02-practice-02-solutions.ipynb]), файл ([https://github.com/allatambov/PyDat24/blob/main/beasts.csv beasts.csv]). | ||
− | * Визуализация данных (слайды, самостоятельное изучение). | + | * Визуализация данных ([https://disk.yandex.ru/d/o9GmXWe289CIpA слайды], самостоятельное изучение). |
+ | * Необязательное домашнее задание №2 ([https://github.com/allatambov/PyDat24/blob/main/hw02.ipynb hw02.ipynb], [https://github.com/allatambov/PyDat24/blob/main/stars.csv stars.csv]), решения ([https://github.com/allatambov/PyDat24/blob/main/hw02-solved.ipynb hw02-solved.ipynb]). | ||
+ | |||
+ | === Неделя 3. Визуализация данных: часть 1 === | ||
+ | |||
+ | * Практикум 4. Визуализация данных: часть 1 ([https://github.com/allatambov/PyDat24/blob/main/w03-practice.ipynb w03-practice.ipynb]), файл [https://github.com/allatambov/PyDat24/blob/main/news.xlsx news.xlsx], решения ([https://github.com/allatambov/PyDat24/blob/main/w03-practice-solutions.ipynb w03-practice-solutions.ipynb]). | ||
+ | * [https://matplotlib.org/stable/gallery/color/named_colors.html Цвета] в matplotlib, пример [https://htmlcolors.com/google-color-picker палитры] для выбора цветов. | ||
+ | |||
+ | === Неделя 4. Визуализация данных: часть 2 === | ||
+ | |||
+ | В практикуме очень много дополнительного кода, необходимый минимум из графики – построение <br>простой круговой диаграммы через plot.pie(), | ||
+ | остальное – для жизни (у кого жизнь без данных невозможна). | ||
+ | |||
+ | * Практикум 5. Визуализация данных: часть 2 ([https://github.com/allatambov/PyDat24/blob/main/w04-practice.ipynb w04-practice.ipynb]), [https://disk.yandex.ru/i/wS00RET-3qMxtA файл] для работы, решения ([https://github.com/allatambov/PyDat24/blob/main/w04-practice-solutions.ipynb w04-practice-solutions.ipynb]). | ||
+ | * Готовые палитры с наборами цветов: [https://coolors.co/ coolors.co], [https://colorhunt.co/ colorhunt.co]. | ||
+ | * Случайные величины и нормальное распределение ([https://disk.yandex.ru/i/U6O0B4mIRmQuHg слайды], самостоятельное изучение). | ||
+ | |||
+ | === Неделя 5. Выборочное оценивание === | ||
+ | |||
+ | * Практикум 6. Доверительный интервал для среднего нормальной выборки ([https://github.com/allatambov/PyDat24/blob/main/w05-practice.ipynb w05-practice.ipynb]), решения ([https://github.com/allatambov/PyDat24/blob/main/w05-practice-solutions.ipynb w05-practice-solutions.ipynb]). | ||
+ | * Выборочное оценивание и доверительный интервал для среднего: [https://disk.yandex.ru/i/ujoYuaovGM_elw слайды]. | ||
+ | |||
+ | === Неделя 6. Доверительные интервалы и проверка гипотез === | ||
+ | |||
+ | * Проверка статистических гипотез. Концепция p-value. Ошибки I и II рода ([https://disk.yandex.ru/i/_6lY_S8LXTQ6lA слайды]). | ||
+ | * Практикум 7. Доверительные интервалы. Подготовка к НЭ ([https://disk.yandex.ru/d/BqgcfzmHluynFA ipynb], с паролем), решения ([https://disk.yandex.ru/d/sVJrkkkU4-w-NA ipynb], с паролем). | ||
+ | * Практикум 8. Проверка гипотез: обзор статистических критериев ([https://github.com/allatambov/PyDat24/blob/main/w06-practice02.ipynb w06-practice02.ipynb], [https://github.com/allatambov/PyDat24/blob/main/grocery.csv grocery.csv]), решения ([https://github.com/allatambov/PyDat24/blob/main/w06-practice02-solutions.ipynb w06-practice02-solutions.ipynb]). | ||
== Learning outcomes == | == Learning outcomes == | ||
Строка 59: | Строка 84: | ||
| № 1 || уметь определять шкалы данных; знать, что такое выборочная медиана и квартили, дисперсия и стандартное отклонение; знать особенности среднего и медианы и уметь делать предположения о наличии потенциально нехарактерных значений в выборке || уметь импортировать библиотеки, уметь создавать массивы Numpy на основе списков, уметь выполнять фильтрацию значений массивов, уметь считать объем, среднее и стандартное отклонение выборки, сохраненной в массив | | № 1 || уметь определять шкалы данных; знать, что такое выборочная медиана и квартили, дисперсия и стандартное отклонение; знать особенности среднего и медианы и уметь делать предположения о наличии потенциально нехарактерных значений в выборке || уметь импортировать библиотеки, уметь создавать массивы Numpy на основе списков, уметь выполнять фильтрацию значений массивов, уметь считать объем, среднее и стандартное отклонение выборки, сохраненной в массив | ||
|- | |- | ||
+ | | № 2 || уметь выбирать подходящий тип графика для визуализации распределения данных в разных шкалах; понимать смысл и принцип построения гистограммы; уметь по гистограмме определять скошенность распределения (вправо/влево); знать, каким образом соотносятся между собой медиана, среднее, мода при разных типах скошенности || уметь загружать данные из CSV-файлов в датафреймы pandas; уметь выполнять фильтрацию строк датафрейма; уметь создавать новые столбцы датафрейма на основе старых; уметь применять методы pandas для вычисления описательных статистик и таблиц частот; уметь выполнять простую сортировку и группировку данных; уметь определять количество пропущенных значений и заполнять пропуски фиксированным значением | ||
+ | |- | ||
+ | | № 3-4 || см. выше, уметь различать гистограмму и столбиковую диаграмму, знать понятие случайной величины, знать особенности нормального распределения и правило трех сигм, уметь по графику плотности нормальной случайной величины оценивать вероятности попадания в интервал || уметь (любым способом) строить гистограмму, столбиковую диаграмму и круговую диаграмму | ||
+ | |- | ||
+ | | № 5 || понимать смысл репрезентативности выборки, знать понятие стандартной ошибки среднего и уметь ее вычислять, уметь определять границы доверительного интервала для среднего и интерпретировать полученные результаты, знать свойства доверительного интервала || уметь вычислять границы доверительного интервала для среднего с помощью stats.norm.interval() и stats.t.interval() | ||
|} | |} | ||
+ | |||
+ | == К независимому экзамену == | ||
+ | |||
+ | * [https://disk.yandex.ru/i/Z3HZXnkIv25pQg Демоверсия] НЭ (ML – темы, относящиеся к машинному обучению, ML* – темы, которые не были затронуты в обязательных курсах). | ||
+ | * Разбор заданий по визуализации (№1-2 и №8-9): [https://disk.yandex.ru/d/TPkEOj6VA1Dh3w ссылка]. | ||
+ | * Разбор заданий по нормальному распределению и свойствам выборок (№4-5): [https://disk.yandex.ru/d/DXq4TAN7LFJzbA ссылка]. | ||
+ | * Разбор заданий по проверке гипотез (№10-11): [https://disk.yandex.ru/d/5X5S0XlLYM8M1A ссылка]. | ||
+ | |||
+ | == Дополнительные занятия == | ||
+ | |||
+ | === 13 ноября. Краткий обзор парадигм программирования. Введение в ООП === | ||
+ | |||
+ | * Записи занятия и сырой ipynb-файл ([https://disk.yandex.ru/d/IiqLLEAVe2X_tg ссылка]). | ||
+ | * Конспекты будут позже. | ||
+ | |||
+ | === 20 ноября. Классы: продолжение === | ||
+ | |||
+ | * Записи занятия и сырой ipynb-файл ([https://disk.yandex.ru/d/Mopx7wX356eR_Q ссылка]). | ||
+ | * Конспекты будут позже. | ||
+ | |||
+ | === 27 ноября. Обработка данных, группировка и визуализация: часть 1 === | ||
+ | |||
+ | * Записи занятия и сырой ipynb-файл ([https://disk.yandex.ru/d/7AuZRuWe9SOyKQ ссылка]). | ||
+ | * Обработка данных, группировка и визуализация: часть 1 (конспект в [https://github.com/allatambov/PyDat24/blob/main/data_vis01.ipynb ipynb]), [https://disk.yandex.ru/i/DQ166RkN6ZlXFQ файл] Excel. |
Текущая версия на 16:01, 24 декабря 2024
Дорогие студенты!
Это страница курса «Основы анализа данных в 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-файл (ссылка).
- Конспекты будут позже.