Как стать автором
Обновить
4
0
Володя @NoobodyKms

Пользователь

Отправить сообщение

Использование квадродеревьев при расчёте пробок 2ГИС

Время на прочтение6 мин
Количество просмотров22K
Даже не являясь навигатором, 2ГИС собирает и показывает информацию о пробках. Во-первых, это необходимо для построения оптимальных маршрутов, а во-вторых — такие данные очень нужны пользователям в больших городах.

В 2ГИС сервис пробок появился в сентябре 2011 года и сегодня работает в пяти городах (Новосибирск, Санкт-Петербург, Красноярск, Уфа, Казань). В планах на ближайшее будущее — запустить пробки во всех городах-миллионниках.

Под катом история про то, с какими проблемами мы столкнулись и как их решили.

Читать дальше →
Всего голосов 56: ↑53 и ↓3+50
Комментарии20

А/Б тестирование на маленьких выборках. Построение собственного критерия

Время на прочтение8 мин
Количество просмотров9.1K

Хабр, привет! Сегодня рассмотрим кейс, в котором классические статистические критерии не работают, и разберёмся, почему так происходит. Научимся строить свои собственные критерии по историческим данным. Обсудим плюсы и минусы такого подхода.

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии4

Бутстрап временных рядов

Время на прочтение19 мин
Количество просмотров6.2K

Всем привет! Как и во многих других компаниях, в X5 существует огромное количество данных, зависящих от времени. Такие данные принято называть временными рядами (time-series). Это могут быть данные о продажах в магазинах, об остатках на складах или об удовлетворенности клиентов. Используя эти данные, мы хотим искать инсайты и приносить пользу бизнесу.

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

Для временных рядов бывает полезно оценить границы, в которых находятся параметры модели, из которой получен ряд. Кроме того, часто необходимо посчитать доверительный интервал, в котором находятся предсказания для объекта с использованием моделей машинного обучения. Однако обычные методы бутстрапа не подойдут для временных рядов, так как они не учитывают структуру таких данных.

В нашем обзоре мы рассмотрим, как различные модификации метода бутстрапа учитывают структурные особенности и зависимости в данных временных рядов. Особое внимание будет уделено объяснению, почему нельзя применять стандартный подход бутстрапа к временным рядам без учёта их структуры. Затем мы перейдем к обзору методов, которые позволяют эффективно решить эту проблему.

Читать далее
Всего голосов 9: ↑8 и ↓1+10
Комментарии0

Precision и recall. Как они соотносятся с порогом принятия решений?

Время на прочтение3 мин
Количество просмотров43K

Недавно, постигая азы Машинного Обучения и изучая классификацию, я наткнулся на precision и recall. Диаграммки, которые часто вставляют, объясняя эти концепции, мне не помогли понять отличия между ними. Но чудо, я придумал объяснение, которое понятно мне, и я надеюсь, что оно поможет кому-нибудь из вас на пути изучения ML (возможно это объяснение кто-то придумал до меня) .

Перед тем как начинать, давайте представим горку песка, но в этом песке ещё есть песчаные камни, они ведь тоже являются песком, так? Также в этом песке есть некоторый мусор. Наша задача - просеять песок...

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии2

Модель колебательного звена с применением символьного и численного решений дифференциального уравнения на SymPy и NumPy

Время на прочтение5 мин
Количество просмотров8.3K

Задача


В статья использованы возможности пакета SymPy совместно с пакетом NumPy. Всё сводиться к преобразованию символьных выражений в функции способные работать с другими модулями Python.

Процесс решения дифференциальных уравнений становиться наглядным и хорошо контролируемым на каждом этапе вычислений. Следует отметить, что колебательное звено в разных интерпретациях обсуждается в сетях [1,2]. Например, в [3] приводиться модель колебательного звена с подробным исследованием переходных процессов.

Надеюсь, что подобные исследования колебательного звена на Python найдут своих сторонников.
Читать дальше →
Всего голосов 22: ↑16 и ↓6+10
Комментарии5

