Обновить
512K+

Python *

Высокоуровневый язык программирования

355,8
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Большая подборка авторских каналов по аналитике 2024

Время на прочтение6 мин
Охват и читатели11K

Я провел большую работу и собрал для вас 17 авторских тг-каналов по аналитике данных, которые постят свежий, интересный и полезный контент.

Без рекламы (ну или почти без нее), с разумным балансом экспертного контента/лайфстайла и интересной подачей. Короче, реальный свежачок, а не «очередная подборка».

Кстати, меня зовут Алексанян Андрон 👋🏻 Я основатель Simulative, где мы обучаем крутых аналитиков данных на кейсах из реального бизнеса. И у меня тоже есть авторский канал по аналитике!

Читать далее

Стратификация: как не облажаться с A/B тестами

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели2.7K

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

Представьте: вы запускаете A/B тест. Цель проста: проверить, работает ли новая кнопка лучше старой. Но тут же возникает мысль: «А вдруг мобильные юзеры и десктопные реагируют по-разному? А что с новыми пользователями? Их мнение ведь явно не равноценное опытным юзерам». Без стратификации результат может быть так себе.

Что такое стратификация? Это способ сделать A/B тесты чуточку честнее. Берем выборку, делим ее на однородные группы — страты — по ключевым признакам (например, устройство и статус пользователя), а потом уже распределяем юзеров в группы А и Б.

Читать далее

Мэтчинг персонажей. Level Hard

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

Интро

Для всех, кто знаком со свертками, задача мэтчинга персонажейне кажется сверхсложной. На Kaggle есть даже соревнования с подобной задачей и размеченный датасет с персонажами мультсериала Симпсоны. Но здесь ключевое слово — «размеченный».

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

Какие данные

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

Итого, у нас в датасете оказалось около 25 тысяч гравюр. Да-да, это только гравюры, о количестве персонажей пока речи не идет. А учитывая любовь граверов 18-19 веков к изображению сцен с массовыми скоплениями людей, можем утверждать сразу, что персонажей будет намного больше.

Читать далее

Tg бот для IT + автоматизация ИПРО-2 используя MTS Exolve. Упаковка в Docker и автоматизация сборки с GitHub Actions

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

Статья написана с целью передачи проекта всем кто ищет информацию по написанию простых ботов, началу работы с docker и github Actions.

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

Стратегия Келли точно не подведёт

Время на прочтение6 мин
Охват и читатели11K

Возможно, вы слышали о финансовой стратегии ставок по методу Келли. Это система, позволяющая оборачивать себе на пользу известную информацию в азартной игре или связанные с ней предубеждения. Эта стратегия также называется максимально агрессивной или стратегией высокой дисперсии. Дело в том, что если сделать ставку выше, чем позволяет предел Келли, то последствия могут быть катастрофическими.
Недавно мне попалась странная карточная игра, в которой стратегия Келли абсолютно не подразумевала риска, поскольку в игре действует Нулевая дисперсия. В своей знаменитой книге «Математические головоломки» Питер Уинклер называет её «Next Card Bet» («Следующая карточная ставка»). Саму задачу и её решение, по-видимому, сформулировал Томас Кавер. Мне понравилась как сама эта игра в ставки, так и её анализ, поэтому я поделюсь ими с вами здесь.

Читать далее

Матрица ошибок confusion_matrix() в scikit-learn

Время на прочтение8 мин
Охват и читатели16K

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

Обычно для бинарной классификации она выглядит так:

Читать далее

Мир за пределами Pandas: достойные альтернативы для работы с данными

Время на прочтение7 мин
Охват и читатели19K

Хабр, привет! Это Леша Жиряков, техлид backend-команды витрины онлайн-кинотеатра KION. В мире дата-аналитики Pandas остается одной из самых популярных библиотек. Но это вовсе не значит, что нет других быстрых, удобных и производительных инструментов. Мой пост покажет альтернативы: от колоночной DuckDB и сверхскоростной Polars до мощного Modin и гибкого Vaex. В подборке я постарался передать главную суть — назначение и преимущества инструмента и его характеристики с GitHub.

Читать далее

Анализ фильмов с интернет-портала Кинопоиск

Уровень сложностиСредний
Время на прочтение41 мин
Охват и читатели8.3K

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

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

Для эффективной работы системы был использован современный технологический стек. Обработка данных осуществлялась с помощью MongoDB, что обеспечило хранение и управление большими объёмами неструктурированной информации. RabbitMQ организовал асинхронный обмен сообщениями между компонентами системы, а серверная часть приложения разрабатывалась на базе Spring Boot, что ускорило процесс разработки и упростило развертывание приложения. Контейнеризация с использованием Docker обеспечила удобное развертывание и масштабирование системы. Основными языками программирования стали Java 17 и Python: Java использовалась для серверной части и микросервисов, а Python — для анализа данных и построения алгоритмов обработки информации.

Для анализа данных применялись библиотеки Pandas, Seaborn и SciPy, которые обеспечили эффективную обработку данных и визуализацию результатов. В рамках анализа строились графики, отображающие популярность жанров, исследовалась корреляция оценок на Кинопоиске и IMDb, а также визуализировалась связь между бюджетами и кассовыми сборами. Для представления результатов применялись такие инструменты, как matplotlib и seaborn, позволяя визуализировать ключевые закономерности в виде графиков и диаграмм.

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

