Pull to refresh
-3
0
Send message

Управление цветами в Seaborn: как визуализировать данные красиво

Level of difficultyMedium
Reading time20 min
Views8K

Привет, Хабр. В этой статье я расскажу про своё видение работы с цветом при визуализации графиков. Буду показывать все на примерах — уверен, они вам понравятся.

Я покажу не только картинки было-стало, но и приведу примеры кода, а также объясню логику принятия решений: как использовать ту или иную палитру в конкретной задаче. И что самое главное, дам пошаговые советы, как сделать график логичнее и понятнее для заказчиков.

Меня зовут Саша, сейчас я работаю в Lamoda Tech старшим бизнес/дата-аналитиком. До этого я несколько лет был специалистом по данным в другой компании и регулярно представлял совету директоров анализ и прогноз физических и бизнес-показателей. Умение донести результаты исследования до заказчика, особенно если он не погружен в работу с данными — это важный аспект моей профессии. Надеюсь, моя статья с этим немного поможет.

Читать далее
Total votes 25: ↑25 and ↓0+25
Comments8

Работа с UI-автотестами под Android: от запрета мерджа к особенностям запуска

Level of difficultyMedium
Reading time13 min
Views2.5K

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

Меня зовут Эмилия Куцарева. Я — руководитель команды автоматизации тестирования в Одноклассниках (VK). В этой статье я расскажу о нашем подходе к работе с Android UI-автотестами: как устроен запрет мерджа, как смогли стабилизировать тесты, как настроили параметризацию запуска.

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments5

CV Tools — система зрения для конечных пользователей

Level of difficultyEasy
Reading time7 min
Views1.1K

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

CV tools — сервис анализа визуальной информации, имеющей в составе средства настройки и тестирования необходимых задач для не‑программиста, он также позволяет использовать обученную систему как REST‑сервер для анализа изображений.

Читать далее
Total votes 5: ↑4 and ↓1+6
Comments0

Сложная архитектура простых приложений

Level of difficultyMedium
Reading time14 min
Views8.4K

По мотивам Adidas Running (ex. Runtastic)

Как я бы проектировал это интересное, но малоизвестное у нас приложение в роли архитектора.

Предыстория

Рынка систем электронных соревнований (в 2012 г) нет, но есть огромный интерес к спортивному образу жизни и к соревнованиям. В США не менее 50 миллионов (!) человек (это примерно 15% всего населения) хотя бы раз в неделю выходят на пробежку.

Адидас имеет объем продаж 20–30 млрд долл. в год.

Основной рынок – США, остальные страны – второстепенные рынки.

Посмотреть архитектуру
Total votes 12: ↑10 and ↓2+12
Comments4

ChatGPT и отзывы на приложение: Анализ тональности для улучшения пользовательского опыта

Reading time10 min
Views1.5K

Привет, дорогие читатели Хабра!

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

В этой статье я расскажу о том, как можно использовать возможности Natural Language Processing (NLP) для анализа отзывов, собранных из приложения AppStore. Я исследую, как каждый отзыв, содержащий дату, заголовок, текст и оценку пользователя, может быть преобразован в ценные данные для обучения модели анализа тональности. Эта модель будет способна классифицировать отзывы как положительные, негативные или нейтральные, предоставляя нам глубокое понимание эмоциональной окраски пользовательских мнений.

Читать далее
Total votes 8: ↑5 and ↓3+4
Comments1

Заблуждения и недопонимания про дефицит калорий. Часть 2. Побочки и метаболическая адаптация

Level of difficultyEasy
Reading time7 min
Views6.1K

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

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

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

Читать далее
Total votes 14: ↑10 and ↓4+8
Comments8

Лонгрид о JavaScript

Reading time6 min
Views10K

JavaScript — ужасный язык программирования. По сравнению с другими распространёнными языками он выглядит генетическим уродом. Дело даже не в отсутствии многопоточности, или статической типизации, или того, что node_modules для простого проекта занимают сотни мегабайт, а в том, что в JavaScript столько стилей и подходов, что семь человек одну и ту же несложную задачу могут написать на нём семью различными способами. Каждый из них с трудом будет понимать, что написал другой, и тихо материться. Причем, так напишут и новички, и опытные программисты, которые просто привыкли писать по‑своему или захотели выпендриться.

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

Читать далее
Total votes 38: ↑22 and ↓16+10
Comments75

Скрытые симптомы: как модели машинного обучения предсказывают развитие болезни Альцгеймера за 7 лет до ее начала

Level of difficultyMedium
Reading time20 min
Views3.4K

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

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

На помощь в решении данной проблемы пришло машинное обучение!

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

Приятного прочтения! :)

Читать далее
Total votes 22: ↑20 and ↓2+19
Comments7

Это мы юзаем: библиотека Optuna в Python для оптимизации гиперпараметров

Level of difficultyMedium
Reading time7 min
Views5.8K

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

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

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

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

Optuna решает проблему оптимизации гиперпараметров, предоставляя легковесный фреймворк для автоматизации поиска оптимальных гиперпараметров. Она использует алгоритмы, такие как TPE, CMA-ES, и даже поддерживает пользовательские алгоритмы.

Optuna полностью написана на Python и имеет мало зависимостей. В этой статье рассмотрим её основной функционал.

Читать далее
Total votes 16: ↑15 and ↓1+19
Comments2

