Науки о данных: различия между версиями

Материал из MathINFO
Перейти к навигации Перейти к поиску
 
(не показано 8 промежуточных версий 2 участников)
Строка 35: Строка 35:
  
 
===Занятие 3: Ввод-вывод списков, проверка условий, цикл <code>while</code>===
 
===Занятие 3: Ввод-вывод списков, проверка условий, цикл <code>while</code>===
* Ввод-вывод списков, проверка условий, цикл <code>while</code>: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%203.ipynb конспект]], [http://www.youtube.com/watch?v=uzgaCV8KZA0 видео]
+
* Ввод-вывод списков, проверка условий, цикл <code>while</code>: [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%203.ipynb конспект], [http://www.youtube.com/watch?v=uzgaCV8KZA0 видео]
 
** Дополнение: PT [http://pythontutor.ru/lessons/lists/#section_2 split и join], [http://pythontutor.ru/lessons/ifelse/ if], [http://pythontutor.ru/lessons/while/ while]
 
** Дополнение: PT [http://pythontutor.ru/lessons/lists/#section_2 split и join], [http://pythontutor.ru/lessons/ifelse/ if], [http://pythontutor.ru/lessons/while/ while]
  
Строка 62: Строка 62:
 
===Занятие 7: Работа с файлами===
 
===Занятие 7: Работа с файлами===
 
* [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%207.ipynb#%D0%A4%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D1%8B%D0%B9-%D0%B2%D0%B2%D0%BE%D0%B4-%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4 конспект].
 
* [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%207.ipynb#%D0%A4%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D1%8B%D0%B9-%D0%B2%D0%B2%D0%BE%D0%B4-%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4 конспект].
** Дополнение: [https://docs.python.org/3/tutorial/inputoutput.html Официальная документация]](англ.)
+
** Дополнение: [https://docs.python.org/3/tutorial/inputoutput.html Официальная документация](англ.)
  
 
===Занятие 8: Numpy и картинки===
 
===Занятие 8: Numpy и картинки===
Строка 178: Строка 178:
 
==Проекты==
 
==Проекты==
 
===Весенний проект===
 
===Весенний проект===
* [[критерии]] (срок сдачи: 15 апреля, 23:00)
+
* [[/Весенний проект]] (срок сдачи: 15 апреля, 23:00)
  
 
Примеры хороших работ:
 
Примеры хороших работ:
  
 
* [https://nbviewer.jupyter.org/url/math-info.hse.ru/f/2018-19/nes-ds/spring-projects/anna-schetkina.ipynb PhD Guide Project], автор Анна Щёткина.
 
* [https://nbviewer.jupyter.org/url/math-info.hse.ru/f/2018-19/nes-ds/spring-projects/anna-schetkina.ipynb PhD Guide Project], автор Анна Щёткина.
 +
* [https://nbviewer.jupyter.org/url/math-info.hse.ru/f/2018-19/nes-ds/spring-projects/anna-sevostyanova.ipynb IMDB Project], автор Анна Севостьянова.
 +
* [https://nbviewer.jupyter.org/url/math-info.hse.ru/f/2018-19/nes-ds/spring-projects/daniil-bushuev/project%20v1.2.ipynb Проект Даниила Бушуева] (несколько разных тем).
 +
* [http://math-info.hse.ru/f/2018-19/nes-ds/spring-projects/anastasia-sochenko.zip Проект-визуализация данных о космических объектах], автор Анастасия Соченко.
 +
* [http://math-info.hse.ru/f/2018-19/nes-ds/spring-projects/igor-karpov.zip Статистика по всеросу], автор Игорь Карпов.
 +
* [http://math-info.hse.ru/f/2018-19/nes-ds/spring-projects/andrej-pershkhajlo.zip Оценка качестве пешеходной инфраструктуры], автор Андрей Першхайло.
  
 
===Летний проект===
 
===Летний проект===
* [[критерии]] (срок сдачи: 12 июня, 23:00)
+
* [[/Летний проект]] (срок сдачи: 12 июня, 23:00)
  
 
==Данные==
 
==Данные==

Текущая версия на 15:08, 4 мая 2020

Курс ведёт Илья Щуров.


Содержание

Инструменты

Python

Мы используем Python версии 3 и оболочку Jupyter (ранее известную как IPython Notebook). Чтобы их установить, проще всего скачать пакет Anaconda]. Обратите внимание: вам нужна версия с Python 3.x (в настоящее время — Python 3.7).

После установки Anaconda у вас появится:

  • Под Windows: в меню «Пуск» пункт «Anaconda», в нём подпункт «IPython Notebook».
  • Под Mac OS X: приложение Anaconda Launcher, в нём пункт ipython-notebook.

После запуска IPython Notebook у вас откроется окно браузера (и лучше пусть это будет не Internet Explorer, под ним IPython Notebook работает с некоторым скрипом, а иногда не работает) со списком файлов. В нём надо выбрать New → Python 3. Откроется новая вкладка браузера, в ней будет запущен пустой notebook, состоящий из отдельных ячеек (cells). В ячейку с кодом можно вписать код и нажать Shift+Enter — он выполнится и вам покажут тут же результат.

Для установки дополнительных пакетов вам необходимо открыть консоль (это может быть Anaconda Prompt под Windows или стандартный «Терминал» под Mac OS или Linux) и набрать команду conda install <название пакета> или pip install <название пакета> (например, conda install seaborn).

Вы также можете использовать Google Colaboratory] (но интерфейс там будет немножко отличаться от интерфейса Jupyter).

Работа с ipynb-файлами

Мы выкладываем материалы курса в виде ipynb-файлов. По ссылкам ниже вы можете просмотреть эти файлы. Если вы хотите открыть этот файл у себя, то вам необходимо скачать его (нажав на иконку в правом верхнем углу страницы с лекцией) и положить в каталог, из которого Jupyter открывает ноутбуки: например, воспользовавшись кнопкой Upload в самом Jupyter (на экране со списком файлов). Также этот каталог можно найти по строчке Serving notebooks from local directory: /home/user/IPython, появляющейся в чёрненьком окошке при запуске Jupyter; здесь /home/user/IPython — искомый путь.

Материалы

Занятие 1: Первое знакомство

Занятие 2: Списки и цикл for

Занятие 3: Ввод-вывод списков, проверка условий, цикл while

Занятие 4: Функции

Занятие 5: Списковые включения, zip, двумерные массивы и словари

Занятие 6: Сортировка

Занятие 7: Работа с файлами

Занятие 8: Numpy и картинки

Занятие 9: Введение в Pandas

Занятие 10: примеры использования pandas

Занятие 11: продвинутые возможности pandas

Занятие 12: ещё о pandas

Занятия 13 и 14: веб-скреппинг

Занятие 15: продвинутый скреппинг: RoboBrowser и Selenium

  • Извлечение данных с помощью RoboBrowser: конспект,
    • Оригинальная документация (англ.): RoboBrowser

Занятие 16: REST API: XML/JSON

Занятие 17: немного о математике и визуализациях

  • SymPy (символьные вычисления в Python): официальная документация

Занятие 18: ещё немного о математике о визуализациях

Часть 2

Занятие 19: введение в R

Занятие 20: tidyverse

  • Установка tidyverse: install.packages("tidyverse"). Возможно, вам придётся установить переменную окружения R_LIB_USER, чтобы она указывала на какой-нибудь каталог, в который вы имеете право записывать файлы (туда будут устанавливаться библиотеки).
  • tidyr (заблокировано в РФ): gather и spread.

Занятие 21: ggplot2

  • Что было на занятиях: R Notebook.

Занятие 22: регулярные выражения

  • regex101 — визуальный отладчик регулярных выражений.

Занятия 23-25: SQL

  • SQL Tutorial (W3Schools) — я в основном следовал этому тьюториалу.
  • Библиотека sqlite3 в Python.

Занятие 26: объектно-ориентированное программирование

Занятие 27: SQLAlchemy

Занятие 28: элементы обработки естественного языка

Проекты

Весенний проект

Примеры хороших работ:

Летний проект

Данные