Читать далее

Сокращать срок или платёж — раскрываем черный ящик ипотечного калькулятора

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

Привет! Меня зовут Зайнулла, я разработчик‑исследователь в InfoWatch и преподаватель в МГТУ им. Баумана. Сегодня расскажу о результатах не совсем типичного для меня исследования.

В статье «Уменьшать срок или платёж, что выгоднее: наглядное сравнение способов досрочного погашения кредита» проделана большая работа и сделаны правильные выводы, но меня смущает, что проведено исследование ипотеки как чёрного ящика, т. е. методом подстановки чисел в ипотечные калькуляторы с последующим сравнением результатов. Говорится о том, что показана математическая равнозначность методов, но сравнение результатов из ипотечных калькуляторов для нескольких частных случаев нельзя назвать доказательством в математическом смысле. Хотелось бы понимать причины равнозначности методов.

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

Читать далее

Сборка RPM-пакетов в ALT Linux: автоматизация с помощью GEAR

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

В первой части материала мы разобрали случай сборки простого rpm-пакета в ALT Linux. За пример брали набор файлов изображений и собирали стандартной утилитой rpmbuild.

В этом материале поговорим про сборку python-проекта специальным инструментом — GEAR. Этот инструмент разработала команда сообщества Альт для автоматизации процесса сборки.

Общими словами, GEAR — это удобная обвязка вокруг Git и rpmbuild. Достаточно в дополнение к spec-инструкции написать GEAR-правила формирования архива, полученного из git-репозитория.

Материал статьи может быть полезен при изучении темы сборки rpm-пакета инструментом gear-rpm в ОС «Альт».

Собрать пакет

Godot 3.6 с поддержкой python

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

Для особо извращённых, кому не нравится gdscript, но нравится python, кратко хотелось бы рассказать, как делать в Godot всякое при помощи своего любимого языка.

Окружение: win, сборка игры под платформу: win. Предполагается что python (>= 3.7) и pip уже установлены.

Поехали!

Как решить Captcha: Подробное руководство

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

Узнайте, как решить Captcha с помощью пошагового руководства и полезных советов для автоматизации. Узнайте, как решить Captcha с помощью пошагового руководства и полезных советов для автоматизации

Узнайте, как решить Captcha с

Как мы используем разделяемую память в Aqueduct

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели2.3K

Привет. Меня зовут Денис Лисовик, я Backend-инженер в команде Data Science SWAT Авито. В этой статье рассказываю, как использовать разделяемую память в Aqueduct. Вместе мы шаг за шагом пройдем от сервиса, который едва держит один RPS, до сервиса, который может держать сотни запросов в секунду. В процессе вы узнаете, как использовать разделяемую память и как сделать так, чтобы она не утекала, а приложение не падало с Segmentation fault.

Читать далее

Ближайшие события

Сортировка книг по тематикам скриптами Python

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели13K

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

Примерно раз в месяц я с телеграм-каналов докачиваю еще 1–2 тысячи книг, из которых реально новых — не более 100–200, остальное у меня уже есть. Кроме того, попадаются сканированные книги с околонулевой пользой, если их не распознавать.

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

Читать далее

Всё про конфиги

Уровень сложностиПростой
Время на прочтение21 мин
Охват и читатели36K

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

Узнать страшную правду

Молчаливый Wazuh — тюнинг, минимизация событий, уведомления в Telegram

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

Недавно добрался наконец то до изучения Wazuh - чтобы была польза от процесса познания, поставил для теста на небольшой больнице и определил задачи, которые он должен решать:

Читать далее

Функциональные зависимости в таблице (удобный форк FDTool для python3)

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

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

В статье поговорим про functional dependencies и про python библиотеку работы с ними - FDTool.

Читать далее

FastAPI и Dependency Injection: правда или вымысел?

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

В свое время FastAPI прогремел как гром среди ясного неба - тут тебе и минималистичный API аля-Flask (все устали от Django, диктующего свои правила), и OpenAPI документация из коробки, и удобное тестирование, и хайповая асинхронность. Буквально все, что нужно для свободы творчества, и никаких ограничений! Да еще и Depends завезли! В тот момент это был культрурный шок - Dependency Injection в Python? Разве это не что-то из Java?

Но дьявол кроется в деталях. А вы уверены, что те самые Depends == Dependency Injection? Уверены, что пишете код на FastAPI правильно?

В рамках статьи мы рассмотрим различные подходы к организации зависимостей в рамках FastAPI проекта, оценим их с точки зрения удобства использования и постараемся разобраться, как же все-таки "правильно" готовить DI в FastAPI.

Давайте разбираться

Укрощение строптивого прибора или python в помощь инженеру

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

Здравствуйте товарищи!

В данной статье хочу поделиться с вами своим опытом по применению стандартных команд для программируемых инструментов (SCPI).

Читать далее

Как сократить время выполнения ресурсоемких задач в Python

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели4.4K

Всем привет! На связи Spectr и рубрика «Что читают наши разработчики». Сегодня разберем практические методы ускорения тяжелых вычислений с помощью оптимизации на GPU в Python.

Узнать о методах ускорения в Python