Дескрипторы в Python

Level of difficultyEasy
Reading time7 min
Views11K

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

Дескриптор — это объектовый атрибут с поведением, определяемым методами в его классе. Если просто — это способ, с помощью которого объект может контролировать доступ к его атрибутам, используя специально определенные методы __get__, __set__, и __delete__. Если говорить еще проще — дескрипторы позволяют задавать точки доступа к атрибутам объекта, добавляя дополнительную логику, когда атрибут читается, записывается или удаляется.

В этой статье поговорим подробней про дескрпиторы.

Читать далее
Total votes 10: ↑9 and ↓1+10
Comments3

Логистическая и Softmax-регрессии. Основная идея и реализация с нуля на Python

Level of difficultyHard
Reading time9 min
Views4.6K

Начнём с более простого. Логистическая регрессия — линейный бинарный классификатор, основанный на применении сигмоидальной функции к линейной комбинации признаков, результатом которого является вероятность принадлежности к определённому классу. Обычно порог устанавливается 0.5: если вероятность меньше порога — класс относится к 0, а если больше — к 1. В принципе, условия определения логистической регрессии такие же как и у линейной за исключением бинаризации таргета.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments0

Как работает multiprocessing в Python под капотом

Level of difficultyHard
Reading time12 min
Views9.2K

Я довольно давно пишу на Python и во многих проектах использовал multiprocessing — пакет стандартной библиотеки языка Python, который предоставляет интерфейс для работы с процессами, очередями, пулами процессов и многими другими удобными инструментами для параллельного программирования. В какой-то момент я понял, что мне не хватает более детального понимания работы этой библиотеки.

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

Читать далее
Total votes 17: ↑17 and ↓0+18
Comments2

Как задеплоить сайт в облако. Инструкция для новичков

Level of difficultyEasy
Reading time6 min
Views7.7K

Опубликовать сайт можно разными способами. Например, если проект лежит в репозитории на GitHub, можно воспользоваться GitHub Pages. Но если вы не боитесь трудностей, советуем попробовать кое-что поинтересней — разместить сайт на облачном сервере.

Новичкам этот способ может показаться сложным. Но на самом деле он очень удобен, потому что вы сможете легко масштабировать архитектуру проекта и гибко управлять мощностями сервера.
Читать дальше →
Total votes 34: ↑28 and ↓6+31
Comments18

Продуктовый подход к pet-проекту или как я разработал музыкальное веб-приложение

Level of difficultyMedium
Reading time9 min
Views10K

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

Читать далее
Total votes 37: ↑35 and ↓2+35
Comments31

Как я разрабатывал веб-сервис по бронированию электронных зарядных станций для электромобилей (часть 1)

Level of difficultyMedium
Reading time19 min
Views2.3K

Привет всем, на связи Арсений Елисеев, я fullstack-разработчик в одном ИТ-интеграторе! Относительно недавно мы получили заказ на разработку веб-сервиса, который позволял бы нашим клиентам, владельцам электрокаров, строить маршруты и на их протяжении бронировать электронные зарядные станции под свои нужды. Я представил свою версию системы и хотел бы поделиться с вами ходом мыслей. Возможно, кто-то захочет прокомментировать мою модель или дать совет.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments5

Как мы прогнозируем объемы грузоперевозок на основе машинного обучения, используя MLflow

Level of difficultyEasy
Reading time3 min
Views2.3K
Привет, коллеги! Меня зовут Александр Кузьмичев, и я ведущий специалист по анализу данных в Первой грузовой компании. Мы с коллегами разработали «Прогнозатор» — инструмент для оценки объемов грузоперевозок между ж/д станциями. В основе лежит открытая платформа MLflow, и сегодня я расскажу, чем она нам помогает.


Фотография Ainur Khakimov / Unsplash
Читать дальше →
Total votes 6: ↑4 and ↓2+5
Comments2

Как я разрабатывал веб-сервис по бронированию зарядных станций для электромобилей (часть 2)

Level of difficultyMedium
Reading time9 min
Views2.4K

Всем привет, на связи снова Арсений Елисеев! Продолжаем работу над созданием веб-приложения для управления бронью ЭЗС, которое мы начинали ранее: …. Сейчас мы обратим внимание на практические аспекты: построение математической модели метода, его программная реализация и экономическое обоснование разработанного ИТ-решения.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments17

Кодогенерация токенов дизайн-системы для Android по Figma API

Level of difficultyMedium
Reading time11 min
Views2.9K

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

Рассказываю про наш тернистый путь к собственному генератору токенов дизайн-системы.

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments6

Парсинг веб-сайтов: взгляд изнутри

Level of difficultyEasy
Reading time5 min
Views8.6K

Статья о парсинге веб-сайтов освещает следующие аспекты:

• Понятия парсинга и скрапинга;
• Законность и этика парсинга;
• Парсинг с использованием requests и BeautifulSoup;
• Статические страницы;
• Динамические страницы;
• Работа с API;
• Защита от парсеров;
• Способы обхода.

Читать далее
Total votes 14: ↑10 and ↓4+9
Comments10

Поиск цикла Эйлера алгоритмом backtracking

Reading time2 min
Views2.8K

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

Читать далее
Total votes 3: ↑2 and ↓1+3
Comments8

Information

Rating
Does not participate
Registered
Activity