Dmatryusофрения
40 subscribers
290 photos
10 videos
15 files
148 links
Пишу о книгах, лидерстве, технологиях, opensource, своих проектах и наверное чем-то ещё. Ну и репосты IT приколямб.
Download Telegram
#open_source #dmdslab

Представляю вам очередную итерацию моих попыток сделать универсальные DS утилки: DmDSLab

Залил это дело в пупи, так что без проблем можете тестить:
pip install DmDSLab


Там пока особо полезного ничего нет. Но лично мне сейчас интересны общие относительно удобные структуры данных и функции для чистки данных.

Планирую постепенно дополнять функциями репу и писать доки на wiki.

Буду рад, если кому-то окажется полезным и вдвойне рад обратной связи 😊
Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
↔️ Как не потерять данные из-за пропусков: практические стратегии Пропущенные данные — распространённая проблема в реальных проектах. Причины могут быть разными: ошибки при сборе, повреждение файлов, неполные опросы и прочее. Представляем три продвинутых…
#classic

Попробовал "в бою" IterativeImputer и это немного разочаровательный опыт. На небольших данных я особого сравнения не делал, но это работало. А на больших (на самом деле не очень: в районе пары гигов) эта фигня за 7 часов не посчиталась. Тут, конечно, не без нюансов. Я не занимался особой настройкой, возможно, если более осознано заняться тонкой настройкой, то все отработало бы за более адекватное время, но что-то мне подсказывает, что заниматься тонкой настрой импутера и ждать не вразумительное количество времени без калбэков - это не то, что вы хотите при построении модели.

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

// Картинка из небольшого исследоавния со сравнением методов импутинга. Если получится, хочу тоже такое провести.
👍3
Замутил директ по минимальному прайсу. Не знаю зачем, но пусть будет)

Можете туда, например, писать интересующие Вас темы, которые я постараюсь разобрать.
😁2
🔥 Новый уровень CUDA в Python: знакомьтесь с `cuda.cccl`

Теперь не нужно писать кастомные CUDA-ядра или лезть в C++ — cuda.cccl позволяет собирать мощные алгоритмы на Python, используя CUB и Thrust под капотом.

Библиотека делится на:
parallel — высокоуровневые, компонуемые алгоритмы над массивами и итераторами.
cooperative — блок/варп-ориентированные примитивы для numba.cuda.

Почему быстрее:
Никакой лишней памяти — итераторы вместо массивов.
Один фьюзнутый kernel вместо четырёх.
Минимум overhead'а от Python.

Кому пригодится:
Тем, кто пишет кастомные алгоритмы над PyTorch или CuPy.
Тем, кто хочет тонкий контроль над CUDA без C++.
Тем, кто расширяет существующие библиотеки или разрабатывает свои.

Установка:
pip install cuda-cccl


👉 Подробнее: https://clc.to/4qFCRQ

Библиотека дата-сайентиста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
#classic

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

Итак, PU learning (positive-unlabeled). Это класс задач, в котором в наличии только положительно размеченные классы и куча неразмеченных, то есть таких, где могут быть, как положительные, так и отрицательные метки, но где какие непонятно.

Самое банальное, что можно сделать: это тупо разметить все, что не положительное отрицательным. По опыту такие модели в итоге не очень соответствуют реальности. Ещё вариант - взять случайную выборку и разметить её негативным классом, чтобы классов стало 3: положительный неизвестный и негативны, тогда это классика semi-supervised learning, но тоже сомнительное соответствие истине.

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

Например, я искал пользователей, которые владеют автомобилем. У меня есть достоверные единички и огромное число неразмеченных пользователей. Я сделал рандомную выборку неразмеченных, счел их ноликами и построил модель. Получилась отличная модель с отличными метриками. Случайных пользователей вне обучающей выборке отлично размечает, но есть нюанс...

Получилось, что только у 16% пользователей есть авто. Открываем социсследования, смотрим статистику. В РФ автомобиль есть у 30-50% граждан в зависимости от источника, что далеко от модельного распределения.