CPPN + музыка. Генерируем музыкальное видео

Время на прочтение7 мин
Количество просмотров2.6K

Привет, Хабр. Мне не удалось найти русскоязычные статьи, посвященные генерации артов с помощью архитектуры CPPN, поэтому я сам расскажу о том, что можно с ней сделать. Это позволит скрасить пару вечеров и сгенерировать себе, например, обои на рабочий стол. А может и придумать что-нибудь серьезное. 

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

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Модельный риск: как увеличить эффективность работы ML моделей в большой компании

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров2.8K

Привет, Хабр! В этой статье мы – Святослав Орешин и Александр Сахнов – попытались  разобрать достаточно специфичную для классического Data Science и критически важную для бизнеса тему – модельный риск или risk management для машинного обучения. 

Под катом говорим о том, как можно сделать машинное обучение в компании более эффективным, какие бывают риски у ML моделей и как на них реагировать, а также делимся своим опытом, как мы построили систему по модельному риску в X5 Tech – компании с сотнями ML моделей в production.

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

Читать далее
Всего голосов 3: ↑2 и ↓1+3
Комментарии0

Как выглядит техсобес в современном мире и нужно ли к нему готовиться?

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров22K

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

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

Читать далее
Всего голосов 15: ↑11 и ↓4+10
Комментарии22

Виртуальная клавиатура на Python+OpenCV

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров8K

В данной статье разберемся, как написать виртуальную клавиатуру, используя Python+Opencv.

Идея заключается в создании виртуальной клавиатуры, выводе на экран и возможности ее использования. Подразумевается, что клавиатура будет работать с текстовыми редакторами. Для того, чтобы нажать на кнопку, нам потребуется кликнуть на нее, поэтому представим, что кликом будет служить соединение указательного и среднего пальцев. Теперь можно писать код.

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии4

Революция от OpenAI — полный обзор: что означают последние анонсы для продуктовой разработки

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров24K

Неделю назад я получил уведомление о начале трансляции первой разработческой конференции от OpenAI. Было неудобно смотреть эфир живьём, так что я уложил детей спать, и ночью, заварив себе какао, с предвкушением открыл YouTube.

Конечно, я к тому времени не выдержал и посмотрел краткие описания анонсов, так что был готов к тому, что увижу, но скажу честно: не смотря на презентацию в стиле студенческих конференций (на финальный слайд (под катом) вообще без слёз не взглянешь), чем дольше я слушал об анонсах, тем больше у меня отвисала челюсть.

Это не просто небольшие улучшения; это действительно скачок вперед. Я слушаю про увеличение длины контекста до 128К, обновлении данных до апреля текущего года, об интеграции в API интерпретатора, нового "рисователя" DALLE-3, анализ изображений, извлечение данных из массивов, безлимитных "ассистентов" и чуть ли не подпрыгиваю на стуле от оживления: решилось огромное количество проблем, которые до этого требовали человеко-месяцы доработки довольно квалифицированной командой.

Как только презентация подходит к концу, я судорожно открываю беклог и начинаю записывать и редактировать идеи. Я уверен, что перед разработчиками открыли действительно большие возможности, которые переопределят способ разработки и восприятия продуктов. И если тема AI вас как минимум интересует и вы ещё и занимаетесь продуктовой разработкой, а перепосченных по 150 раз новостей не хватает понять, что это значит лично для вас и команды, этот обзор будет весьма кстати.

Итак, что нового
Всего голосов 15: ↑13 и ↓2+13
Комментарии25

Прогнозирование временных рядов с помощью библиотеки Skforecast

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров8.5K


В открытом доступе существует огромное число библиотек для построения моделей машинного обучения в Python. Самые популярные — scikit-learn, XGBoost, LightGBM, Catboost, PyTorch. Каждая из них позволяет построить регрессионную модель для прогнозирования на временных рядах, но для этого требуется преобразование данных и создание новых фичей (feature engineering).

