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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(О курсе)
(Семинары)
 
(не показано 12 промежуточных версии 2 участников)
Строка 1: Строка 1:
 
== О курсе ==
 
== О курсе ==
 +
Курс читается для студентов факультета экономических наук, ОП "Экономика и статистика"
  
[[Файл:ML_surfaces.png|280px|borderless|left]]
+
Проводится с 2017 года.
  
Курс читается для студентов Экономического факультета.
 
Проводится с 2016 года.
 
  
 
Семинаристы:
 
Семинаристы:
 +
 
Денике Екатерина Игоревна
 
Денике Екатерина Игоревна
 +
 
Слинько Игорь Юрьевич
 
Слинько Игорь Юрьевич
 +
 
Семинары проходят по субботам, с 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://telegram.me/hse_cs_ml_course_2017
+
Чат в telegram для обсуждений: https://t.me/joinchat/BgyOMg6PNBYFpmHUtbZDTg
 
+
Чат в telegram для обсуждений: https://t.me/joinchat/A5rlQEQ7r16nvyHbyXtjNA
+
 
+
[https://docs.google.com/spreadsheets/d/16wj3eH2crdGY-MFqiMMUoy1E7uo80nYT2MYfz3Y7gx4/edit?usp=sharing Таблица с оценками]
+
 
+
Оставить отзыв на курс: [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>
+
 
+
Оценка за самостоятельную работу вычисляется как среднее по всем самостоятельным, оценка за домашнюю работу — как среднее по всем практическим заданиям и соревнованиям.
+
  
 
=== Правила сдачи заданий ===
 
=== Правила сдачи заданий ===
Строка 76: Строка 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 про регулярки от Гугла]

Текущая версия на 20: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 доступным языком
- про регулярки от Гугла