Pull to refresh
0
@Materead⁠-⁠only

User

Send message

Анализ временных рядов

Level of difficultyEasy
Reading time8 min
Reach and readers120K

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

Одним из наиболее важных инструментов в аналитике данных является анализ временных рядов. Временной ряд - это последовательность наблюдений за определенным параметром в разные моменты времени. Таким образом, временной ряд содержит информацию о том, как изменяется параметр со временем.

Читать далее

Добавляем в Jupyter Notebooks красоту и интерактивность

Reading time7 min
Reach and readers97K
Многие используют в своей работе Jupyter Notebooks. Но с ростом сложности проекта появляются проблемы. В блокноте появляются ячейки с красными пометками для самого себя «перед запуском укажи число...» или «задай количество итераций исходя из...». Какой-то откат к командной строке получается.

Да и вывод данных на экран не всегда воспринимается без пояснений сторонним человеком, который привык к красивым таблицам, картинкам и прочим современным элементам интерфейса.
Читать дальше →

Анатомия рекомендательных систем. Часть вторая

Reading time12 min
Reach and readers42K
Неделю назад я делал здесь обзор существующих алгоритмов рекомендаций. В этой статье я продолжу данный обзор: расскажу об item-based варианте коллаборативной фильтрации, о методах, основанных на матричных разложениях, проблемах тестирования, а также о менее «раскрученных» (но не менее интересных) алгоритмах.

Читать дальше →

Введение в Data classes

Reading time7 min
Reach and readers312K

Одна из новых возможностей, появившихся в Python 3.7 — классы данных (Data classes). Они призваны автоматизировать генерацию кода классов, которые используются для хранения данных. Не смотря на то, что они используют другие механизмы работы, их можно сравнить с "изменяемыми именованными кортежами со значениями по умолчанию".



Введение


Все приведенные примеры требуют для своей работы Python 3.7 или выше

Большинству python-разработчикам приходится регулярно писать такие классы:


class RegularBook:
    def __init__(self, title, author):
        self.title = title
        self.author = author

Уже на этом примере видна избыточность. Идентификаторы title и author используются несколько раз. Реальный класс же будет ещё содержать переопределенные методы __eq__ и __repr__.


Модуль dataclasses содержит декоратор @dataclass. С его использованием аналогичный код будет выглядеть так:


from dataclasses import dataclass

@dataclass
class Book:
    title: str
    author: str
Читать дальше →

Основы функционального программирования на Python

Reading time19 min
Reach and readers92K

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

Читать далее

Интерпретация моделей и диагностика сдвига данных: LIME, SHAP и Shapley Flow

Reading time38 min
Reach and readers48K

В этом обзоре мы рассмотрим, как методы LIME и SHAP позволяют объяснять предсказания моделей машинного обучения, выявлять проблемы сдвига и утечки данных, осуществлять мониторинг работы модели в production и искать группы примеров, предсказания на которых объясняются схожим образом.

Также поговорим о проблемах метода SHAP и его дальнейшем развитии в виде метода Shapley Flow, объединяющего интерпретацию модели и многообразия данных.

Читать далее

10 первых ошибок в карьере ML-инженера

Level of difficultyEasy
Reading time12 min
Reach and readers42K

Работа ML-инженера заключается не только в обучении моделей — хороший специалист погружается в бизнес-контекст, умеет доносить мысли до коллег без ML-бэкграунда, а также не забывает про тесты, дизайн-документы и документацию. 

Богдан Печёнкин, автор Симулятора ML, собрал 10 ошибок специалистов, которые зачастую встречаются в первые годы карьеры.

Узнать больше

Как улучшить ваши A/B-тесты: лайфхаки аналитиков Авито. Часть 1

Reading time29 min
Reach and readers107K

Всем привет! Я Дмитрий Лунин, работаю аналитиком в команде ценообразования Авито. Наш юнит отвечает за все платные услуги площадки. Наша основная задача — сделать цены на них оптимальными. 

Мы не только пытаемся максимизировать выручку Авито, но и думаем про счастье пользователей. Если установить слишком большие цены, то пользователи возмутятся и начнут уходить с площадки, а если сделать цены слишком маленькими, то мы недополучим часть оптимальной выручки. Низкие цены также увеличивают количество «спамовых» объявлений, которые портят поисковую выдачу пользователям. Поэтому нам очень важно уметь принимать математически обоснованные решения — любая наша ошибка напрямую отразится на выручке и имидже компании. 

