Анализ данных на Python: различия между версиями

Материал из MathINFO
Перейти к навигации Перейти к поиску
 
(не показано 25 промежуточных версий этого же участника)
Строка 36: Строка 36:
 
* Markdown: [https://gist.github.com/Jekins/2bf2d0638163f1294637 больше] про Markdown, знакомство с Jupyter Notebook и Markdown ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/intro-jupyter.ipynb читать], [http://allatambov.github.io/icef/seminars/intro-jupyter.ipynb ipynb]).
 
* Markdown: [https://gist.github.com/Jekins/2bf2d0638163f1294637 больше] про Markdown, знакомство с Jupyter Notebook и Markdown ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/intro-jupyter.ipynb читать], [http://allatambov.github.io/icef/seminars/intro-jupyter.ipynb ipynb]).
  
<!---
+
=== Неделя 1. Шкалы данных. Индексируемые структуры данных ===
=== Неделя 1. Про Python и Jupyter Notebook ===
+
 
--->
+
* Шкалы данных ([https://disk.yandex.ru/i/H3K0M3bNHAjgjQ слайды]).
 +
* Индексируемые структуры данных (конспект [https://github.com/allatambov/PyPerm25/blob/main/01-types-structures.ipynb ipynb], код [https://github.com/allatambov/PyPerm25/blob/main/01-types-structures.py py]).
 +
* [https://pythontutor.com/render.html#mode=display Визуализатор] кода от Pythontutor.
 +
 
 +
=== Самостоятельное изучение 1 ===
 +
 
 +
* Описательные статистики ([https://disk.yandex.ru/d/KWNc7Bvqmlc3vw слайды]).
 +
* Цикл for и его аналоги ([https://github.com/allatambov/PyPerm25/blob/main/01-for-and-friends.ipynb ipynb]).
 +
 
 +
=== Неделя 2. Проверка статистических гипотез. Массивы NumPy ===
 +
 
 +
''Обратите внимание: внесены правки в слайды, чтобы логика вычисления статистик совпадала<br>с тем, что принято в функциях Python''
 +
''и общей практике (первая доля минус вторая, не наоборот).<br>''
 +
''Левосторонняя альтернатива H0: p1 < p2, правосторонняя – H1: p1 > p2.''
 +
 
 +
* Проверка статистических гипотез ([https://disk.yandex.ru/d/goVv-gUn-aId-Q слайды])
 +
* Примеры статистических тестов и массивы NumPy (конспект [https://github.com/allatambov/PyPerm25/blob/main/02-stat-tests-upd.ipynb ipynb], код [https://github.com/allatambov/PyPerm25/blob/main/02-stat-tests-upd.py py])
 +
* Выбор статистических тестов для разных задач ([https://github.com/allatambov/PyPerm25/blob/main/info-tests.ipynb ipynb])
 +
 
 +
Дополнительно:
 +
 
 +
* Выборочное оценивание ([https://disk.yandex.ru/d/Tst4_4tXGBpScA слайды])
 +
* [https://allatambov.github.io/twimc/descriptives.pdf Памятка] по описательным статистикам – тут можно почитать поподробнее про ящик с усами.
 +
 
 +
=== Самостоятельное изучение 2 ===
 +
 
 +
* Еще немного про списки vs массивы: [https://github.com/allatambov/PyPerm25/blob/main/03-lists-arrays.ipynb ipynb]
 +
 
 +
=== Неделя 3. Словари и датафреймы Pandas ===
 +
 
 +
* Словарь, Pandas Series, Pandas DataFrame (конспект [https://github.com/allatambov/PyPerm25/blob/main/04-dicts-pandas.ipynb ipynb])
 +
* Работа с датафреймами: часть 1 (конспект [https://github.com/allatambov/PyPerm25/blob/main/04-pandas-part01.ipynb ipynb], данные [https://github.com/allatambov/PyPerm25/blob/main/ab_testing.csv ab_testing.csv.csv])
 +
* Работа с датафреймами: часть 2 (конспект [https://github.com/allatambov/PyPerm25/blob/main/04-pandas-part02.ipynb ipynb], данные [https://github.com/allatambov/PyPerm25/blob/main/hseteachers.csv hseteachers.csv])
 +
 
 +
Дополнительно:
 +
 
 +
* Палитра цветов: [https://coolors.co/palettes/trending coolors.co]
 +
* Про дату время в Python: [https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior документация]
 +
* API ВКонтакте: [https://dev.vk.com/ru/api/api-requests документация], [https://github.com/allatambov/WebScrape25/blob/main/vk-tokens-new.pdf инструкция] по получению доступа, пример выгрузки постов ([https://github.com/allatambov/WebScrape25/blob/main/psy-practice08-solutions.ipynb ipynb])
 +
 
 +
=== Неделя 4. Введение в визуализацию ===
 +
 
 +
* Визуализация данных ([https://disk.yandex.ru/d/UnB4OblNMloLKg слайды])
 +
* Разбор квиза по визуализации ([https://disk.yandex.ru/i/KIWSbUCwLC9Oaw видео])
 +
 
 +
=== Неделя 5. Визуализация с matplotlib ===
 +
 
 +
* Практикум по matplotlib ([https://github.com/allatambov/PyPerm25/blob/main/05-vis-practice.ipynb ipynb]), [https://disk.yandex.ru/i/cOG68ebPvkw-WQ данные].
 +
* Решения практикума ([https://github.com/allatambov/PyPerm25/blob/main/05-vis-practice-solutions.ipynb ipynb]), видеоразбор с №5-№8.
 +
 
 +
Дополнительно:
 +
 
 +
* [https://matplotlib.org/stable/api/patches_api.html Документация] по патчам (patches) в matplotlib.
 +
 
 +
=== Неделя 6. Работа с API и JSON ===
 +
 
 +
=== Недели 7-8. Логистическая регрессия ===
 +
 
 +
Теория:
 +
 
 +
* Логистическая регрессия и оценка качества классификации ([https://disk.yandex.ru/i/z_OwuJfYc_N9Mw слайды])
 +
* Разбор квиза по логистической регрессии ([https://disk.yandex.ru/i/2-khuoLz1biEDQ видео])
 +
 
 +
Практика:
 +
 
 +
* Практикум по логистической регрессии: код 1-3 группы ([https://github.com/allatambov/PyPerm25/blob/main/logit-practice-01-03.ipynb ipynb]), код 2-4 группы ([https://github.com/allatambov/PyPerm25/blob/main/logit-practice-02-04.ipynb ipynb])
 +
* Практикум по логистической регрессии: подробный конспект (ipynb)
 +
 
 +
Дополнительно:
 +
 
 +
*
 +
*
 +
 
 +
=== Недели 9-10. Линейная регрессия ===
 +
 
 +
* Линейная регрессия: краткий теоретический обзор ([https://disk.yandex.ru/i/lrywVL9JMDsBpw слайды])
 +
* Практикум по линейной регрессии: подробный конспект ([https://github.com/allatambov/PyPerm25/blob/main/07-linear-reg.ipynb ipynb])
 +
* Разбор квиза по линейной регрессии ([видео])
 +
 
 +
Дополнительно:
 +
 
 +
* Конспект по линейной регрессии с подробным разбором выдачи и проверки допущений об остатках ([https://github.com/allatambov/StatCS25/blob/main/practice03.ipynb ipynb])
 +
 
 +
== Домашние задания ==
 +
 
 +
* [https://github.com/allatambov/PyPerm25/blob/main/hw01.ipynb Домашнее задание №1], дедлайн 17 мая 23:59 (по Перми)
 +
* [https://github.com/allatambov/PyPerm25/blob/main/hw02.ipynb Домашнее задание №2], дедлайн 17 июня 23:59 (по Перми)
 +
* Домашнее задание №3 (бонусное): TBA

Текущая версия на 01:37, 19 июня 2025

Дорогие студенты!

Это страница обязательного курса «Анализ данных на Python», читаемого на программе «Разработка информационных систем для бизнеса»
2 курса бакалавриата в 4 модуле 2024-2025 учебного года.

Занятия ведут: Николаев Ян Андреевич, Тамбовцева Алла Андреевна.

Правила игры

Формула оценки: 0.6 × ДЗ + 0.15 × Активность + 0.25 × Тест.

Пояснения:

  • ДЗ: мини-проекты, посвященные анализу и визуализации данных, а также сбору и обработке данных.
  • Активность: участие в квизах, опросах и групповых заданиях на семинарах.
  • Тест: итоговый тест с закрытыми и открытыми вопросами по обработке, визуализации и анализу данных.
  • Домашние задания, сданные после срока, оцениваются с использованием понижающих коэффициентов:
    опоздание в пределах часа – штраф 10% от оценки, в пределах суток – штраф 30%.
    Домашние задания, сданные позже, не принимаются и не оцениваются.

Среда для работы

Писать код Python на занятиях и рамках домашних заданий можно в любой среде (PyCharm, Jupyter Notebook, VS и другие).
На занятиях мы будем демонстрировать работу в Jupyter Notebook и PyCharm. Конспекты занятий с кодом будут опубликованы в виде ipynb-файлов на Github. Читать их можно онлайн, открывать с возможностью редактировать – преимущественно через Jupyter Notebook (в PyCharm их поддерживает только платная версия Professional).

  • Если вы планируете работать в Jupyter Notebook, проще всего установить дистрибутив Anaconda (скачать можно здесь), который включает в себя интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных, а также среду разработки Jupyter Notebook. Также есть возможность работать в Jupyter Notebook онлайн, используя ресурс Google Colab (для создания и редактирования файлов нужен аккаунт Gmail). Подробности по работе – см. ниже в неделе 0.
  • Если вы планируете работать в PyCharm, эту среду можно скачать по ссылке, бесплатная версия Community.

Материалы курса

Неделя 0. Про Python и Jupyter Notebook

Дополнительно:

Неделя 1. Шкалы данных. Индексируемые структуры данных

Самостоятельное изучение 1

  • Описательные статистики (слайды).
  • Цикл for и его аналоги (ipynb).

Неделя 2. Проверка статистических гипотез. Массивы NumPy

Обратите внимание: внесены правки в слайды, чтобы логика вычисления статистик совпадала
с тем, что принято в функциях Python
и общей практике (первая доля минус вторая, не наоборот).
Левосторонняя альтернатива H0: p1 < p2, правосторонняя – H1: p1 > p2.

  • Проверка статистических гипотез (слайды)
  • Примеры статистических тестов и массивы NumPy (конспект ipynb, код py)
  • Выбор статистических тестов для разных задач (ipynb)

Дополнительно:

  • Выборочное оценивание (слайды)
  • Памятка по описательным статистикам – тут можно почитать поподробнее про ящик с усами.

Самостоятельное изучение 2

  • Еще немного про списки vs массивы: ipynb

Неделя 3. Словари и датафреймы Pandas

  • Словарь, Pandas Series, Pandas DataFrame (конспект ipynb)
  • Работа с датафреймами: часть 1 (конспект ipynb, данные ab_testing.csv.csv)
  • Работа с датафреймами: часть 2 (конспект ipynb, данные hseteachers.csv)

Дополнительно:

Неделя 4. Введение в визуализацию

  • Визуализация данных (слайды)
  • Разбор квиза по визуализации (видео)

Неделя 5. Визуализация с matplotlib

  • Практикум по matplotlib (ipynb), данные.
  • Решения практикума (ipynb), видеоразбор с №5-№8.

Дополнительно:

Неделя 6. Работа с API и JSON

Недели 7-8. Логистическая регрессия

Теория:

  • Логистическая регрессия и оценка качества классификации (слайды)
  • Разбор квиза по логистической регрессии (видео)

Практика:

  • Практикум по логистической регрессии: код 1-3 группы (ipynb), код 2-4 группы (ipynb)
  • Практикум по логистической регрессии: подробный конспект (ipynb)

Дополнительно:

Недели 9-10. Линейная регрессия

  • Линейная регрессия: краткий теоретический обзор (слайды)
  • Практикум по линейной регрессии: подробный конспект (ipynb)
  • Разбор квиза по линейной регрессии ([видео])

Дополнительно:

  • Конспект по линейной регрессии с подробным разбором выдачи и проверки допущений об остатках (ipynb)

Домашние задания