Pull to refresh
1
0
Станислав @stanislavnikitin

Data Scientist

Send message

Как сделать свой автоскейлер для кластера

Reading time7 min
Views1.8K

Привет! Мы обучаем людей работе с большими данными. Невозможно себе представить образовательную программу по большим данным без своего кластера, на котором все участники совместно работают. По этой причине на нашей программе он всегда есть :) Мы занимаемся его настройкой, тюнингом и администрированием, а ребята непосредственно запускают там MapReduce-джобы и пользуются Spark'ом.


В этом посте мы расскажем, как мы решали проблему неравномерной загрузки кластера, написав свой автоскейлер, используя облако Mail.ru Cloud Solutions.

Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments3

Понимаем теорему Байеса

Reading time8 min
Views40K
Перевод статьи подготовлен специально для студентов базового и продвинутого курсов «Математика для Data Science».




Теорема Байеса – одна из самых известных теорем в статистике и теории вероятности. Даже если вы не работаете с расчетами количественных показателей, вероятно, вам в какой-то момент пришлось познакомиться с этой теоремой во время подготовки к экзамену.

P(A|B) = P(B|A) * P(A)/P(B)

Вот так она выглядит, но что это значит и как работает? Сегодня мы это узнаем и углубимся в теорему Байеса.
Читать дальше →
Total votes 27: ↑23 and ↓4+19
Comments11

Структура Data Science-проекта с высоты птичьего полета

Reading time6 min
Views11K
Как узнать наверняка, что внутри у колобка?
Может, ты его проглотишь, а внутри него река?
© Таня Задорожная

Что такое Data Science сегодня, кажется, знают уже не только дети, но и домашние животные. Спроси любого котика, и он скажет: статистика, Python, R, BigData, машинное обучение, визуализация и много других слов, в зависимости от квалификации. Но не все котики, а также те, кто хочет стать специалистом по Data Science, знают, как именно устроен Data Science-проект, из каких этапов он состоит и как каждый из них влияет на конечный результат, насколько ресурсоемким является каждый из этапов проекта. Для ответа на эти вопросы как правило служит методология. Однако бОльшая часть обучающих курсов, посвященных Data Science, ничего не говорит о методологии, а просто более или менее последовательно раскрывает суть упомянутых выше технологий, а уж со структурой проекта каждый начинающий Data Scientist знакомится на собственном опыте (и граблях). Но лично я люблю ходить в лес с картой и компасом и мне нравится заранее представлять план маршрута, которым двигаешься. После некоторых поисков неплохую методологию мне удалось найти у IBM — известного производителя гайдов и методик по управлению чем угодно.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments6

50 оттенков matplotlib — The Master Plots (с полным кодом на Python)

Reading time39 min
Views391K
Те, кто работает с данными, отлично знают, что не в нейросетке счастье — а в том, как правильно обработать данные. Но чтобы их обработать, необходимо сначала проанализировать корреляции, выбрать нужные данные, выкинуть ненужные и так далее. Для подобных целей часто используется визуализация с помощью библиотеки matplotlib.



Встретимся «внутри»!
Читать дальше →
Total votes 67: ↑67 and ↓0+67
Comments15

Livy — недостающее звено цепи Hadoop Spark Airflow Python

Reading time3 min
Views7.5K

Привет всем, немного информации "из под капота" дата инженерного цеха Альфастрахования — что будоражит наши технические умы.


image


Apache Spark — замечательный инструмент, позволяющий просто и очень быстро обрабатывать большие объемы данных на достаточно скромных вычислительных ресурсах (я имею в виду кластерную обработку).


Традиционно, в процессе ad hoc обработки данных используется jupyter notebook. В комбинации со Spark-ом это позволяет нам манипулировать долго живущими дата фреймами (распределением ресурсов занимается Spark, дата фреймы "живут" где-то в кластере, время их жизни ограничено временем жизни Spark контекста).


После переноса обработки данных в Apache Airflow время жизни дата фреймов сильно сокращается — Spark контекст "живет" в пределах одного оператора Airflow. Как это обойти, зачем обходить и при чем здесь Livy — читайте под катом.

Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments2

Применение машинного обучения и Data Science в промышленности

Reading time22 min
Views68K
Хабр, привет. Перевел пост, который идёт строго (!) в закладки и передаётся коллегам. Он со списком блокнотов и библиотек ML и Data Science для разных отраслей промышленности. Все коды на Python, и размещены на GitHub. Они будут полезны как для расширения кругозора, так и для запуска своего интересного стартапа.