Одним из инструментов для решения наших задач является A/B-тестирование.

Читать далее

Как подготовить и провести A/B-тестирование. Базовый роадмэп для новичков

Reading time12 min
Reach and readers38K

Хабр, привет! 

Меня зовут Полина Окунева, я работаю ведущим аналитиком в компании GlowByte в команде Advanced Analytics, а также автор курса по A/B тестам. Сегодня в статье я предлагаю интересующимся небольшой гайд по A/B-тестам.

Когда я начала погружаться в тему A/B-тестирования пару лет назад, меня кидало из стороны в сторону: то перечитывала фундаментальные учебники по статистике, то переключалась на статьи о конкретных методиках. Но во всем этом многообразии материалов для меня на тот момент был огромный недостаток — я не могла собрать все в кучу и разобраться, а как же проводить-то этот A/B-тест? Я знала, что есть разные виды тестов, множественное тестирование и поправки, полезный и популярный Bootstrap… Но как все это соединить было не очевидно. Хотелось понять, какие этапы есть у A/B-тестирования и когда на что обращать внимание. Хотя бы какие термины гуглить и когда.

Сегодня я представляю вашему вниманию пазл, который сложился в моей голове по итогу плотной работы в этой теме. Я не претендую на истину в последней инстанции — шаги могут и должны(!) быть адаптированы конкретно под вашу задачу. Но если вы только начинаете входить в сферу A/B-тестирования, надеюсь, статья будет очень полезна. Я не буду подробно останавливаться на каждом понятии. Моя цель — обозначить технические этапы и показать новичкам модельную картину A/B-тестирования.

Читать далее

EDA под другим углом

Reading time10 min
Reach and readers28K
image

Поговорим не про еду, а про разведочный анализ данных (exploratory data analysis, EDA) который является обязательной прелюдией перед любым суровым ML.

Будем честны, процесс довольно занудный, и чтобы выцепить хоть какие-то значимые инсайты про наши данные — требуется потратить достаточное количество времени активно используя любимую библиотеку визуализации.

А теперь представим что мы довольно ленивы (но любопытны) и будем следовать этому постулату всю эту статью.
Читать дальше →

Титаник на Kaggle: вы не дочитаете этот пост до конца

Reading time31 min
Reach and readers87K
Привет, хабр!

#{Data Science для новичков}

Меня зовут Глеб Морозов, мы с Вами уже знакомы по предыдущим статьям. По многочисленным просьбам продолжаю описывать опыт своего участия в образовательных проектах MLClass.ru (кстати, кто еще не успел — до конца еще можно получить материалы прошедших курсов — это, наверное, самый краткий и максимально практичный курс по анализу данных, который можно себе представить).

Данная работа описывает мою попытку создать модель для предсказания выживших пассажиров «Титаника». Основная задача — тренировка в использовании инструментов применяемых в Data Science для анализа данных и презентации результатов исследования, поэтому данная статья будет очень и очень длинной. Основное внимание уделено исследовательскому анализу (exploratory research) и работе по созданию и выбору предикторов (feature engineering). Модель создаётся в рамках соревнования Titanic: Machine Learning from Disaster проходящего на сайте Kaggle. В своей работе я буду использовать язык «R».
Читать дальше →

Что я бы хотел знать про ML System Design раньше

Reading time6 min
Reach and readers43K

Около года назад я начал проходить собеседования в разные компании на позицию Machine Learning Engineer. Одним из этапов в каждой компании было проектирование ML системы. В данной статье я делюсь опытом и ресурсами, которые помогли мне пройти собеседования. В том числе в команду MLE Ленты, в которой сейчас тружусь.

Читать далее

Всё, что нужно знать о сборщике мусора в Python

Reading time7 min
Reach and readers159K
Как правило, вам не нужно беспокоиться о сборщике мусора и работе с памятью когда вы пишете код на Python. Как только объекты больше не нужны, Python автоматически освобождает память из под них. Несмотря на это, понимание как работает GC поможет писать более качественный код.

Менеджер памяти


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

Как только один из маленьких объект удаляется — память из под него не переходит операционной системе, Python оставляет её для новых объектов с таким же размером. Если в одном из выделенных блоков памяти не осталось объектов, то Python может высвободить его операционной системе. Как правило, высвобождение блоков случается когда скрипт создает множество временных объектов.
Читать дальше →

«Правда, чистая правда и статистика» или «15 распределений вероятности на все случаи жизни»

