Рубрика «data mining» - 3

Рефакторинг Shiny приложений - 1
Кадр из фильма «Формула любви», 1984

В жизненном цикле любого эксплуатируемого ПО наступает фаза, когда накопившийся набор изменений (CR) ложится неподъемным грузом на первичную архитектуру и вот тут наступает пора рефакторинга. Много книг понаписано на эту тему, есть специфика для различных языков. Ниже затронем только отдельные аспекты, которые могут оказаться полезным применительно к RStudio Shiny приложениям. Это ряд практических методов, трюков и нюансов, накопившихся при рефакторинге, как правило, чужого Shiny кода.

«Aliena nobis, nostra aliis» — Ежели один человек построил, другой завсегда разобрать сможет.

Это было в фильме, в первоисточнике несколько по-другому. Фраза Публилия Сира «Aliena nobis, nostra plus aliis placent» переводится как «Чужое нам, наше же в основном другим нравится». Но кузнец Степан все равно дело говорит.

Является продолжением серии предыдущих публикаций. Читать полностью »

Привет! Меня зовут Александр, я работаю в команде матчинга Ozon. Ежедневно мы имеем дело с десятками миллионов товаров, и наша задача — поиск и сопоставление одинаковых предложений (нахождение матчей) на нашей площадке, чтобы вы не видели бесконечную ленту одинаковых товаров.
На странице любого товара на Ozon есть картинки, заголовок, описание и дополнительные атрибуты. Всю эту информацию мы хотим извлекать и обрабатывать для решения разных задач. И особенно она важна для команды матчинга. 
Чтобы извлекать признаки из товара, мы строим его векторные представления (эмбеддинги), используя различные текстовые модели (fastText, трансформеры) для описаний и заголовков и целый набор архитектур свёрточных сетей (ResNet, Effnet, NFNet) — для картинок. Далее эти векторы используются для генерации фичей и товарного сопоставления.
На Ozon ежедневно появляются миллионы обновлений — и считать эмбеддинги для всех моделей становится проблематично. А что, если вместо этого (где каждый вектор описывает отдельную часть товара) мы получим один вектор для всего товара сразу? Звучит неплохо, только как бы это грамотно реализовать…

Векторное представление товаров Prod2Vec: как мы улучшили матчинг и избавились от кучи эмбеддингов - 1
Читать полностью »

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

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

Читать полностью »

В настоящей статье изложены выводу, к которым я пришел по результатам исследования датасета,  представленного АО «Альфа Банк» в рамках хакатона AlfaBattle 2.0 в декабре 2020 года.

Организатором Хакатона представлены данные о транзакциях по банковским картам в отношении 1.5 млн клиентов,  предоставивших впоследствии заявку на получение кредитной карты.  Задача Хакатона – построение модели бинарной классификации обеспечивающей предсказание дефолта по кредитной карте на основании транзакционных данных. 

Условия задачи представлены здесь

Читать полностью »

Моя маленькая помощь малым языкам - 1

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

На территории России проживает большое количество народов, говорящих более чем на 270 языках. Около 150 языков насчитывает менее 1 тысячи носителей, а за последние 20 лет 7 языков уже исчезло.

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

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

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

I. Извлекаем параллельный корпус

Для выравнивания двух текстов я написал на python'е библиотеку lingtrain_aligner. Код у нее открыт. Она использует ряд предобученных моделей, можно подключать и свои. Одной из самых удачных мультиязыковых моделей сейчас является LaBSE. Она обучалась на 109 языках. Так как соотношение текстов смещено в сторону популярных языков, то для них качество эмбеддингов (эмбеддингом называют вектор чисел применительно к данным, которые он описывает) будет лучше.

Читать полностью »

Что же не так с любыми электронными голосованиями? - 1

Данная публикация написана по мотивам поста «Что же не так с ДЭГ в Москве?». Его автор описывает, как можно выгрузить и расшифровать данные по электронному голосованию, а также приводит целый список замечаний к его текущей системе.

Читать полностью »

Как спарсить любой сайт? - 1

Меня зовут Даниил Охлопков, и я расскажу про свой подход к написанию скриптов, извлекающих данные из интернета: с чего начать, куда смотреть и что использовать.

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

TL;DR

Читать полностью »

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

К счастью, это можно посчитать.

Отсылки в современных произведениях популярного искусства - забавная вещь. Люди их любят. Возьмем популярный мультсериал Читать полностью »

В этой статье я хочу продемонстрировать R Markdown — удобную надстройку для программирования вашего проекта как на R, так и на Python, позволяющую программировать некоторые элементы вашего проекта на двух языках и управлять объектами, созданными на одном языке, с помощью другого языка. Это может быть полезно потому, что:

  1. Позволяет писать код на привычном языке, но при этом использовать функции, существующие только в другом языке.
  2. Позволяет напрямую сотрудничать с коллегой, который программирует на другом языке.
  3. Даёт возможность работать с двумя языками и со временем научиться свободно владеть ими.

Как быть билингвом в Data Science - 1


Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js