Рекомендательная система (семинар) — различия между версиями
Valery (обсуждение | вклад) (Добавлен перевод ссылки) |
Valery (обсуждение | вклад) (Исправлены ошибки) |
||
Строка 43: | Строка 43: | ||
* [http://git-scm.com/doc Git - Documentation] официальная документация Git. | * [http://git-scm.com/doc Git - Documentation] официальная документация Git. | ||
* [http://git-scm.com/book/ru/v1 Git - Book] перевод довольно обширной обучающей книги о Git от Скотта Шакона. | * [http://git-scm.com/book/ru/v1 Git - Book] перевод довольно обширной обучающей книги о Git от Скотта Шакона. | ||
− | * [https://www.atlassian.com/git/tutorials/ | + | * [https://www.atlassian.com/git/tutorials/ Atlassian git tutorial] стань git гуру |
===Статьи=== | ===Статьи=== |
Версия 23:05, 6 февраля 2016
Семинар проекта Рекомендательная система (проект).
Содержание
Правила игры
- Ментор: Симагин Денис.
- Место: офис Яндекса (место встречи)
- Время: c 17:00 до 18:30, опаздывающих ждем не дольше 10 минут.
Общение с ментором вне занятий семинара приветствуется. Можно задавать вопросы, в том числе философские, или советоваться. Но перед тем, как написать письмо, попробуйте спросить это у Яндекса. Также не обижайтесь, если в ответ вам пришла ссылка на документацию, поверьте, порой сложно объяснить лучше, чем написано там.
Ключевые точки
Сверху нам спущены ключевые точки выполнения проекта. Для нас они скорее явлются формальными, тем не менее мы должны их соблюдать.
- 1-6 февраля - первая неделя занятий со студентами.
- 22-28 февраля - 1 точка, вы определились с ресурсом, и приближайтесь к выполнению заданий на 4.
- 28 марта - 3 апреля - сессия у студентов.
- 25-30 апреля - 2 точка, часть на 4 выполнена и прошла ревью. Вы создали список заданий для повышения оценки и к нему приступили.
- 30 мая - 3 июня - окончание проектной работы, вы готовы, как пионеры.
- начало июня - конкурс проектов.
Репозиторий
Мы будем использовать git в качестве системы контроля версий. Удаленный репозиторий будет находиться на bitbucket. Заведите там себе учетную запись и создайте репозиторий учебного проекта. Он должен быть приватным, доступ должен быть только у вас, ментора и кураторов.
Разработка
У вас должен быть план и описание проекта, которые выложены на wiki репозитория. Также вы должны вести дневник своей разработки. Указывать там трудности, с которыми столкнулись, причины принятия тех или иных решений, анализ результатов и экспериментов.
Ваш процесс разработки должен выглядеть следующим образом. Вы создаете себе issue, даете исчерпывающее описание. Создаете новую ветку и ведете в ней разработку. Какие-то проверенные куски кода нужно фиксировать в виде commit-ов и делать периодические push в удаленный репозиторий. Когда issue выполнено, вы вливайтесь в master-ветку с помощью merge --squash и делаете commit, название которого соответствует выполненному issue.
Материалы
Python
- О языке Python, и его стандартной библиотеке. Уделите внимание:
- Обработке ключей программы - argparse lib.
- Работе с сетью - URL handling modules.
- Регулярным выражениям - Regular expression operations.
- Парсеру HTML - markup tool.
- Хорошие библиотеки для математики numpy и scipy, а также plot для графиков.
- Библиотеки для машинного обучения - SciKit learn.
- Удобная среда для экспериментов - IPyhton.
Git
- Code School - Try Git интерактивная почти игра, которая учит основным командам Git.
- Git - Documentation официальная документация Git.
- Git - Book перевод довольно обширной обучающей книги о Git от Скотта Шакона.
- Atlassian git tutorial стань git гуру
Статьи
- My Python Web Crawler - Brett.Is How to write a very simplistic Web Crawler in Python for fun.
Семинары
S02.10
S02.03
- Обсудили организационные моменты.
- Выяснили, кто какие ресурсы собирается взять (выбор можно изменить в течение недели).
- Поговорили о git.
- Дружно попили чай ;)
Немного о crawler-e
Необходимые операции:
- Скачать всю статью в HTML.
- Распарсить статью. Почистить от всякого мусора: картинок, ссылок, прочего, оставить только текст. Если есть опыт работы с базами, то можно использовать их, в противном случае лучше не тратить время на их изучение, достаточно хранить все в обычной директории. Распарсенные статьи хранятся отдельно, у них должны быть свои индексы и нужно уметь сопоставлять этот индекс с url статьи.
- Добыть ссылки на все статьи.
- Определить свежесть статьи.
- Получить ссылки нановые статьи.
Задание
- Разобраться c гитом, подготовить вопросы.
- Создать репозиторий проекта в bitbucket.
- Оценить сложность написания crawler-а для своего ресурса, возможно, изменить его.
- Кто уже знает git, по желанию может уже начать писать crawler.
Материалы
- Code School - Try Git интерактивная игра, которая учит основным командам Git.
- Git - Documentation официальная документация Git.
- Git - Book перевод довольно обширной обучающей книги о Git от Скотта Шакона.
- Пошаговая инструкция по работе с git и github для студентов маленькая обзорная статья, с чего начать.
- My Python Web Crawler - Brett.Is How to write a very simplistic Web Crawler in Python for fun.