Reading time15 min
Reach and readers324K
Статистика приходит к нам на помощь при решении многих задач, например: когда нет возможности построить детерминированную модель, когда слишком много факторов или когда нам необходимо оценить правдоподобие построенной модели с учётом имеющихся данных. Отношение к статистике неоднозначное. Есть мнение, что существует три вида лжи: ложь, наглая ложь и статистика. С другой стороны, многие «пользователи» статистики слишком ей верят, не понимая до конца, как она работает: применяя, например, тест Стьюдента к любым данным без проверки их нормальности. Такая небрежность способна порождать серьёзные ошибки и превращать «поклонников» теста Стьюдента в ненавистников статистики. Попробуем поставить точки над i и разобраться, какие модели случайных величин должны использоваться для описания тех или иных явлений и какая между ними существует генетическая связь.
Читать дальше →

Q-Q Plots. От чайника до профессионала за один гайд

Reading time8 min
Reach and readers74K

Как понять, что выборка данных принадлежит определенному распределению? Есть 2 метода: аналитический тест Колмогорова-Смирнова (тест Шапиро-Уилка для нормального) и графический метод при помощи графика квантиль-квантиль плот.

Чем так замечателен второй вариант? Он позволяет делать выводы, не основываясь на таких спорных показателях какp.value.

Графический метод является мощнейшим инструментом анализа, но как сказано в англоязычной статье википедии про Q-Q Plots, требует серьезных навыков для интерпретации. В данной статье я представляю дорожную карту пути к пониманию квантильных графиков.

Читать далее

Интересные алгоритмы кластеризации, часть вторая: DBSCAN

Reading time10 min
Reach and readers140K
Часть первая — Affinity Propagation
Часть вторая — DBSCAN
Часть третья — кластеризация временных рядов
Часть четвёртая — Self-Organizing Maps (SOM)
Часть пятая — Growing Neural Gas (GNG)

Углубимся ещё немного в малохоженные дебри Data Science. Сегодня в очереди на препарацию алгоритм кластеризации DBSCAN. Прошу под кат людей, которые сталкивались или собираются столкнуться с кластеризацией данных, в которых встречаются сгустки произвольной формы — сегодня ваш арсенал пополнится отличным инструментом.


Читать дальше →

Как построить прогноз спроса и не потерять голову

Reading time13 min
Reach and readers30K

Всем привет! Представьте себе ситуацию: ваша уютная маленькая команда Data Science занимается прогнозированием спроса для пары десятков дарксторов с помощью какого-нибудь коробочного Prophet. И в один прекрасный день к вам приходит бизнес. Бизнес садится, закидывает ногу на ногу, закуривает сигару и говорит:

«Мы хотим максимально автоматизировать закупки. Нам нужно, чтобы вы умели строить прогноз по всем товарам, старым и новым, для всех дарксторов, старых и новых. А их будет много, их будут сотни, тысячи, миллионы. А ещё у нас будет миллион видов скидок и разные типы ценообразования, и ещё куча промо-механик и конкурсов интересных. Мы хотим, чтобы прогноз обязательно адекватно на всё это реагировал». (с) Типичный Бизнес

Хорошо, думаем мы, кажется, что это звучит нетрудно… 

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

Читать далее

Бутстреп и А/Б тестирование

Reading time10 min
Reach and readers105K

Привет, Хабр! В этой статье разберёмся, как с помощью бутстрепа оценивать стандартное отклонение, строить доверительные интервалы и проверять гипотезы. Узнаем, когда бутстреп незаменим, и в чём его недостатки. 

Читать далее

Стратификация. Как разбиение выборки повышает чувствительность A/B теста

Reading time15 min
Reach and readers80K

Всем привет! На связи команда ad-hoc аналитики X5 Tech.

Сегодня подробно обсудим применение стратификации для повышения чувствительности оценки AB экспериментов.

Читать далее

Эмпирическая вероятность

Reading time13 min
Reach and readers6.4K
image
(кадр из телешоу Монти-Холла: гость не сумел правильно подсчитать вероятности, поэтому вместо автомобиля выиграл удивленную ламу)

Давайте обсудим, что мы имеем ввиду, когда произносим слово "вероятность". Я прошу вас попытаться ответить на этот вопрос не с позиции студента или «чистого» математика, а так, как его должны понимать инженер, прикладной исследователь или любой другой человек, которому предстоит принять решение на основании эмпирических данных.
Читать дальше →
1

Information

Rating
Does not participate
Registered
Activity