image

Отмечу, что если среди читателей есть желающие помочь, и добавить в любую из подотраслей подходящий проект, пожалуйста, свяжитесь со мной. Я их добавлю в список. Итак, давайте начнём изучение списка.
Читать дальше →
Total votes 77: ↑71 and ↓6+65
Comments13

Персонализируй это: как мы в QIWI работаем с рекомендациями

Reading time4 min
Views2.4K
Всем привет!

Меня зовут Лидия, я тимлид небольшой DataScience-команды в QIWI.

Мы с ребятами довольно часто сталкиваемся с задачей исследования потребностей клиентов, и в этом посте мне бы хотелось поделиться мыслями о том, как начать тему с сегментацией и какие подходы могут помочь разобраться в море неразмеченных данных.

Кого сейчас удивишь персонализацией? Отсутствие персональных предложений в продукте или сервисе уже кажется моветоном, и мы ждем те самые, отобранные только для нас, сливки везде – от ленты в Instagram до личного тарифного плана.

Однако, откуда берется тот самый контент или предложение? Если вы впервые погружаетесь в темные воды машинного обучения, то наверняка столкнетесь с вопросом – с чего начать и как выявить те самые интересы клиента. Чаще всего при наличии большой базы пользователей и отсутствии знаний об оных возникает желание пойти по двум популярным путям:

1. Разметить вручную выборку пользователей и обучить на ней модель, которая позволит определять принадлежность к этому классу или классам – в случае мультиклассового таргета.

Вариант неплохой, но на начальном этапе может заманить в ловушку – ведь мы еще не знаем, какие в принципе сегменты у нас есть и насколько они будут полезны для продвижения новых продуктовых фич, коммуникаций и прочего. Не говоря уже о том, что ручная разметка клиентов – дело достаточно затратное и иногда непростое, ведь чем больше у вас сервисов, тем большее количество данных нужно просмотреть для понимания, чем живет и дышит этот клиент. Большая вероятность, что получится нечто такое:



2. Обжегшись на варианте #1, часто выбирают вариант unsupervised-анализа без обучающей выборки.
Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments12

Вижу, значит существую: обзор Deep Learning в Computer Vision (часть 2)

Reading time18 min
Views40K
Продолжаем постигать современную магию (компьютерное зрение). Часть 2 не значит, что нужно сначала читать часть 1. Часть 2 значит, что теперь всё серьёзно — мы хотим понять всю мощь нейросетей в зрении. Детектирование, трекинг, сегментация, оценка позы, распознавание действий… Самые модные и крутые архитектуры, сотни слоёв и десятки гениальных идей уже ждут вас под катом!


Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments15

Анализ производительности запросов в ClickHouse. Доклад Яндекса

Reading time18 min
Views29K
Что делать, если ваш запрос к базе выполняется недостаточно быстро? Как узнать, оптимально ли запрос использует вычислительные ресурсы или его можно ускорить? На последней конференции HighLoad++ в Москве я рассказал об интроспекции производительности запросов — и о том, что даёт СУБД ClickHouse, и о возможностях ОС, которые должны быть известны каждому.



Каждый раз, когда я делаю запрос, меня волнует не только результат, но и то, что этот запрос делает. Например, он работает одну секунду. Много это или мало? Я всегда думаю: а почему не полсекунды? Потом что-нибудь оптимизирую, ускоряю, и он работает 10 мс. Обычно я доволен. Но все-таки я стараюсь в этом случае сделать недовольное выражение лица и спросить: «Почему не 5 мс?» Как можно выяснить, на что тратится время при обработке запроса? Можно ли его в принципе ускорить?

Total votes 53: ↑53 and ↓0+53
Comments5

Microsoft ML Spark: расширение Spark, делающее SparkML человечнее, и LightGBM как бонус

Reading time14 min
Views6.3K