Кроме того, временные ряды требуют своих подходов в оценивании моделей машинного обучения, так как стандартная кросс-валидация не подходит для временных данных. В этой статье мы (я + я) рассмотрим нюансы прогнозирования на практике и с помощью библиотеки skforecast.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии3

LangСhain: создаем свой AI в несколько строк

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров52K

В этой данной статье познакомимся с LangChain, перспективным фреймворком для работы с языковыми моделями. С его помощью можно создать свой собственный аналог ChatGPT всего в несколько строк кода. Благодаря модульной структуре, LangChain позволяет быстро и легко разрабатывать AI приложения различной сложности.

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии8

Как написать идеальный запрос для ChatGPT

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров68K

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

Я потратил много часов на различные курсы по промт-инжинирингу и постоянно тестировал различные структуры запросов, чтобы построить формулу, которая могла бы приблизить меня к качественным ответам.

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

ChatGPT я пользовался через русифицированный сервис MashaGPT, который работает без VPN и виртуальных сим-карт. Все примеры взяты из него.

Читать далее
Всего голосов 16: ↑11 и ↓5+7
Комментарии8

Как использовать промты в ChatGPT для генерации кода на Python

Время на прочтение2 мин
Количество просмотров45K

Привет, друзья! Сегодня я хочу рассказать вам о том, как использовать промты в ChatGPT для создания программного кода на Python. Если вы работаете с Python или интересуетесь программированием, то вы, наверняка, знаете, насколько важно уметь быстро и эффективно создавать код.

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

Чатбот ChatGPT основан на искусственном интеллекте и способен генерировать текст на основе предыдущих входных данных, так же основан на copilot. Таким образом, мы можем использовать его для генерации промтов для создания кода на Python.

После множества экспериментов и ошибок, я нашел наиболее оптимальный промт для работы с ChatGPT, который позволяет мне полностью автоматизировать процесс разработки программы в соответствии с моим ТЗ. Сейчас я готов поделиться с вами своим опытом.

Читать далее
Всего голосов 11: ↑9 и ↓2+9
Комментарии42

Введение в data science: инструменты и методы анализа

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров11K

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

Читать далее
Всего голосов 6: ↑4 и ↓2+2
Комментарии1

Малоизвестные библиотеки Python для анализа данных, которые сделают вашу жизнь проще

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров29K

Привет Хабр! В этой статье мы рассмотрим некоторые полезные библиотеки Python для задач обработки данных, с которыми, возможно, вы еще не знакомы. Хотя для задач машинного обучения на ум приходят такие библиотеки, как pandas, numpy, scikit-learn, keras, tensorflow, matplotlib и т.д., но всегда полезно знать о других предложениях Python, особенно если это поможет улучшить ваши проекты.

Читать далее
Всего голосов 18: ↑17 и ↓1+20
Комментарии4

Как получить полезную информацию из своих категориальных признаков?

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров8.4K

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

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии5

Как получить работу в области Data Science? 8 простых шагов

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров17K

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

Читать далее
Всего голосов 12: ↑9 и ↓3+8
Комментарии4

“Ну и долго мне ещё до магазина?” Или пара слов о геоинформационном анализе с помощью Python

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров6.3K

Привет, хабр! Сегодня мы хотели бы продолжить тему обработки пространственных данных средствами Python библиотеки estaty. Мы уже рассказывали о том как можно Объединять открытые данные Open Street Map и Landsat для уточнения площадей зеленых зон вокруг объектов недвижимости.

Теперь же поговорим о более сложном анализе

Ну правда, долго?
Всего голосов 11: ↑10 и ↓1+10
Комментарии0

Что такое MLOps? Операции машинного обучения на пальцах

Время на прочтение8 мин
Количество просмотров12K

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

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии2
1

Информация

В рейтинге
Не участвует
Откуда
Одинцово, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Data Analyst, Data Scientist
Junior
От 100 000 ₽
Python
Pandas
TENSORFLOW
Pytorch
NumPy
Computer vision
Machine learning
Neural networks
SQL
Data Analysis