В последнее время замечаю, что народ соскакивает с проверенного временем метода подбора параметров моделей при помощи GridSearchCV из модуля model_selection библиотеки scikit-learn на библиотеку optuna. Судя по Google Trends эта волна началась около трёх лет назад, но я узнал про библиотеку лишь несколько месяцев назад и успел применить только в паре соревнований. В optuna есть три основных понятия: trial — один запуск функции, качество которой оптимизируем, study — сессия оптимизации.

Continue reading

Возникла идея простого бота, который будет отправлять переданные ему файлы в облако. Однако для аутентификации сейчас практически везде используется OAuth2. Если в web-приложениях пользоваться OAuth2 все уже научились, то с telegram у меня возникли вопросы. В этой заметке будет минимальный пример telegram-бота, который работает с box.com через API с аутентификацией через OAuth2. disclaimer #1: В статье не будет подробного описания работы OAuth2 — только необходимый минимум информации для понимания процесса.

Continue reading

В очередной раз после переустановки Windows осознал, что надо накатить драйвера, CUDA, cuDNN, Tensorflow/Keras для обучения нейронных сетей. Каждый раз для меня это оказывается несложной, но времязатратной операцией: найти подходящую комбинацию Tensorflow/Keras, CUDA, cuDNN и Python несложно, но вспоминаю про эти зависимости только в тот момент, когда при импорте Tensorflow вижу, что видеокарта не обнаружена и начинаю поиск нужной страницы в документации Tensorflow. В этот раз ситуация немного усложнилась. Помимо установки Tensorflow мне потребовалось установить PyTorch.

Continue reading

Я участвую в разработке продукта, одна из фич которго – классификация текстов документов по их содержимому. Например, входящий поток требуется разделить на разные папки: отедилить мух от котлет договоры от счетов-фактур. Кратко одну из последних задач можно описать следующим образом: мы поставляем “в коробке” классификатор с пятью стандартными классами документов, а клиент хочет иметь возможность разделять поток документов на шесть классов: пять наших и один свой. В этой статье я покажу один из возможных вариантов решения этой задачи на примере классического набора данных 20 newsgroup dataset:

Continue reading

Думаю, никого сегодня не удивить рекомендательными системами. Их можно встретить повсюду: на сайте с книгами (ozon.ru), блогах (habr.ru), интернет-магазинах (практически любой), стриминговых музыкальных (spotify, Яндекс.Музыка) и видео сервисах (kinopoisk, ivi, amediateka). Самый продуктивный способ разобраться как работают подобные алгоритмы — написать самому с самого начала. Этому и будет посвящена текущая статья. В рекомендательных системах есть два основных подхода: Content-based рекомендации основанные на описании объектов, которые требуется рекомендовать (рекомендуем фильмы, похожие на те, которые понравились пользователю); Коллаборативная фильтрация основанная на оценках пользователя и похожести его на других пользователей.

Continue reading

Использование переменных окружения в Postman Продолжу тему про Postman. В этой заметке немного расскажу про использование переменных в Postman. JavaScript API Во-первых, напомню, что переменные можно использовать в JavaScript API Postman. Например, для тестов или в pre-request: console.log(pm.variables.get('param')); console.log(pm.environment.get('param')); console.log(pm.globals.get('param')); Объекты variables, globals и environment объекта pm хранят значения переменных из соответствующих scope-ов: из переменных коллекции, из глобального scope и из переменных окружения. Приоритеты получения переменной: pm.environment содержит значения переменных, означенных для окружения, pm.

Continue reading

Наткнулся буквально только что, но, думаю, проблема известная: при запуске из консоли команды jupyter notebookбраузер запускается, но при открытии блокнота намертво зависает. Казалось бы, в чём может быть проблема, если только что на другом комьютере всё работало отлично? Однако, внимательный поиск в Googleмоей любимой поисковой системе натолкнул на мысль, что дело может быть в размере этого блокнота (на момент обнаружения проблемы блокнот дорос до 21Мб). Для проверки этой догадки получил одну из первых версий этого блокнота из VSC (около 200Кб).

Continue reading

Author's picture

feeeper

Разработчик enterprise-решений на .NET. В свободное время пишу на golang, python. Немного развлекаюсь с ML/DS.

Software developer

Russia