Извлечение и анализ интернет-данных — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
м
Строка 22: Строка 22:
 
'''Вопросы''' по курсу можно задавать на почту курса, а также в телеграм лектору (esokolov@) или семинаристу.
 
'''Вопросы''' по курсу можно задавать на почту курса, а также в телеграм лектору (esokolov@) или семинаристу.
 
Вопросы по материалам лекций/семинаров и по заданиям лучше всего оформлять в виде [https://github.com/esokolov/ml-course-hse/issues Issue] в [https://github.com/esokolov/ml-course-hse github-репозитории курса].
 
Вопросы по материалам лекций/семинаров и по заданиям лучше всего оформлять в виде [https://github.com/esokolov/ml-course-hse/issues Issue] в [https://github.com/esokolov/ml-course-hse github-репозитории курса].
 
=== Семинары ===
 
 
{| class="wikitable"
 
|-
 
! Группа !! Преподаватель !! Учебный ассистент !! Страница !! Расписание
 
|-
 
| 151 (МОП) || [https://www.hse.ru/org/persons/165212870 Зиннурова Эльвира Альбертовна] || Атанов Андрей || || пятница, 12:10 - 13:30, ауд. 300
 
|-
 
| 152 (МОП) || [https://www.hse.ru/org/persons/191263008 Неклюдов Кирилл Олегович] || Гадецкий Артём || || понедельник, 15:10 - 16:30, ауд. 505
 
|-
 
| 153 (АПР) || Никишин Евгений Сергеевич || Ковалёв Евгений || || пятница, 12:10 - 13:30, ауд. 322
 
|-
 
| 154 (АДИС) || Каюмов Эмиль Марселевич || Панков Алексей || || пятница, 12:10 - 13:30, ауд. 501
 
|-
 
| 155 (РС) || [https://www.hse.ru/org/persons/192085968 Яшков Даниил Дмитриевич] || [https://t.me/despairazure Кохтев Вадим] ||  || понедельник, 12:10 - 13:30, ауд. 513
 
|-
 
| 156 (ТИ) || [https://www.hse.ru/org/persons/141880775 Умнов Алексей Витальевич] || Шевченко Александр || [[Машинное обучение 1/156 | ссылка]]|| пятница, 15:10 - 16:30, ауд. 311
 
|-
 
| Магистратура ФТиАД || [https://www.hse.ru/org/persons/191576735 Чиркова Надежда Александровна] || Першин Максим ||  ||
 
|-
 
|}
 
 
=== Консультации ===
 
  
 
=== Правила выставления оценок ===
 
=== Правила выставления оценок ===
 
В курсе предусмотрено несколько форм контроля знания:
 
* Самостоятельные работы на семинарах, проверяющие знание основных фактов с лекций
 
* Теоретические домашние работы и их защиты
 
* Практические домашние работы на Python
 
* Контрольные работы
 
* Письменный экзамен
 
  
 
Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:
 
Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:
Строка 73: Строка 42:
  
 
При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён (при этом получить дополнительные баллы за призовые места на конкурсе можно только при участии в общий срок). Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.
 
При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён (при этом получить дополнительные баллы за призовые места на конкурсе можно только при участии в общий срок). Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.
 
== Лекции ==
 
 
'''Лекция 1''' (1 сентября). Введение в машинное обучение. Основные термины, постановки задач и примеры применения. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-fall/lecture-notes/lecture01-intro.pdf Конспект]]
 
 
'''Лекция 2''' (8 сентября). Линейная регрессия. Метрики качества регрессии. Градиентный спуск и способы оценивания градиента. Продвинутые градиентные методы. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-fall/lecture-notes/lecture02-linregr.pdf Конспект]]
 
  
 
== Семинары ==
 
== Семинары ==
 +
Тема 1. Основы анализа данных в языке Python:
 +
Повторение основных функций и объектов языка Python. Обзор библиотек numpy, pandas на основе данных из соревнований платформы kaggle.com.
  
'''Семинар 1'''. Постановки задач, примеры применения, инструменты. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-fall/seminars/sem01-intro.ipynb Ноутбук с семинара]] [[https://github.com/esokolov/ml-course-hse/blob/master/2017-fall/seminars/sem01-tools.ipynb Ноутбук для самостоятельного изучения]]
+
Тема 2. Визуализация данных в python: библиотеки matplotlib, seaborn, plotly. Продвинутые инструменты для анализа данных.  
 +
Введение в визуальный анализ данных. Построение графиков, гистограмм, тепловых карт. Знакомство с порталом Открытых данных.  
  
'''Семинар 2'''. Векторное дифференцирование. Линейная регрессия, аналитическое и численное решение. Свойства градиента. Сравнение градиентного спуска и стохастического градиентного спуска. Scikit-learn. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-fall/seminars/sem02-linregr-part1.pdf Конспект]] [[https://github.com/esokolov/ml-course-hse/blob/master/2017-fall/seminars/sem02-linregr-part2.ipynb Notebook]] [[https://github.com/esokolov/ml-course-hse/blob/master/2017-fall/homeworks-theory/homework-theory-01-linregr.pdf Домашнее задание]]
+
Тема 3. Парсинг открытых данных в различных форматах (xml/json/html)
 
+
Изучение языков и библиотек для работы с xml/json/html: lxml, XPath, XSLT, Beautiful Soup.
'''Семинар 3'''. Предобработка данных для линейных моделей. Функции потерь в линейной регрессии. Вероятностный взгляд на линейную регрессию. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-fall/seminars/sem03-linregr-loss_funcs.ipynb Notebook]]
+
Тема 4. Основы машинного обучения и практика применения
 +
Приведение текстовых данных к числовым с помощью OneHot- и TF-IDF кодирования, а также на основе представлений слов и текстов. Алгоритмы машинного обучения: линейная и логистическая регрессии, градиентный бустинг и нейронные сети.
 +
Тема 5. Извлечение данных сайта Вконтакте и изучение влияния социальных сетей на поведение в реальной жизни.
 +
Изучаем возможности API сайта Вконтакте. Извлекаем информацию об интересах и демографии пользователей, на основании списка групп и поля “интересы”. Изучаем взаимосвязь интересов школьников с оценками.
  
 +
Тема 6. Извлечение и анализ данных Московской биржи
 +
Анализируем рынок ценных бумаг на данных Московской биржи.
  
 
== Практические задания ==
 
== Практические задания ==
  
'''Задание 1.''' Библиотека numpy и работа с данными.
 
 
Дата выдачи: 18.09.2017
 
 
Мягкий дедлайн: 01.10.2017 23:59MSK
 
 
Жесткий дедлайн: 08.10.2017 23:59MSK.
 
 
За каждый день просрочки после мягкого дедлайна снимается 1 балл. После жёсткого дедлайна работы не принимаются.
 
 
[https://github.com/esokolov/ml-course-hse/blob/master/2017-fall/homeworks-practice/homework-practice-01.ipynb Условие],
 
[https://github.com/esokolov/ml-course-hse/blob/master/2017-fall/homeworks-practice/homework-practice-01.zip архив с условием и шаблонами],
 
[https://official.contest.yandex.ru/contest/5016/problems/ соревнование в Яндекс.Контесте].
 
  
 
== Полезные материалы ==
 
== Полезные материалы ==
===Книги===
 
* Hastie T., Tibshirani R, Friedman J. The Elements of Statistical Learning (2nd edition). Springer, 2009.
 
* Bishop C. M. Pattern Recognition and Machine Learning. Springer, 2006.
 
* Mohri M., Rostamizadeh A., Talwalkar A. Foundations of Machine Learning. MIT Press, 2012.
 
* Murphy K. Machine Learning: A Probabilistic Perspective. MIT Press, 2012.
 
* Mohammed J. Zaki, Wagner Meira Jr. Data Mining and Analysis. Fundamental Concepts and Algorithms. Cambridge University Press, 2014.
 
* Willi Richert, Luis Pedro Coelho. Building Machine Learning Systems with Python. Packt Publishing, 2013.
 
 
===Курсы по машинному обучению и анализу данных===
 
* [http://www.machinelearning.ru/wiki/index.php?title=Машинное_обучение_%28курс_лекций%2C_К.В.Воронцов%29 Курс по машинному обучению К.В. Воронцова]
 
* [https://yandexdataschool.ru/edu-process/courses/machine-learning Видеозаписи лекций курса Школы Анализа Данных, К.В. Воронцов]
 
* [https://www.coursera.org/specializations/machine-learning-data-analysis Coursera: Машинное обучение и анализ данных (специализация)]
 
* [https://www.coursera.org/learn/introduction-machine-learning Coursera: Введение в машинное обучение, К.В. Воронцов]
 
 
== Страницы предыдущих лет ==
 
  
[[Машинное_обучение_1/2016_2017 | 2016/2017 учебный год]]
+
- [http://www.swaroopch.com/notes/python/ A Byte of Python]
 +
- [http://greenteapress.com/thinkpython/html/index.html Think Python: How to Think Like a Computer Scientist]
 +
- [Если материал даётся с трудом : ((http://learnpythonthehardway.org/book/ Learn Python the Hard Way]
 +
- [https://docs.python.org/3/ Документация языка]
 +
- [https://speakerdeck.com/pyconslides/transforming-code-into-beautiful-idiomatic-python-by-raymond-hettinger-1 Writing Idiomatic Python]
 +
- [https://pyformat.info/ о строковом методе format доступным языком]
 +
- [https://developers.google.com/edu/python/regular-expressions про регулярки от Гугла]

Версия 20:22, 19 сентября 2017

О курсе

borderless

Курс читается для студентов Экономического факультета. Проводится с 2017 года.

Семинаристы: Денике Екатерина Игоревна Слинько Игорь Юрьевич Семинары проходят по субботам, с 10:30 до 15:00 (16:30) с двумя перерывами.


Полезные ссылки

Почта для сдачи домашних заданий: hsewebmining@gmail.com

Чат в telegram для обсуждений: https://t.me/joinchat/BgyOMg6PNBYFpmHUtbZDTg

Оставить отзыв на курс: форма

Вопросы по курсу можно задавать на почту курса, а также в телеграм лектору (esokolov@) или семинаристу. Вопросы по материалам лекций/семинаров и по заданиям лучше всего оформлять в виде Issue в github-репозитории курса.

Правила выставления оценок

Итоговая оценка вычисляется на основе оценки за работу в семестре и оценки за экзамен:

Oитоговая = 0.7 * Oнакопленная + 0.3 * Оэкз

Оценка за работу в семестре вычисляется по формуле

Oнакопленная = 0.1 * Oсамостоятельные + 0.4 * Опрактические дз + 0.3 * Отеоретические дз + 0.2 * Оконтрольные

Оценка за самостоятельную работу вычисляется как среднее по всем самостоятельным, оценка за домашнюю работу — как среднее по всем практическим заданиям и соревнованиям.

Правила сдачи заданий

Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работа не принимаются.

При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.

При наличии уважительной причины пропущенную проверочную можно написать позднее, а дедлайн по домашнему заданию может быть перенесён (при этом получить дополнительные баллы за призовые места на конкурсе можно только при участии в общий срок). Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.

Семинары

Тема 1. Основы анализа данных в языке Python: Повторение основных функций и объектов языка Python. Обзор библиотек numpy, pandas на основе данных из соревнований платформы kaggle.com.

Тема 2. Визуализация данных в python: библиотеки matplotlib, seaborn, plotly. Продвинутые инструменты для анализа данных. Введение в визуальный анализ данных. Построение графиков, гистограмм, тепловых карт. Знакомство с порталом Открытых данных.

Тема 3. Парсинг открытых данных в различных форматах (xml/json/html) Изучение языков и библиотек для работы с xml/json/html: lxml, XPath, XSLT, Beautiful Soup. Тема 4. Основы машинного обучения и практика применения Приведение текстовых данных к числовым с помощью OneHot- и TF-IDF кодирования, а также на основе представлений слов и текстов. Алгоритмы машинного обучения: линейная и логистическая регрессии, градиентный бустинг и нейронные сети. Тема 5. Извлечение данных сайта Вконтакте и изучение влияния социальных сетей на поведение в реальной жизни. Изучаем возможности API сайта Вконтакте. Извлекаем информацию об интересах и демографии пользователей, на основании списка групп и поля “интересы”. Изучаем взаимосвязь интересов школьников с оценками.

Тема 6. Извлечение и анализ данных Московской биржи Анализируем рынок ценных бумаг на данных Московской биржи.

Практические задания

Полезные материалы

- A Byte of Python
- Think Python: How to Think Like a Computer Scientist
- [Если материал даётся с трудом : ((http://learnpythonthehardway.org/book/ Learn Python the Hard Way]
- Документация языка
- Writing Idiomatic Python
- о строковом методе format доступным языком
- про регулярки от Гугла