Интересное что-то – Telegram
Интересное что-то
517 subscribers
2.71K photos
252 videos
138 files
4.51K links
Материалы и мысли, понадерганные отовсюду
Блог: https://news.1rj.ru/str/asisakov_channel
Чат: https://news.1rj.ru/str/youknowds_chat
Download Telegram
Forwarded from Just links
Omnigrok: Grokking Beyond Algorithmic Data https://arxiv.org/abs/2210.01117
Forwarded from Start Career in DS
📊 [ENG] Очень красивый курс по базовой теории вероятностей и статистике:
https://seeing-theory.brown.edu/
Тут фактически ускоренное введение в предметную область, которое позволит вам быстро понять ключевые идеи и термины.

Много супер-наглядных визуализаций. Даже если считаете что шарите в статистике - советую потыкаться и получить эстетическое удовлетворение.
Мне понравились визуализации базовых понятий (мат. ожидание, дисперсия, функция распределения, условная вероятность и т.д.). Если они всегда вас пугали или настораживали - рекомендую посмотреть курс.
Forwarded from Arseniy Trushin
А. Да. Я же хотел написать, как перестановки генерировать.

Ну так вот. Если у нас есть перестановка [1, 2, 3], то какие перестановки из неё можно сделать, имея на руках 4?
Ну конечно же [4, 1, 2, 3], [1, 4, 2, 3], [1, 2, 4, 3] и [1, 2, 3, 4]. То есть, рассуждаем по математической индукции по длине перестановки. Если у нас n = 1, то список всех перестановок понятен: [[1]]. А если мы уже решили задачу для n - 1, то для решения задачи для n нужно это самое n воткнуть в разные места каждой из сгенерированных ранее перестановок. Вот так

def insert_before(pos, num, perm):
return perm[:pos] + [num] + perm[pos:]

def permutations(n):
if n == 1:
return [[1]]
return [insert_before(q, n, current_perm) for current_perm in permutations(n-1) for q in range(n)]
Forwarded from DevFM
Тернистый путь к ClickHouse

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

Внедрение новой технологии не возникает на пустом месте. Нужно критически подходить к этому вопросу.
1. Сначала обнаруживается проблема. Если проблемы нет, то и чинить не нужно. В статье обозначена проблема сбора и анализа большого количества данных о действиях пользователей из разных систем и их вечном хранении.
2. Решение следует начинать с анализа предметной области и формирования важных критериев. Автор выделил сложность внедрения и сопровождения, порог входа для аналитиков данных, цену использования.
3. Предлагаемые решения сравниваются по сформированным критериям.

Помимо описания процесса выбора и возникающих сложностей интересно узнать в ретроспективе об архитектуре хранения и работы с данными: MariaDB -> Elasticsearch -> ClickHouse.

Для желающих погрузиться в технические особенности рекомендуем статью от тех же авторов: Репликация ClickHouse без костылей: ожидание и реальность
#skills #softskills
Forwarded from ИЦ "ГЕВИССТА"
Шпаргалка по подбору p, d, q для ARIMA
Forwarded from Борис опять
#лабораторный_журнал

Время закатать рукава и сделать что-то полезное: написать API для базы данных с изображениями.

Больше года не писал API, но я съел на этом столько собак, что код сам вылетает из под пальцев.
Мой любимый сетап:
* DB - PostgreSQL
* ORM - SqlAlchemy
* Миграции - Alembic
* API - Flask
* Сериализация/валидация - Marshmallow
* Тесты - Pytest
* Форматирование кода - Black
* Деплой - Nginx + UWSGI, которые общаются по файлу-сокету как описано здесь. Такой сетап работает даже быстрее, чем uvicorn, потому что быстрее NGINX с настроенным кешированием просто некуда.

Разработка ведется через Docker. docker-compose run —rm —service-ports app bash поднимает локальный postgres, контейнер с приложением, контейнер с NGINX. Код передается в контейнер через volume. Разрабатываешь внутри контейнера, даже никаких venv/poetry/conda не надо - докер обеспечивает environment. Если надо можно подключиться к постгресу любым DB клиентом. Все это целиком повторяет то, как система выглядит в продакшне, поэтому нет проблемы “но на моем компьютере-то работает!”. Более того, деплой можно организовать через запуск такого же docker-compose.yml, только с другими параметрами.

Этот надежный как швейцарские часы сетап покрывает все нужды типичной API. При необходимости к нему без труда прикручиваются другие приблуды типа RabbitMQ + Celery для асинхронных тасок.

Есть только одна загадка: зачем нужен Django?
Forwarded from Борис опять
Кстати на весь этот сетап можно посмотреть здесь: https://github.com/btseytlin/cowork-19

Это сайт с резюме и вакансиями, который я сделал в Первый Ковид, чтобы помочь сокращенным друзьям найти работу.
Forwarded from BOGDAN
кто дошёл до выбора метрик для своего сервиса, вот чеклист от микромягкого

https://www.microsoft.com/en-us/research/group/experimentation-platform-exp/articles/stedii-properties-of-a-good-metric/
Мне очень нравится блог на neptune.ai . Вот несколько статей оттуда: Best ML Model Registry Tools (обновл 30 сентября 2022), The Best MLOps Tools and How to Evaluate Them (обновл 19 августа 2022), Best End-to-End MLOps Platforms: Leading Machine Learning Platforms That Every Data Scientist Need to Know (обновл 21 июля 2022) . Кстати, с этой платформой я тоже знакомилась в рамках курса MLOps ( https://yandex.ru/q/tech/11450986242/ ) По моему опыту (познакомилась с 5-ю платформами), статьи и обзоры не очень сильно проясняют ситуацию, но там есть критерии и чекбоксы, которые дают некоторый ориентир. При выборе инструмента для себя имеет смысл потратить время и познакомиться с несколькими вариантами. По моим личным впечатлениям - WandB - отличный вариант с самым низким порогом вхождения и плавной кривой обучения если нужно запускать поиск гиперпараметров и сравнивать очень много моделей между собой, очень удобно для совместной работы и быстрого формирования ярких и наглядных отчетов, ClearML - отличный инструмент, если главным является налаживание пайплайнов и трекинга моделей, при более подробном знакомстве - это мощный инструмент (вся система локально - это 6 докер-контейнеров для трекинга моделей и ещё 7 контейнеров для деплоя и мониторинга на стадии продукта), MLFlow - легковесный инструмент для трекинга и деплоя, https://abacus.ai/ - очень эффективный инструмент, позволяющий деплоить прямо из ноутбука, при этом налажены и встроены мониторинг model drift и data drift, neptune.ai - мощная и обширная платформа, постоянно развивается, шикарный блог.