В этом проекте мы будем решать задачу идентификации пользователя по его поведению в сети Интернет. Это сложная и интересная задача на стыке анализа данных и поведенческой психологии. В качестве примера, компания Яндекс решает задачу идентификации взломщика почтового ящика по его поведению. В двух словах, взломщик будет себя вести не так, как владелец ящика: он может не удалять сообщения сразу по прочтении, как это делал хозяин, он будет по-другому ставить флажки сообщениям и даже по-своему двигать мышкой. Тогда такого злоумышленника можно идентифицировать и "выкинуть" из почтового ящика, предложив хозяину войти по SMS-коду. Этот пилотный проект описан в статье на Хабрахабре. Похожие вещи делаются, например, в Google Analytics и описываются в научных статьях, найти можно многое по фразам "Traversal Pattern Mining" и "Sequential Pattern Mining".
Часто при работе с пользовательскими данными приходится сталкиваться с тем, что данные предоставляются для работы без описания. При этом не известно, что содержательно представляют собой те или иные признаки, а известны лишь их типы: числовые, категориальные, номинальные переменные. Такие ситуации - не редкость при работе с «чувствительными» данными, например, в сфере банковской аналитики, HR-аналитики, сфере телекоммуникаций, страхования, здравоохранения, недвижимости или ритейла. Тем не менее, с такими данным нужно уметь работать, и нужно уметь проводить на них классические этапы анализа, в частности описательный анализ данных и визуализацию. Именно этим мы займемся на первой неделе.
Задача этого проекта — научиться предсказывать количество поездок в ближайшие часы в каждом районе Нью-Йорка. Для того, чтобы её решить, сырые данные необходимо агрегировать по часам и районам. Агрегированные данные будут представлять собой почасовые временные ряды с количествами поездок из каждого района.
Похожие задачи возникают на практике, если вам необходимо спрогнозировать продажи большого количества товаров в большом количестве магазинов, объём снятия денег в сети банкоматов, посещаемость разных страниц сайта и т.д.
В этом проекте вам предстоит решать задачи анализа тональности текстов в нескольких разных постановках.
Начнется все с несложных экспериментов на отзывах на фильмы, в ходе которых вы построите простую модель и немного доработаете ее. Затем вам предстоит поучаствовать в соревновании по сентимент-анализу отзывов на товары и сделать интерактивную демонстрацию для своего алгоритма, которую можно будет показать даже тем, кто никогда не видел Python и машинное обучение.
После этого вы поупражняетесь в парсинге веб-страниц и столкнетесь с жестокой реальностью - к вам придет заказчик, который захочет от вас сентимент-анализ отзывов на определенную категорию товаров, но вот выборку для обучения придется собирать самим. Как и угадывать, что же заказчик называет негативными отзывами, а что позитивными.
В конце проекта вам потребуется сделать демонстрацию и для этого алгоритма, чтобы заказчик мог с ним поиграться, а не только лишь ориентироваться на качество из контеста.