Многие, кто работал с Spark ML, знают, что некоторые вещи там сделаны "не совсем удачно"
или не сделаны вообще. Позиция разработчиков Spark в том, что SparkML — это базовая платформа, а все расширения должны быть отдельными пакетами. Но это не всегда удобно, ведь Data Scientist и аналитики хотят работать с привычными инструментами (Jupter, Zeppelin), где есть большая часть того, что нужно. Они не хотят собирать при помощи maven-assembly JAR-файлы на 500 мегабайт или руками скачивать зависимости и добавлять в параметры запуска Spark. А более тонкая работа с системами сборки JVM-проектов может потребовать от привыкшых к Jupyter/Zeppelin аналитиков и DataScientist-ов много дополнительных усилий. Просить же DevOps-ов и администраторов кластера ставить кучу пакетов на вычислительные ноды — явно плохая идея. Тот, кто писал расширения для SparkML самостоятельно, знает, сколько там скрытых трудностей с важными классами и методами (которые почему-то private[ml]), ограничениями на типы сохраняемых параметров и т.д.


И кажется, что теперь, с библиотекой MMLSpark, жизнь станет немного проще, а порог вхождения в масштабируемое машинное обучение со SparkML и Scala чуть ниже.

Читать дальше →
Total votes 23: ↑21 and ↓2+19
Comments4

Как я сдавал экзамен Hortonworks Data Platform Certified Administrator (HDPCA)

Reading time4 min
Views4.8K
Добрый день! Я давно читаю Хабр, а вот написать всё никак не мог собраться. Недавно я сдал экзамен HDPCA (Hortonworks Data Platform Certified Administrator) и хотел бы поделиться своими впечатлениями. Надеюсь, что эта информация будет кому-то полезной, т.к. даже на английском языке информации об этом экзамене не много.
Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments1

Rekko Challenge — как занять 2-е место в конкурсе по созданию рекомендательных систем

Reading time6 min
Views11K

Всем привет. Моя команда в Тинькофф занимается построением рекомендательных систем. Если вы довольны вашим ежемесячным кэшбэком, то это наших рук дело. Также мы построили рекомендательную систему спецпредложений от партнеров и занимаемся индивидуальными подборками Stories в приложении Tinkoff. А еще мы любим участвовать в соревнованиях по машинному обучению чтобы держать себя в тонусе.


На Boosters.pro в течении двух месяцев с 18 февраля по 18 апреля проходило соревнование по построению рекомендательной системы на реальных данных одного из крупнейших российских онлайн-кинотеатров Okko. Организаторы преследовали цель улучшить существующую рекомендательную систему. На данный момент соревнование доступно в режиме песочницы, в которой вы можете проверить свои подходы и отточить навыки в построении рекомендательных систем.


alt_text

Читать дальше →
Total votes 59: ↑56 and ↓3+53
Comments6

Импортозамещённый дистрибутив Hadoop

Reading time2 min
Views17K
Недавно посматривая реестр отечественного ПО, нашёл российскую сборку Hadoop, чему был изрядно удивлён.
Причём, регистрация прошла аж в 2017 году. (ссылка для интересующихся) и с тех пор на хабре ни строчки об этом.
Итак, встречайте — Arenadata Hadoop (ADH)!

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

Судите сами:
вот сайт Arenadata

Читать дальше →
Total votes 23: ↑14 and ↓9+5
Comments27

Как я сдал сертификационный экзамен Google Cloud Professional Data Engineer

Reading time9 min
Views14K

Без рекомендуемого 3-х летнего практического опыта


В преддверии старта занятий по курсу «Data Engineer», хотим поделиться с Вами переводом одной очень интересной истории, которая наверняка будет полезна будущим дата инженерам. Поехали!


Худи от Google: надето. Серьезное рабочее выражение лица: присутствует. Фото из видео версии этой статьи на YouTube.
Примечание. Эта статья посвящена сертификационному экзамену Google Cloud Professional Data Engineer до 29 марта 2019 года. После этой даты произошли некоторые изменения. Я включил их в раздел «Дополнительно».

Итак, вы хотите получить новое худи, как у меня на обложке? Или вы задумали получить сертификат Google Cloud Professional Data Engineer и задаетесь вопросом, как это сделать.
Читать дальше →
Total votes 25: ↑20 and ↓5+15
Comments2

Сравнение 10 галогенных ламп H4 Philips, Osram, PIAA, Koito, Bosch. Результаты удивляют

Reading time5 min
Views312K

Многие из автолюбителей хотят улучшить ближний свет своего автомобиля. Большинство используют самый простой способ, это установка более мощных галогеновых ламп. Проведём тестирование 10 моделей, 7 из которых относятся к премиальным и обещают улучшение до 150%.