Эта тема точно пойдет ко мне в книгу, так что я пошел плотно исследовать её. Посты по теме еще будут 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
УСКОРЕННЫЙ на 30% Python 3.14 уже можно ПОТРОГАТЬ

Все благодаря первому релиз-кандидату грядущего апдейта. С заметным ускорением и кучей оптимизаций под капотом.

Самые интересные улучшения:

- встроенный JIT (теперь по умолчанию для Windows и macOS);
- free-threaded Python — настоящая многопоточность без GIL;
- UUID генерятся до 40% быстрее;
- CLI-инструменты теперь с цветным выводом (да, наконец-то);

В продакшен проектах лучше не использовать, но вот в петах и для изучения новшеств — самое то. Финальный релиз состоится 7 октября.

@your_tech
🔥3
#open_source
#ml
#classic
#myproject@dm_projects_log

Я тут заново пересобрал либу. Очень заморочился с оформлением репы, как раньше не заморачивался. И ридми написал, и wiki замутил, все обмазано тестами и даже CICD пайплайн. Зачем я так заморочился? Наверное захотелось красоты, и в эту либу я верю примерно так же, как в HypEx.

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

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

P.S. Вообще есть более свежий релиз, но там я разбирался с ошибками сборки, обновлял README.md и упразднил автоматическую публикацию, так как с ней было слишком много проблем, а самому публиковать не сложно, так как есть написанный скрипт, так что функционально разницы нет.
👍2🔥2
🎉 OpenCV исполнилось 25 лет — серьёзная веха для мира компьютерного зрения

Библиотека была выпущена Intel в 2000 году как open source — и с тех пор стала стандартом де-факто.

OpenCV democratized компьютерное зрение: сделала доступной обработку изображений и видео не только крупным лабораториям и корпорациям, но и каждому студенту, разработчику и энтузиасту.

Благодаря OpenCV миллионы людей научились:
— распознавать лица и объекты;
— строить системы трекинга и распознавания движений;
— анализировать кадры в реальном времени;
— автоматизировать обработку изображений и видео в исследованиях и бизнесе.

👉 25 лет спустя — это по-прежнему первая библиотека, которую изучают в CV, и первый инструмент, к которому тянется рука при решении практической задачи.
Поздравляем библиотеку — 🎉

🔗 Блог-пост в честь юбилея: https://clc.to/zEyBLQ
А вы помните, с чего началось ваше знакомство с OpenCV?

Библиотека дата-сайентиста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
#open_source
#ml
#classic
#myproject@dm_projects_log

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

Что не отображено в доках, так это изменение подхода к разработке: больше ручной работы - меньше нейронок.
🔥2
#classic #open_source

Nvidia выпустили статью об ускорении вычислений в pandas посредством использования GPU через библиотеку NVIDIA cuDF.

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

Что касается использования не в тетрадке, то операции надо делать через библиотечный датафрейм, у которого API идентичное пандасовскому.

В статье разобраны 3 кейса с ускорением.
threshold_methods.html
54.8 KB
#classic

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

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

У меня в ресерче указано, что F1 можно применять для выбора порога на бинарной классификации, но если настраивается порог для каждого класса в отдельности (что рекомендуется делать при различиях в распределениях классов), то можно решать задачу, как бинарную классификацию в формате один-против всех для каждого класса.
pandas-polars-comparison-html.html
36 KB
#classic

Вы наверняка слышали, что Polaris быстрее, сильнее и лучше, чем Pandas. Я всегда относился к этому с некоторым скепсисом. Теперь не буду 🙃

В общем, провел на днях ресерч по вопросу. Сам ресерч во вложении, но, если коротко: отдавайте предпочтение Polaris на этапе ETL. Большинство ML библиотек не поддерживают Polaris, так что в ML данные лучше передавать в numpy или Pandas.
🔥3
Forwarded from Градиент обреченный (Sergei Averkiev)
🔺 Открытые модели от OpenAI

Долгожданный open source от дяди Сэма.

🔸 Выложили две модели — 20B и 120B. Обе MoE, активных параметров у них 3.6B и 5.1B.

