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

Материал из Wiki - Факультет компьютерных наук
Перейти к навигации Перейти к поиску
мНет описания правки
 
(не показано 11 промежуточных версий 2 участников)
Строка 1: Строка 1:
== О курсе ==
== О курсе ==
Курс читается для студентов факультета экономических наук, ОП "Экономика и статистика"


[[Файл:ML_surfaces.png|280px|borderless|left]]
Проводится с 2017 года.


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


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




=== Полезные ссылки ===
=== Полезные ссылки ===
Тест для моральной подготовки: https://goo.gl/forms/QuRhepssXRjl71yG3


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


Чат в telegram для обсуждений: https://t.me/joinchat/BgyOMg6PNBYFpmHUtbZDTg
Чат в telegram для обсуждений: https://t.me/joinchat/BgyOMg6PNBYFpmHUtbZDTg
Оставить отзыв на курс: [https://goo.gl/forms/5CddG0gc75VZvqi52 форма]
'''Вопросы''' по курсу можно задавать на почту курса, а также в телеграм лектору (esokolov@) или семинаристу.
Вопросы по материалам лекций/семинаров и по заданиям лучше всего оформлять в виде [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
* Контрольные работы
* Письменный экзамен


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


O<sub>итоговая</sub> = 0.7 * O<sub>накопленная</sub> + 0.3 * О<sub>экз</sub>
О_итог = 0,6 * О_накопл.+ 0,4 * О_экзамен
 
Оценка за работу в семестре вычисляется по формуле
 
O<sub>накопленная</sub> = 0.1 * O<sub>самостоятельные</sub> + 0.4 * О<sub>практические дз</sub> + 0.3 * О<sub>теоретические дз</sub> + 0.2 * О<sub>контрольные</sub>


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


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


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


== Лекции ==
== Семинары ==
'''Тема 1'''. Основы анализа данных в языке Python:


'''Лекция 1''' (1 сентября). Введение в машинное обучение. Основные термины, постановки задач и примеры применения. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-fall/lecture-notes/lecture01-intro.pdf Конспект]]
Повторение основных функций и объектов языка Python. Обзор библиотек numpy, pandas на основе данных из соревнований платформы kaggle.com.  


'''Лекция 2''' (8 сентября). Линейная регрессия. Метрики качества регрессии. Градиентный спуск и способы оценивания градиента. Продвинутые градиентные методы. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-fall/lecture-notes/lecture02-linregr.pdf Конспект]]
'''Тема 2'''. Визуализация данных в python: библиотеки matplotlib, seaborn, plotly. Продвинутые инструменты для анализа данных.  
Введение в визуальный анализ данных. Построение графиков, гистограмм, тепловых карт. Знакомство с порталом Открытых данных.  


== Семинары ==
'''Тема 3'''. Парсинг открытых данных в различных форматах (xml/json/html)


'''Семинар 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 Ноутбук для самостоятельного изучения]]
Изучение языков и библиотек для работы с xml/json/html: lxml, XPath, XSLT, Beautiful Soup.  


'''Семинар 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 Домашнее задание]]
'''Тема 4'''. Основы машинного обучения и практика применения


'''Семинар 3'''. Предобработка данных для линейных моделей. Функции потерь в линейной регрессии. Вероятностный взгляд на линейную регрессию. [[https://github.com/esokolov/ml-course-hse/blob/master/2017-fall/seminars/sem03-linregr-loss_funcs.ipynb Notebook]]
Приведение текстовых данных к числовым с помощью OneHot- и TF-IDF кодирования, а также на основе представлений слов и текстов. Алгоритмы машинного обучения: линейная и логистическая регрессии, градиентный бустинг и нейронные сети.


'''Тема 5'''. Извлечение данных сайта Вконтакте и изучение влияния социальных сетей на поведение в реальной жизни.


== Практические задания ==
Изучаем возможности API сайта Вконтакте. Извлекаем информацию об интересах и демографии пользователей, на основании списка групп и поля “интересы”. Изучаем взаимосвязь интересов школьников с оценками.


'''Задание 1.''' Библиотека numpy и работа с данными.
'''Тема 6'''. Извлечение и анализ данных Московской биржи


Дата выдачи: 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]
- [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 про регулярки от Гугла]

Текущая версия от 17:40, 19 сентября 2017

О курсе

Курс читается для студентов факультета экономических наук, ОП "Экономика и статистика"

Проводится с 2017 года.


Семинаристы:

Денике Екатерина Игоревна

Слинько Игорь Юрьевич

Семинары проходят по субботам, с 10:30 до 15:00 (16:30) с двумя перерывами.


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

Тест для моральной подготовки: https://goo.gl/forms/QuRhepssXRjl71yG3

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

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

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

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

О_итог = 0,6 * О_накопл.+ 0,4 * О_экзамен

Накопленная оценка (О_накопл) рассчитывается как среднее значение оценок за все выданные домашние задания. Бонусные баллы могут быть выданы в ходе семинара.

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

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

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

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

Семинары

Тема 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
- Документация языка
- Writing Idiomatic Python
- о строковом методе format доступным языком
- про регулярки от Гугла