Изначально на премиальных моделях указывали улучшение на 50% или 70%, для повышения продаж. Теперь этот показатель достиг максимального разумного значения в 150%. Продажи основаны на китайском маркетинге, кто больше обманет, тот и продаст.
Читать дальше →
Total votes 38: ↑37 and ↓1+36
Comments98

Подборка датасетов для машинного обучения

Reading time6 min
Views154K
Привет, читатель!

Меня зовут Рушан, и я автор Telegram‑канала Нейрон. Не забудьте поделиться с коллегами или просто с теми, кому интересны такие статьи.

Перед тобой статья-путеводитель по открытым наборам данных для машинного обучения. В ней я, для начала, соберу подборку интересных и свежих (относительно) датасетов. А бонусом, в конце статьи, прикреплю полезные ссылки по самостоятельному поиску датасетов.

Меньше слов, больше данных.

image

Подборка датасетов для машинного обучения:


Читать дальше →
Total votes 66: ↑64 and ↓2+62
Comments6

NLP. Основы. Техники. Саморазвитие. Часть 2: NER

Reading time19 min
Views54K
Первую часть статьи об основах NLP можно прочитать здесь. А сегодня мы поговорим об одной из самых популярных задач NLP – извлечении именованных сущностей (Named-entity recognition, NER) – и разберем подробно архитектуры решений этой задачи.

image
Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments3

Предсказания от математиков. Разбираем основные методы обнаружения аномалий

Reading time15 min
Views26K
За рубежом все большую популярность набирает использование искусственного интеллекта в промышленности для предиктивного обслуживания (predictive maintenance) различных систем. Цель этой методики — определение неполадок в работе системы на этапе эксплуатации до выхода её из строя для своевременного реагирования.

Насколько востребован такой подход у нас и на Западе? Вывод можно сделать, например, по статьям на Хабре и в Medium. На Хабре почти не встречается статей по решению задач предиктивного обслуживания. На Medium же есть целый набор. Вот здесь, ещё здесь и здесь хорошо описано, в чем цели и преимущества такого подхода.

Из этой статьи вы узнаете:

  • зачем нужна эта методика,
  • какие подходы машинного обучения чаще используются для предиктивного обслуживания,
  • как я опробовал один из приёмов на простом примере.

Источник
Читать дальше →
Total votes 81: ↑78 and ↓3+75
Comments22

Spark SQL. Немного об оптимизаторе запросов

Reading time10 min
Views17K

Всем привет. В качестве введения, хочется рассказать, как я дошел до жизни такой.


До того как встретиться с Big Data и Spark, в частности, мне довелось много и часто оптимизировать SQL запросы, сначала для MSSQL, потом для Oracle, и вот теперь я столкнулся со SparkSQL.


И если для СУБД уже существует множество хороших книг, описывающих методологию и «ручки», которые можно покрутить для получения оптимального плана запроса, то для Spark такого рода книг я не встречал. На глаза попадались больше статьи и наборы практик, причем больше относящиеся к работе через RDD/Dataset API, а не чистому SQL. Для меня одной из эталонных книг на тему оптимизации SQL является книга Дж. Льюис «Oracle. Основы стоимостной оптимизации». Что-то подобное по глубине проработки я и искал. Почему предметом исследования стал именно SparkSQL, а не API, лежащий в основе? Тут интерес был вызван особенностями проекта, над которым я работаю.



Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments4

Пишем XGBoost с нуля — часть 2: градиентный бустинг

Reading time13 min
Views29K

Всем привет!

В прошлой статье мы разбирались, как устроены решающие деревья, и с нуля реализовали
алгоритм построения, попутно оптимизируя и улучшая его. В этой статье мы реализуем алгоритм градиентного бустинга и в конце создадим свой собственный XGBoost. Повествование будет идти по той же схеме: пишем алгоритм, описываем его, в заверешение подводим итоги, сравнивая результаты работы с аналогами из Sklearn'а.

В этой статье упор тоже будет сделан на реализацию в коде, поэтому всю теорию лучше почитать в другом вместе (например, в курсе ODS), и уже со знанием теории можно переходить к этой статье, так как тема достаточно сложная.


Итак, поехали!
Total votes 58: ↑57 and ↓1+56
Comments3
1

Information

Rating
Does not participate
Location
Иннополис, Татарстан, Россия
Date of birth
Registered
Activity