Анализ данных в Python 2019-2020 — различия между версиями
Rogovich (обсуждение | вклад) |
Rogovich (обсуждение | вклад) |
||
(не показано 58 промежуточных версии этого же участника) | |||
Строка 2: | Строка 2: | ||
"Анализ данных в Python" читается на 4 курсе, в 1 и 2 модуле. | "Анализ данных в Python" читается на 4 курсе, в 1 и 2 модуле. | ||
− | * [https://www.hse.ru/ | + | * [https://www.hse.ru/data/2019/09/02/1491356826/program-2879568678-bD4RLR88_q.pdf Карточка курса и программа] |
* [https://t.me/pol_2019_data_analysis_in_python Чат курса в Telegram] | * [https://t.me/pol_2019_data_analysis_in_python Чат курса в Telegram] | ||
Строка 23: | Строка 23: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | ! | + | ! Дата !! № !! Блокноты !! Данные !! Доп. материалы |
|- | |- | ||
− | || | + | || 11 сентября || Введение. Refresher: синтаксис Python для анализа данных || [https://nbviewer.jupyter.org/github/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/1week_Syntax_Refresher/1_Refresher_revised.ipynb Week 1 Python Syntax Refresher]|| [http://www.py4inf.com/code/mbox.txt Mbox]|| [http://math-info.hse.ru/2018-19/%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B2_Python Вики-страница курса "Основы программирования в Python"] [https://courses.openedu.ru/courses/course-v1:hse+PYTHON+fall_2019/info Курс "Python для обработки и извлечения данных"] [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%205.ipynb Блокнот И. Щурова про словари, списковые включения, функцию map] |
|- | |- | ||
+ | || 18 сентября || Введение в pandas: загружаем, фильтруем и агрегируем данные. || [https://nbviewer.jupyter.org/github/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/2week_Pandas_Intro_Titanic/2_Pandas_Intro.ipynb Week 2: Pandas Intro (Titanic)] || [https://raw.githubusercontent.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/master/2week_Pandas_Intro_Titanic/train.csv Данные Titanic] || [https://pandas.pydata.org/ Документация Pandas] [https://pandas.pydata.org/pandas-docs/stable/getting_started/10min.html 10 min intro to Pandas] [https://pandas.pydata.org/Pandas_Cheat_Sheet.pdf Pandas Cheat Sheet] | ||
+ | |- | ||
+ | || 25 сентября || Продолжаем с Pandas. Знакомимся с Kaggle. Работаем с датами в Pandas. Упражнения || [https://nbviewer.jupyter.org/github/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/3week_Pandas_Kaggle_DataTime/3week_Titanic_Kaggle_Predictions.ipynb Week 3 Titanic Basic Predictions Kaggle] | ||
+ | [https://nbviewer.jupyter.org/github/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/3week_Pandas_Kaggle_DataTime/3week_Pandas_Datetime.ipynb Week 3 DateTime] | ||
+ | || [https://raw.githubusercontent.com/justmarkham/pandas-videos/master/data/ufo.csv Данные для Datetime] [https://github.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/tree/master/3week_Pandas_Kaggle_DataTime Данные для Титаника] | ||
+ | || [https://nbviewer.jupyter.org/github/Yorko/mlcourse.ai/blob/master/jupyter_russian/topic01_pandas_data_analysis/topic1_habr_pandas.ipynb ODS Первичный анализ данных в Python (Telecom Churn)] | ||
+ | |- | ||
+ | || 2 октбяря || Самостоятельная работа || || || | ||
+ | |- | ||
+ | || 16 октября || Упражнения по Pandas. Разбираем кейс с парсингом почтовых адресов с помощью регулярных выражений || [https://nbviewer.jupyter.org/github/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/5week_Pandas_Exercises/5week_Emails_parsing.ipynb Emails] [https://nbviewer.jupyter.org/github/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/5week_Pandas_Exercises/5Week_Exercise_MLopen_Olympics.ipynb Pandas Упражнения] [https://nbviewer.jupyter.org/github/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/5week_Pandas_Exercises/5week_Exercise_MLopen_Olympics_Solution.ipynb Упражнения с решением] || [https://raw.githubusercontent.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/master/5week_Pandas_Exercises/data_contacts.csv Данные для email] [https://raw.githubusercontent.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/master/5week_Pandas_Exercises/athlete_events.csv Данные для упражнений]|| | ||
+ | [https://nbviewer.jupyter.org/github/Yorko/mlcourse.ai/blob/master/jupyter_english/assignments_demo/assignment02_analyzing_cardiovascular_desease_data.ipynb?flush_cache=true Для тех, кто справился с "олимпийским" заданием] [https://jakevdp.github.io/PythonDataScienceHandbook/03.11-working-with-time-series.html Pandas Datetime like a pro] | ||
+ | |- | ||
+ | || 30 октября || Визуализация данных в matplotlib. || [https://nbviewer.jupyter.org/github/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/7week_Viz_Matplotlib/7week_Viz_Matplotlib_1.ipynb Визуализация данных в Matplotlib] || [https://github.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/tree/master/7week_Viz_Matplotlib Данные] [https://www.ssa.gov/oact/babynames/limits.html Данные по именам детей] || | ||
+ | |- | ||
+ | || 5 - 6 ноября || Визуализация данных в Matplotlib (продолжение). Введение в Plotly || [https://nbviewer.jupyter.org/github/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/9week_Viz_Matplotlib_Plotly/9week_Viz_Matplotlib_2.ipynb Matplotlib (continued)] [https://nbviewer.jupyter.org/github/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/9week_Viz_Matplotlib_Plotly/9week_Viz_Plotly.ipynb Plotly*] || [https://raw.githubusercontent.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/master/9week_Viz_Matplotlib_Plotly/filmdeathcounts.csv Данные про фильмы] [[https://github.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/tree/master/7week_Viz_Matplotlib Данные для Plotly] [https://raw.githubusercontent.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/master/9week_Viz_Matplotlib_Plotly/iris.csv Ирисы] || [https://raw.githubusercontent.com/plotly/datasets/master/Nuclear%20Waste%20Sites%20on%20American%20Campuses.csv Данные для карты] | ||
+ | |- | ||
+ | || 12 ноября || Spiderchart в Plotly. Scraping || [https://github.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/11week_Viz_Spiderchart_Scraping/11week_Vis_Plotly_Spiderchart.ipynb Plotly Spiderchart] || [https://raw.githubusercontent.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/master/11week_Viz_Spiderchart_Scraping/countries_ranking.txt Spiderchart Данные] [https://en.wikipedia.org/wiki/List_of_nuclear_weapons_tests Wiki для скрэйпинга] || [https://github.com/rogovich/2019_HSE_DPO_Python_for_data_analysis/blob/master/lectures-seminars/11-06-2019_Plotly_Scraping/11-06-2019_Html_Refresher.ipynb html refresher] [https://github.com/rogovich/2019_HSE_DPO_Python_for_data_analysis/blob/master/lectures-seminars/11-06-2019_Plotly_Scraping/11-06-2019_Web_Scrape_nplus1.ipynb nplus 1 scraping] | ||
+ | |- | ||
+ | || 13 ноября || Scraping. Regex || [https://github.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/11week_Viz_Spiderchart_Scraping/11week_Scraping_Table.ipynb Скрейпинг вики-таблицы] [https://github.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/11week_Viz_Spiderchart_Scraping/11week_Scraping_DownloadingFiles.ipynb Сохраняем файлы и переходим по страницам] [https://github.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/11week_Regex/11-13-2019_Regex.ipynb Регулярные выражения] || || [https://github.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/11week_Regex/11-13-2019_Regex_Exercises.ipynb Regex упражнения] | ||
+ | |- | ||
+ | || 19 ноября || Введение в ML. Реализация KNN ||[https://docs.google.com/presentation/d/1EIUKdPijxgJ5A_z2gQUNLQAxeEoDVo1thommIqOBotI/edit?usp=sharing Презентация по ML, KNN и решающим деревьям] [https://github.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/12week_ML_Intro/12week_Classes_KNN.ipynb Реализация метода KNN] || [https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data Ирисы] || | ||
+ | |- | ||
+ | || 20 ноября - 24 ноября || Разведывательный анализ данных. Решающие деревья. Случайный лес || [https://github.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/12week_ML_Intro/12week_House_Data_EDA.ipynb Разведывательный анализ Housing Data] [https://github.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/12week_ML_Intro/12week_ML_Intro_DecisionTree_RandomForest.ipynb Решающие деревья и случайный лес Housing data] || [https://raw.githubusercontent.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/master/12week_ML_Intro/house_data.csv Housing Data] || [http://www.r2d3.us/visual-intro-to-machine-learning-part-1/ Визуальное объяснение решающих деревьев] | ||
+ | |- | ||
+ | || 26 ноября || Предобработка текстовых данных. Классификация текстов. || [https://github.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/13week_ML_Text/13week_Text_Classification.ipynb Блокнот по классификации текстов] || [https://docs.google.com/presentation/d/1tOtw5p2r0U7UeE9etGJzeaT_AGjpRM04g6xuAL81LjI/edit?usp=sharing Презентация] || [https://raw.githubusercontent.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/master/13week_ML_Text/fake_or_real_news.csv Fake News] || | ||
+ | |- | ||
+ | || 4 декабря || Выбор модели. Кросс-валидация и поиск параметров по сетке. || [https://github.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/14week_LDA_Titanic/14week_Model_Selection_Full.ipynb Титаник: подготовка данных и выбор модели. Кросс-валидация и подбор параметров по сетке] || [https://docs.google.com/presentation/d/1dvIXrKBZis2dUV4QR4nn3RPpuVW_oTFi7BmzurrX_hU/edit?usp=sharing Презентация: наивный байес]|| | ||
+ | |- | ||
+ | || 11 декабря || Обучение без учителя: кластеризация и LDA для текстов || [https://docs.google.com/presentation/d/1hd7vq7xDFOtDwvSUMyVCcezKHUE52uvs6b5AU6MTxMc/edit?usp=sharing Презентация: кластеризация и LDA]|| || [https://raw.githubusercontent.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/master/15week_Clustering_LDA/DahlDims.csv Данные по странам] | ||
|} | |} | ||
+ | *Для того, чтобы графики отображались - скачайте блокнот и откройте его в Jupyter Notebook. | ||
===Контрольные работы и домашние задания === | ===Контрольные работы и домашние задания === | ||
Строка 35: | Строка 65: | ||
! Дата !! Тема !! Файлы !! Оценки | ! Дата !! Тема !! Файлы !! Оценки | ||
|- | |- | ||
− | | | + | | 2.10 13.40 || Контрольная работа по синтаксису Python для решения задач || [https://github.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/Tests/Python%20Test%20Training/HSE_POL_2019_Test_Training_8Sep.ipynb Пробный вариант] || |
|- | |- | ||
− | | | + | | 6.11 13.40|| Контрольная работа по работе с данными в pandas || || |
|- | |- | ||
− | | | + | | 25.11 23.59 || Домашнее задание 1: сбор, анализ и визуализация данных || [https://docs.google.com/document/d/1cYtkPh11xbMIT6wEsgamx9T_n7gr2zsDro_rpd_sRMs/edit?usp=sharing ДЗ1]Решения загружать в ЛМС|| [https://docs.google.com/spreadsheets/d/1x3BnN79HxB6DxYoGqHz030QhgmcGDhwPCFDeY4S_Qdg/edit?usp=sharing Оценки] |
|- | |- | ||
− | | TBA || Домашнее задание 2: | + | | TBA || Домашнее задание 2: обработка и анализ текста || [https://docs.google.com/document/d/19r_XWUJvVy0kfZMA1vz1624zop4IjG581nWS8VV82IU/edit?usp=sharing ДЗ2] [https://www.youtube.com/watch?v=DKGmFZgR8K8&feature=youtu.be Настройка параметров на collab и загрузка файлов] Kaggle&LMS || |
|} | |} | ||
+ | |||
+ | ===Дополнительные баллы === | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Задание !! Дедлайн !! Файлы !! Условия зачета | ||
+ | |- | ||
+ | | Задание 1 || 25.09 23.59 || [https://github.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/%40Bonus/1/Bonus_1_25Sep.ipynb Задание 1] || Правильно решить 10/11 задач | ||
+ | |- | ||
+ | | Задание 2 || 9.10 23.59 || DataCamp курса || Пройти курс по Pandas | ||
+ | |- | ||
+ | | Задание 3 || 16.10 23.59 || DataCamp || Два проекта в Pandas | ||
+ | |- | ||
+ | | Задание 4 || 27.10 23.59 || DataCamp || Пройти курс по Pandas-2 | ||
+ | |- | ||
+ | | Задание 5-6 || 13.11 23.59 || ЛМС || [https://github.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/%40Bonus/5/Bonus_5_13Nov.ipynb Задания по визуализации данных (2.25 балла)] | ||
+ | |- | ||
+ | | Задание 7 || 20.11 23.59 || DataCamp || Курс по слиянию и преобразованию таблиц (1 балл) | ||
+ | |- | ||
+ | | Задание 8-9 || 4.12 23.59 || DataCamp || Курс по предобработке данных для машинного обучения (2 балла) | ||
+ | |- | ||
+ | | Задание 10 || 11.12.23.59 || DataCamp || [https://www.datacamp.com/projects/38 Проект по МобиДику]. Html файл выполненного блокнота принимается в ЛМС (0.75 балла) | ||
+ | |- | ||
+ | | Задание 11 || 18.12.23.59 || DataCamp || Пройти курс на DataCamp по Supervised Machine Learning (1 балл) | ||
+ | |||
+ | |} | ||
+ | |||
+ | [https://docs.google.com/spreadsheets/d/1x3BnN79HxB6DxYoGqHz030QhgmcGDhwPCFDeY4S_Qdg/edit?usp=sharing Дополнительные баллы. Ведомость] | ||
+ | |||
+ | Всего за семестр будет дано 10 небольших заданий. У каждого свой дедлайн. | ||
+ | Задания будут выложены на вики и в ЛМС, решенные блокноты принимаются в ЛМС. После дедлайна задания не принимаются. | ||
+ | В качестве некоторых заданий будет предложено пройти часть онлайн курса или выполнить его задания. | ||
+ | Оценка за задание не ставится, задание считается выполненным, если оно выполено на 100% (допускаются небольшие помарки, в этом случае выполнение засчитывается на усмотрение преподавателя). | ||
+ | |||
+ | Дополнительные баллы рассчитываются по следующей формуле: | ||
+ | |||
+ | * 11: 3 балла | ||
+ | * 8+: 2 балла | ||
+ | * 5-7: 1 балл | ||
+ | * <5: 0 баллов | ||
+ | |||
+ | Баллы прибавляются к итоговой оценке до округления. | ||
===Экзамен=== | ===Экзамен=== | ||
− | + | [https://docs.google.com/document/d/1IROnhmJdstGpaK9qR4naLTuwHW20YLg6QKV_jvJvIIs/edit?usp=sharing Требования к проекту и дедлайны] | |
+ | |||
+ | [https://github.com/rogovich/2019-2020_PolSci_Data_Analysis_in_Python/blob/master/15week_Clustering_LDA/2019_POL_projectchecklist.pdf Check List для проекта] | ||
===Оценка=== | ===Оценка=== |
Текущая версия на 21:58, 10 декабря 2019
Содержание
О курсе
"Анализ данных в Python" читается на 4 курсе, в 1 и 2 модуле.
Преподаватель
Рогович Татьяна Владимировна
Ассистент
Инсан-Александр Латыпов
@Le_Figaro в Telegram
Материалы курса
Дистрибутив для установки Anaconda на собственные компьютеры
Пожалуйста, устанавливайте версию Python 3.7 и выше.
Лекции и семинары
Лекции и семинары
- Для того, чтобы графики отображались - скачайте блокнот и откройте его в Jupyter Notebook.
Контрольные работы и домашние задания
Дата | Тема | Файлы | Оценки |
---|---|---|---|
2.10 13.40 | Контрольная работа по синтаксису Python для решения задач | Пробный вариант | |
6.11 13.40 | Контрольная работа по работе с данными в pandas | ||
25.11 23.59 | Домашнее задание 1: сбор, анализ и визуализация данных | ДЗ1Решения загружать в ЛМС | Оценки |
TBA | Домашнее задание 2: обработка и анализ текста | ДЗ2 Настройка параметров на collab и загрузка файлов Kaggle&LMS |
Дополнительные баллы
Задание | Дедлайн | Файлы | Условия зачета |
---|---|---|---|
Задание 1 | 25.09 23.59 | Задание 1 | Правильно решить 10/11 задач |
Задание 2 | 9.10 23.59 | DataCamp курса | Пройти курс по Pandas |
Задание 3 | 16.10 23.59 | DataCamp | Два проекта в Pandas |
Задание 4 | 27.10 23.59 | DataCamp | Пройти курс по Pandas-2 |
Задание 5-6 | 13.11 23.59 | ЛМС | Задания по визуализации данных (2.25 балла) |
Задание 7 | 20.11 23.59 | DataCamp | Курс по слиянию и преобразованию таблиц (1 балл) |
Задание 8-9 | 4.12 23.59 | DataCamp | Курс по предобработке данных для машинного обучения (2 балла) |
Задание 10 | 11.12.23.59 | DataCamp | Проект по МобиДику. Html файл выполненного блокнота принимается в ЛМС (0.75 балла) |
Задание 11 | 18.12.23.59 | DataCamp | Пройти курс на DataCamp по Supervised Machine Learning (1 балл) |
Дополнительные баллы. Ведомость
Всего за семестр будет дано 10 небольших заданий. У каждого свой дедлайн. Задания будут выложены на вики и в ЛМС, решенные блокноты принимаются в ЛМС. После дедлайна задания не принимаются. В качестве некоторых заданий будет предложено пройти часть онлайн курса или выполнить его задания. Оценка за задание не ставится, задание считается выполненным, если оно выполено на 100% (допускаются небольшие помарки, в этом случае выполнение засчитывается на усмотрение преподавателя).
Дополнительные баллы рассчитываются по следующей формуле:
- 11: 3 балла
- 8+: 2 балла
- 5-7: 1 балл
- <5: 0 баллов
Баллы прибавляются к итоговой оценке до округления.
Экзамен
Требования к проекту и дедлайны
Оценка
Окончательная оценка = Округление(0.7 * ((КР1 + КР2 + ДЗ1 + ДЗ2) / 4) + 0.3 * Проект + ДБ)
Преподаватель оставляет за собой право устроить устную защиту любой из форм контроля.
Домашнее задание должно быть сдано до установленного дедлайна. В случае сдачи в течение суток после дедлайна, оценка снижается на 1 балл. В случае сдачи в течение недели после дедлайна, оценка снижается на 2 балла. Работы, сданные позже, не принимаются и за них выставляется оценка «0».
Дополнительные баллы. У студентов есть возможность получить до трех дополнительных баллов за выполнение необязательных заданий в течение семестра. Дополнительные баллы учитываются в итоговой оценке до округления с весом 1. Обратите внимания, что дополнительные задания, выполненные в рамках онлайн курса засчитываются только при условии прохождения исключительно с корпоративного почтового адреса студента. Подключение студентов к онлайн курсу на платформе НПОО (https://openedu.ru/) производит Дирекция по онлайн обучению НИУ ВШЭ по заявке администратора учебного офиса образовательной программы. Скрытая сессия для студентов ВШЭ автоматически появляется в личном аккаунте на платформе. Регистрироваться на открытую сессию для всех желающих слушателей нельзя. На платформе DataCamp слушатели приглашаются в специальную сессию, созданную преподавателем курса.
Список рекомендуемых материалов
Линейная алгебра и статистика
- Hastie, Tibshirani, Friedman. (2009). The Elements of Statistical Learning: Data Mining, Inference, and Prediction.
- Lavine. (2013). Introduction to Statistical Thought
- MIT Open course: Linear Algebra by Strang
Python
- Pandas Cheat Sheet
- Python RegExp Cheat Sheet
- O'Reilly: Python for Data Analysis
- Базовый курс по программированию на Stepik
Machine learning
- Bishop. (2006). Pattern Recognition and Machine Learning
- Курс по машинному обучению К.В. Воронцова
- Coursera: Machine Learning by Andrew Ng
- O'Reilly: Machine Learning for Hackers
Материала по ML
- Simple Decision Tree
- Andreas C. Müller, Sarah Guido. Introduction to Machine Learning with Python: A Guide for Data Scientists
Статистика
- Бослав С. Статистика для всех (Есть в библиотеке)
- Gravetter F, Wallnau L. Statistics for behavioral sciences (Есть в библиотеке)