🔸 Должны влазить в 16Gb и 80Gb видеокарты. Вот тут релиз transformers 4.55.0 с описанием.

🔸 Модельки чисто текстовые, с контекстом 128k. Токенайзер тот же, что у gpt-4o.

🔸 Есть демо, чтобы поиграться с моделями.

👉 HF | Релиз
Я со своими ресерчами в html
😁2
🐬 Dolphin — превращает PDF в структурированные данные

Dolphin (Document Image Parsing via Heterogeneous Anchor Prompting) — 100% open source-модель для автоматического разбора PDF и сканов.

Зачем нужен:
— Конвертирует документы в готовые форматы: Markdown, HTML, LaTeX, JSON.
— Извлекает текст, таблицы, формулы и изображения.
— Полезен как для подготовки данных для LLM, так и для любых автоматизированных систем, архивов, поиска и аналитики.

Как работает:
1️⃣ Анализ макета страницы — определяет все элементы в естественном порядке чтения.
2️⃣ Параллельный парсинг — с «якорями» и промптами под каждый тип контента.

Представьте, что у вас есть 500 отчётов в PDF с финансовыми таблицами и графиками. Dolphin превращает их в аккуратный CSV или JSON, готовый для анализа в Pandas или загрузки в базу данных — без ручного копипаста и правок.


💡 Лёгкая архитектура + параллельная обработка = высокая скорость без потери качества.

🔗 Репозиторий с кодом и моделями: https://clc.to/6gPIwA

Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
#open_source
#myproject@dm_projects_log

Новая утилита: file_size_sorter.py — скрипт анализа дискового пространства.

Изначально написал для того, чтобы проверить почему репозиторий так много весит. Нашел запушенные артефакты, так что полезное. Ещё эта штуковина полезная в целом для анализа диска, когда его нужно почистить.

Скрипт использует только стандартную библиотеку Python, так что зависимостей нет.

Примеры использования:
# Найти 10 самых больших файлов в домашней директории
python file_size_sorter.py /home/user 10

# Посмотреть все файлы проекта, отсортированные по размеру
python file_size_sorter.py ./my_project

# Найти самые маленькие файлы (полезно для очистки мелкого мусора)
python file_size_sorter.py /tmp 20 --asc
💯4
#open_source
#myproject@dm_projects_log

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

Что умеет новый модуль?

📝 Markdown → HTML/PDF за одну команду
🎨 4 встроенные темы (включая тёмную!)
🌈 50+ стилей подсветки кода
📊 Mermaid диаграммы прямо в документах
⚡️ Работает офлайн или через API

🎯 Для кого это?
• Пишете документацию? Теперь она будет красивой!
• Ведёте техблог? Конвертируйте посты в PDF
• Делаете презентации? Mermaid диаграммы включены!
• Учитесь/учите? Идеально для конспектов с кодом

💡 Простой пример
# Обычная конвертация
python md_converter.py README.md

# PDF с тёмной темой
python md_converter.py docs.md --format pdf --theme dark

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

GitHub: https://github.com/Dmatryus/miniutils/tree/main
🔥4
#classic
Люблю такие шпоры
🤩2👌1
This media is not supported in your browser
VIEW IN TELEGRAM
🎤 Microsoft выкатил **VibeVoice** — новую SoTA модель Text-to-Speech (TTS) на **1.5B параметров** под лицензией MIT 🔥

Возможности
- 🎧 Генерация до 90 минут аудио за раз
- 👥 Поддержка >4 голосов одновременно
- Режим стриминга + готовится версия на 7B
- 🌍 Кросс-языковая генерация и даже синтез пения 🎶
- 🎭 Управление эмоциями и экспрессивностью речи

Это делает VibeVoice одним из самых мощных и доступных open-source TTS-решений прямо сейчас. Огромный шаг от Microsoft в сторону открытых голосовых технологий! 🚀

https://huggingface.co/microsoft/VibeVoice-1.5B

@machinelearning_interview
2
2025-08-29 13_40_47_neg.png
85.5 KB
#scheme #myproject

Делюсь красивой схемкой, которую нарисовал сегодня 😊