Как стать автором
Обновить
32.56

Data Mining *

Глубинный анализ данных

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

ClearML Data Management

Время на прочтение15 мин
Количество просмотров171


Очевидный для ML-инженера факт: если на вход модели подать мусор — на выходе тоже будет мусор. Это правило действует всегда, независимо от того, насколько у нас крутая модель. Поэтому важно понимать, как ваши данные будут храниться, использоваться, версионироваться и воспроизведутся ли при этом результаты экспериментов. Для всех перечисленных задач есть множество различных инструментов: DVC, MLflow, W&B, ClearML и другие. Git использовать недостаточно, потому что он не был спроектирован под требования ML. Но есть инструмент, который подходит для версионирования данных и не только — это ClearML. О нем я сегодня и расскажу.

Читать дальше →
Всего голосов 12: ↑13.5 и ↓-1.5+15
Комментарии0

Новости

Теоретические основы всех популярных алгоритмов машинного обучения и их реализация с нуля на Python

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

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

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

Линейная регрессия. Основная идея, модификации и реализация с нуля на Python

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

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

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

О Wikidata для тех кто вообще не слышал: открытая база данных, сестринский проект Википедии — с ней же и интегрирован

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

Здравствуйте, на Хабре не много о Викиданных, хочу рассказать об этом бесплатном открытом интересном и полезном сервисе. Веб интерфейс располагается по адресу https://www.wikidata.org/wiki/Wikidata:Main_Page.

Читать далее
Всего голосов 41: ↑38 и ↓3+35
Комментарии11

Истории

И к гадалке не ходи. Как и зачем мы предсказываем офлайн-продажи товаров

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

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

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

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

Наивный байесовский классификатор. Основная идея, модификации и реализация с нуля на Python

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

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

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

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

Метод опорных векторов (SVM). Подходы, принцип работы и реализация с нуля на Python

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

Метод опорных векторов (Support Vector Machines или просто SVM) — мощный и универсальный набор алгоритмов для работы с данными любой формы, применяемый не только для задач классификации и регрессии, но и также для выявления аномалий. В данной статье будут рассмотрены основные подходы к созданию SVM, принцип работы, а также реализации с нуля его наиболее популярных разновидностей.

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

Градиентный бустинг. Реализация с нуля на Python и разбор особенностей его модификаций (XGBoost, CatBoost, LightGBM)

Уровень сложностиСложный
Время на прочтение28 мин
Количество просмотров7.3K

На сегодняшний день градиентный бустинг (gradient boosting machine) является одним из основных production-решений при работе с табличными, неоднородными данными, поскольку обладает высокой производительностью и точностью, а если быть точнее, то его модификации, речь о которых пойдёт чуть позже.

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

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

Как я чтение всего контента на RSS переводил

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

TL;DR В статье рассказывается о том, как мне удалось перевести чтение лент в ВКонтакте**, Telegram, Facebook*, Instagram**, Reddit и почтовых рассылок в единый сервис InoReader. Причем почти без написания своих велосипедов.

Подписаться на RSS
Всего голосов 41: ↑40.5 и ↓0.5+40
Комментарии32

Метод главных компонент (PCA). Принцип работы и реализация с нуля на Python

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

Метод главных компонент (Principal Component Analysis или же PCA) — алгоритм обучения без учителя, используемый для понижения размерности и выявления наиболее информативных признаков в данных. Его суть заключается в предположении о линейности отношений данных и их проекции на подпространство ортогональных векторов, в которых дисперсия будет максимальной.

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

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

Кластеризация в ML: от теоретических основ популярных алгоритмов к их реализации с нуля на Python

Уровень сложностиСложный
Время на прочтение34 мин
Количество просмотров13K

Кластеризация — это набор методов без учителя для группировки данных по определённым критериям в так называемые кластеры, что позволяет выявлять сходства и различия между объектами, а также упрощать их анализ и визуализацию. Из-за частичного сходства в постановке задач с классификацией кластеризацию ещё называют unsupervised classification.

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

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

Типичные задачи аналитика. Часть 2. А есть ли тренд?

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

В первой части статьи на Habr мы рассмотрели классические подходы к оценке изменений метрики при условии ее стационарности. В этом контексте статистические критерии, применяемые в A/B тестировании, оказались весьма эффективными.

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

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

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

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

Нелинейные корреляции. Моя любимая статистическая мера: D Хёфдинга

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

Предположим, у вас есть две последовательности чисел, которые вы хотите сравнить, чтобы измерить, насколько они связаны или зависимы друг от друга. Это действительно довольно общий сеттинг: две последовательности могут представлять временные ряды, так что у вас есть таблица с тремя столбцами и кучей строк. Первый столбец будет временем (скажем, с часовыми интервалами), а затем по одному столбцу для каждой последовательности; первый, например, может быть средней ценой акции за этот интервал, а второй - объемом торгуемых акций за этот интервал. Или вы могли бы сравнить процентное изменение цены одной акции по сравнению с другой. Конечно, это вовсе не обязательно должны быть временные ряды: у вас также может быть всего два столбца (то есть вообще без столбца времени). Первый может быть ростом американца старше 30 лет в дюймах, а второй — весом того же человека в фунтах. Или, чтобы использовать более актуальный пример, каждый столбец может представлять вектор эмбеддингов некоторых предложений на английском языке от определенной модели LLM. Первый столбец может быть вектором от модели Mixtral 8x7B для строки "I love my 3 sons" (Я люблю моих трех сыновей), а другой — от той же модели для строки "I cherish my 5 daughters" (Я дорожу моими пятью дочерьми).

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

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

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

После RSS

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

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

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

Два сапога — пара, а три — уже community: как алгоритмы на графах помогают собирать группы товаров

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

Привет, Хабр! Меня зовут Иван Антипов, я занимаюсь ML в команде матчинга Ozon. Наша команда разрабатывает алгоритмы поиска одинаковых товаров на сайте. Это позволяет покупателям находить более выгодные предложения, экономя время и деньги.

В этой статье мы обсудим кластеризацию на графах, задачу выделения сообществ, распад карате-клуба, self-supervised и unsupervised задачи — и как всё это связано с матчингом.

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

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

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

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

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

Анализ системы защиты от ботов на примере letu.ru

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

Анализ системы защиты сайта от ботов на примере letu.ru с использованием javascript reverse engineering.

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

Визуализация статистики о том, что и так все знают

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

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

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

Читать далее
Всего голосов 30: ↑29 и ↓1+28
Комментарии11

Большой тест GPT4, GPT3.5, YandexGPT, GigaChat, Saiga в RAG-задаче. Часть 2/2

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

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

Особенностью эксперимента является в том, что оценку ответов делают обычные люди. Юристы.

Во второй части мы рассмотрим как и зачем делать локальные токензайзеры и попробуем запустить всё полностью на локальной машине с видеокартой 4090.

В конце будет приведена полная сравнительная таблица разных моделей и токензайзеров.

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

Hippotable — анализ данных прямо в браузере

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

Сегодня я расскажу про hippotable — удобный инструмент для анализа данных. Мне часто нужно поковыряться в датасете среднего размера (1–100 Мб), чтобы ответить на довольно простые вопросы. Ни один из существующих инструментов (bash, google sheets, jupyter + pandas) не показался мне особо подходящим для такой задачи, и я... решил сделать свой! Хотел поделиться результатом, показать пару интересных JS-инструментов для обработки и отображения данных, и рассказать, как дальше планирую развивать продукт. Запрыгивайте, будет интересно.

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

Вклад авторов

Работа

Data Scientist
61 вакансия