Dmatryusофрения
41 subscribers
291 photos
10 videos
15 files
148 links
Пишу о книгах, лидерстве, технологиях, opensource, своих проектах и наверное чем-то ещё. Ну и репосты IT приколямб.
Download Telegram
Channel created
Channel photo updated
Channel name was changed to «DM projects log»
Какой формат вы бы выбрали для написания своей книги?
Anonymous Poll
25%
docx
0%
md (Markdown)
50%
LATEX
25%
HTML
0%
Другой
#ul_book
За 2 недели успел попробовать 3 формата для работы над книгой:
📃 Сначала был очевидный docx. Я пользовался им в рамках Google Docs, чтобы было доступно на всех устройствах. До сих пор там записываю сырые куски текста.
📃 Чистовые записи сначала вёл в md (Markdown). Пока не продумал по-лучше состав книги и не столкнулся с проблемой того, что разные ридеры сильно по-разному отображают этот формат, хотя я его считаю достаточно удобным, особенно для небольших заметок.
📃 Сейчас перешёл на html. Чтобы работать с ним нужно отвлекаться на теги и прочую html-мишуру, зато можно чётко и однозначно отобразить структуру и свое видение того, как она должна выглядить. + легко сделать постобработку.

Какой формат предпочитаете использовать Вы для объёмной работы с текстом (особенно в контексте книги)?
🤔2
#ul_book
Во вступлении к первой главе о том, что такое обучение без учителя, поднимаю тему нынешнего ажиотажа вокруг ИИ. Я думаю, что долг специалиста проявлять разумный скептицизм в отношении инфошума вокруг темы, извлекая из него лишь рациональное зерно. Хватает и инженерных проблем.
👏2
Как думаете, станет ли обучение без учителя важным компонентом более-менее серьезных систем ИИ?
Anonymous Poll
80%
Да
20%
Нет
#stat_box
Расскажу об ещё одном своём проекте: StatBox.

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

В планах добавить туда модуль по простейшей генерации синтетики (в принципе базовая версия уже разработана, но я её ещё не внедрял в либу).

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

Ознакомится можно здесь: https://gitlab.com/dmatryus.sqrt49/stat_box
Страница проекта на pypi: https://pypi.org/project/stat-box/
👏2
Dmatryusофрения pinned «#stat_box Расскажу об ещё одном своём проекте: StatBox. Это минилиба, которая по большому счету является просто удобным интерфейсом для расчета статистики. Кроме того, там есть некоторая функциональность для работы с временными рядами, но она весьма ограничена…»
dmlab.pdf
1.1 MB
#dmml_lab
План развития проекта dmml-lib
#dmml_lab

Короткое резюме:
🎛 Добавил StatBoxAnalysis
Закончил модули аналитики данных
👁 Изменил концепцию визуализации
✂️ Отказался от OnModelAnalysis

Подробно:
Сегодня был продуктивный день: добавил в либу dmml_lab интеграцию stat_box, что в целом завершает набор аналитических Executor.

Изначально был план, что есть универсальный Pipeline, который включает в себя последовательность универсальных Executor, каждый из которых делает только атомарное действие. Визуализация так же изначально задумывалась, как Executor, но потом я понял, что такой подход значительно усложнит построение Pipeline и пришёл к мысли, что аналитические Executor должны сами знать, как визуализировать результат своей работы, что привело к мысли о наследниках с расширенным набором функций, но это опять же усложняет построение Pipeline, так как придётся выделять функциональные сегменты. Сейчас я пришёл к мысли, что каждый Executor должен иметь функцию визуализации, а Pipeline иметь отдельный режим работы.
Визуализация будет содержать множество параметров настройки отображения и возвращать объект визуализации. Кроме того будет возможность записать результаты визуализации в html файл. Так же предполагается возможность работы с разными бэкэндами. Пока в планах matplotlib и plotly.

Я решил отказаться от идеи анализа данных посредством модели. Реализовать такой подход можно будет посредством добавления в Pipeline Executor с моделью и последующим её анализом. Тут опять же конфликт с универсальностью, который я пока не придумал, как лучше разрешить, но склоняюсь к мысли о том, чтобы усложнить универсальный Executor и добавить больше режимов работы в Pipeline.
🔥2
#flood

Бывают дни, когда всё идёт не по плану и в логе нечего написать 😢
🤔1
#stat_box

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

stat-box в плане базовой функциональности statistics закончен, поэтому в планах убрать оттуда time_series, причесать код с документацией и добавить несколько практических примеров анализа данных.

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

0 цель - собрать хотя-бы 10 реальных звездочек ⭐️ на гитлабе. Если получится, буду пытаться распространить на более широкую аудиторию. После 100 ⭐️ буду пробовать рассказать об инструменте в крупных сообществах.

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

Апдейты будут тут и если кому-то зайдёт, буду рад 🤗
#flood

Апдейтнул описание и сделал канал публичным.
Адрес: https://t.me/dm_projects_log
🔥2
Текущие проекты


📖 Книга "Обучение без учителя. Искусство ориентации в энтропии " (#ul_book).
Книга задумывается, как лёгкое в освоении пособие по UL.

Библиотека для построения ML пайплайнов DmML-lab ( #dmml_lab).
Идея в том, чтобы разработать универсальные модули решения типичных задач DS, которые могут связываться друг с другом и последовательно выполняться. Будет библиотека готовых пайплайнов. Идеальное развитие проекта: гибкий AutoML инструмент.
Git: https://gitlab.com/dmatryus.sqrt49/dmml-lab

📊 Библиотека для простой работы с данными StatBox (#stat_box).
На данном этапе идея в расширении describe pandas.DataFrame. Планируется расширение спектра задач.
Git: https://gitlab.com/dmatryus.sqrt49/stat_box
PyPi: https://pypi.org/project/stat-box

Todo manager (#todo). В общем-то ничего особенного, но он ориентирован на анализ статистики активности.
Dmatryusофрения pinned «Текущие проекты 📖 Книга "Обучение без учителя. Искусство ориентации в энтропии " (#ul_book). Книга задумывается, как лёгкое в освоении пособие по UL. Библиотека для построения ML пайплайнов DmML-lab ( #dmml_lab). Идея в том, чтобы разработать универсальные…»
😢3😁1
#ul_lib

Слышали про semi-supervised learning?

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

Чаще всего используют индуктивный подход:
1. Берём базовую модель (например knn или svc)
2. Обучаем её на известных данных
3. Предсказываем на этой модели неразмеченные данные
4. Отбираем предсказания
5. Переходим на шаг 2

Для отбора чаще всего используется порог по predict_proba, а алгоритм ограничивается количеством итераций или просто все точки размечаются с нужной уверенностью.

Сегодня я тоже завершил разработку такой модели, но на совсем другом принципе. В моей практике это будет уже вторая самописная semi-supervised модель.

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

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

О принципе работы своей модели расскажу в другой раз, но для затравки расскажу о предварительном тестировании:
Все знают датасет ирисов. 150 измерений. Модель на дефолтных параметрах, обучившись на 30, дала точность разметки в 0.86. Конечно, результат не показателен, да и проблемы ещё есть, но как минимум это доказывает, что концепт рабочий.
#ul_lib

Вчера весь день тестировал свой новый алгоритм. Пока рабочее название - Radius Density Classifier.

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

Ключевая проблема текущей реализации... Она оооочень медленная 🐌

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