Your SlideShare is downloading. ×
BigData и Data Science: методы и инструменты
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

BigData и Data Science: методы и инструменты

464
views

Published on

Published in: Technology

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
464
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
5
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. BigData и Data Science: методы и инструменты Dmytro Karamshuk
  • 2. Эра Больших Данных (BigData) Что понимают под Большими Данными (Big Data)?● “Big data is data that exceeds the processing capacity of conventional database systems. The data is too big, moves too fast, or doesn’t fit the structure of your database architectures.”, OReilly Strata Conference● “Every day, we create 2.5 quintillion bytes of data — so much that 90% of the data in the world today has been created in the last two years alone. This data comes from everywhere: sensors used to gather climate information, posts to social media sites, digital pictures and videos, purchase transaction records, and cell phone GPS signals to name a few. This data is big data.”, IBM Шум вокруг BigData очень напоминает Web 2.0 в 2004-ом
  • 3. ПримерДанные всего - 2.5B чекинов, 10М мест, 25М юзеров доступные через Twitter - 70М чекинов, 7M мест, 5М юзеровЗадачи● Рекомендация друзей● Рекомендация мест● Кластеризация людей на группы● Определение влиятельных пользователей● Определение границ районов города● Прогнозирование событий
  • 4. Что необходимо● Инструменты и инфраструктура – хранение больших данных – паралельная обработка – иттеративная обработка ● Методы и алгоритмы – самообучение – эффективность при больших данных – возможность паралельная и иттеративной обработки
  • 5. Инструменты
  • 6. Концепция MapReduceЗадача: посчитать частоту появления слов во входных документах
  • 7. Что требуется от программиста?
  • 8. Еще пример – Page Rank ФормулаАлгоритм
  • 9. Считаем Page Rank с MapReduce
  • 10. Считаем Page Rank с MapReduce Шаг повторяется пока алгоритм не сойдется: разница между итерациями будет меньше указаной погрешности
  • 11. Считаем Page Rank с MapReduce Материал взят из http://www.cs.toronto.edu/~jasper/PageRankForMapReduceSmall.pdf
  • 12. Практическое использованиеHadoop - cамая популярная имплементация MapReduce● написан на Java● Apache project● множество доп. инстр.Elastic Map Reduce – одна из самых популярных инфраструктур● реализовано на Hadoop● минимальные затраты на конфигурацию, удобная система логов● гибкая система оплаты, относительно не дорого
  • 13. Как устроен Elastic Map Reduce EC2
  • 14. На что обратить внимание● тестим hadoop в standalone● не все алгоритмы подходят для MapReduce● требует подготовки данных● традиционные (реляционные) базы данных не подходят
  • 15. Методы и Алгоритмы
  • 16. Machine Learning ДАННЫЕ ЗАДАЧАОбъект 1: [x11, x12, x13, x14, ..., x1n], y1 предпологая что yi = f(xij) необходимо определить fОбъект 2: [x21, x22, x23, x24, ..., x2n], yn............................................................. при этом предусматривается что f пренадлежит определенному классуОбъект M: [xm1, xm2, xm3, xm4, ..., xmn], ym функцийxij – feature оптимальная функция подбирается yi – class (или label) путем минимизации определеннойFeatures и label могут быть разных типов ошибки(бинарный, числовой, перечесляемый)Пример:- линейная функция yi = Ʃaj*xij +b- decision tree
  • 17. Supervised Learning Decision Tree Linear Regression
  • 18. Unsupervised LearningClustering Community Detection
  • 19. Зачем нужен Machine Learning?● Задача: рекомендация друзей● Метод: основанные на близости в графа; основанные на сходстве профайлов (включаю историю); комбинация обоих
  • 20. Зачем нужен Machine Learning?● Задача: кластеризация сошиал графа, определение влиятельных пользователей IMT CNR Cambridge Методы: методы на графах, спектральные методы, методы основанные на похожести (similarity)
  • 21. Зачем нужен Machine Learning?● Задача: определение районов связанных мест в городе основываясь на сошиал медиа● Методы: любые методы кластеризации, важно определить связи между местами
  • 22. Пример – Retail Location Problem● Задача: среди X предложенных районов в городе определить наиболее привлекательные с точки зрения будущей популярности
  • 23. Популярность ресторанов● мы определяем популярность как количество чекинов в месте● активность пользователей варируется между разными местами – но примерно одинаковая среди одной сети ресторанов● популярность разных ресторанов варируется в зависимости от района● популярность ресторана является функцией характеристик района P = f(x)
  • 24. Метод анализа● определяем район – как круг радиусом R вокруг ресторана● определяем различные характеристики района x : географические - плотность, конкуренция, разнообразие окружающих мест, привлекательность окружающих объектов и т.д. мобильность – общий трафик, входящий трафик, количество потенциальных клиентов и т.д.● обучаем функцию P = f(x)● вычисляем Pi для всех районов i● сортируем районы по Pi
  • 25. Интересные метрики Наиболее привлекательные категории Jensens coefficients объектов для каждой сети● определенные на основе анализа частоты совместного расположение объектов двух категорий - Jensens coefficients Transition probabilities● определенные на основе анализа переходов между объектами разных категорий - Transition probabilities
  • 26. Обучение и валидация Обучение функции P = f(x) выполняется на существующих ресторанах с помощью supervised learning алгоритмов.● алгоритмы: linear regression, support vector machine, model trees● для обучение выбираем случайным образом 66% ресторанов (training set), валидацию проводим на оставшихся 33% (testing set); эксперимент повторяем N=1000 раз● для валидации проверяем вероятность попадания наиболее популярное место из testing set в top-X% предсказанного рейтинга, результат обобщаем среди всех экспериментов Mean Accuracy@X%● используются реализации алгоритмов из WEKA machine learning framework
  • 27. Что почерпнуть из сказанного● делать Data Science и работать с Большими Данными просто!● но, нужно освоить некоторые инструменты и методы● самые популярные инструменты: MapReduce, Hadoop, Amazon EMR● методы зависят от приложения, хороший метод – который решают проблему и делает ее быстро и эффективно● WEKA – хороший инструмент для практического machine learningа
  • 28. Спасибо за внимание Dmytro Karamshuk PhD student @ IMT Lucca Research Associate @ IIT CNR di PisaVisiting Researcher @ Computer Lab, University of Cambridge email: karamshuk@gmail.com follow me on Twitter: @karamshuk