Интересное что-то – 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 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 - мощная и обширная платформа, постоянно развивается, шикарный блог.
📚 Анализ данных в крипте

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

- dune.com - люди загружают датасеты про блокчейн, ты пишешь к ним SQL! Отдельно интересно смотреть горячие дешборды, чтобы понимать, что сейчас происходит в мире крипты. Например, сейчас все опять обсуждают бан кошельков USDT и остановку BNB Chain. Парсится питоном сложно, с selenium должно быть ок.

- tenderly.co - если интересно понять что-то про транзакцию (какой контракт и как был вызван, почему упала транзакция). API платный, но сайт парсится на ура.

- nansen.ai - если нужно узнать больше про адрес. Показывает не только балансы токенов, NFT и стейкинг в разных сетях, но и похожие аккаунты, с какими контрактами/кошельками взаимодействует, выставляет labels, полезен для антифрода и “пробива”. Сложно парсится питоном.

Блок эксплореры типа etherscan выдают минимум инфы, только для 1 чейна, а их API максимально скуден и отличается от чейна к чейну. Если дергать напрямую ноды через RPC, то там еще меньше базового функционала (из-за этого и появились сканнеры). Нужно знать, какой минимум можно получить от них, так как они парсятся на ура.

Также периодически можно найти крутые сайты с ценными данными, которые так и хочется спарсить. Один из таких скину завтра, подписывайтесь :)