LEFT JOIN – Telegram
LEFT JOIN
45K subscribers
944 photos
28 videos
6 files
1.2K links
Понятно про анализ данных, технологии, нейросети и, конечно, SQL.

Услуги — leftjoin.ru
Курсы по аналитике — https://stepik.org/users/431992492

Автор — @valiotti
Реклама — @valiotti

Перечень РКН: https://tapthe.link/PpkTHavwS
Download Telegram
Думал, как это увязать с аналитикой и понял, что, наверное, никак, но и не поделиться не могу 🙂 Если кто-то вдруг заскучал по старому плееру Winamp, поддержка которого прекращена, поностальгируйте и скрасьте свой день с веб-версией Winamp ⚡️⚡️⚡️
Forwarded from DataEng
Продолжаем цикл материалов про работу с веб-фреймворком Dash. Ранее мы рассказывали про развертывание дашбордов на AWS Elastic Beanstalk. Если у вас уже есть виртуальная машина на Amazon EC2, то дашборд можно развернуть как веб-приложение на вашем инстансе. О том, как это сделать, читайте в новом материале на нашем сайте:

https://leftjoin.ru/all/deploy-dashboard-ec2/
Анализа данных с помощью SQL
Достаточно прикольный и полезный гайд по использованию SQL для анализа данных вместо Pandas.
Автор делится рядом любоптных идей: train/test split, линейная регрессия (оказывается, есть по умолчанию в PostgreSQL) и много других полезностей, собранных в одном месте, рекомендую!

Кстати, Mode когда-то тоже предлагали несколько изощренный способ построения регрессии с помощью SQL.

#link
И немножко околокликхаусных новостей:
Altinity рассказывает об использовании Superset на Clickhouse (погдлядел в @superset_ru). Материал в нескольких частях.
Создан профайл для работы с Clickhouse через dbt, ссылка на github (сам нашел).
Еще не тестировали, но очень интересно.
А вот Дмитрий в комментариях пишет о результатах тестирования профайла dbt для Clickhouse.
Тестировали профайл клика для dbt. Сырой, особенно тяжко, если клик on cluster, потому что этот функционал не реализован. Но если клик на одной ноде - всё ок.

Также есть проблемы с тем, что настройки подключения не передать в профайле. Лечится созданием специальной роли по dbt скрипты, чтобы использовались подходящие настройки.

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

В движках, кстати, есть проблема. В конфиге модели указывается просто *MergeTree, без скобок, соответственно без параметров. Мне бывает нужно в ReplacingMergeTree указать таймстемп, особенно если оставить надо не последнюю пришедшую запись.

Резюме краткое: многое лечится кастомными макросами, благо dbt использует те, что в проекте, если находит несколько с одинаковым именем. Но хочется, чтобы адаптер не заглох. Будем контрибьютить, если
Pattern matching в Python

Это весной вышла альфа-версия Python 3.10, в которой, помимо прочего, реализовано структурное сопоставление шаблонов (structural pattern matching).

Раньше как таковой конструкции типа switch/case в Python не существовало. Насущные проблемы решались с помощью конструкции if/elif/else или поиском по словарю. Такие конструкции объемны и затрудняют читабельность кода.

Pattern matching в новой версии Python реализован через конструкцию match/case. Станет ли это панацеей для разработчиков, судить рано. Но как применяется match/case на практике уже можно посмотреть в нашем переводе статьи от InfoWorld.

https://leftjoin.ru/all/pattern-matching-v-python/
Библиотека Clustergram для Python

Интересный пост про библиотеку Clustergram для Python. При построении кластеризации методом K-Means число кластеров заранее неизвестно и традиционный подход предполагает построение так называемого Elbow-chart (да, локоть), который показывает общую внутригрупповую сумму квадратов для разного числа кластеров. Этот график не очень информативен для принятия однозначного решения по поводу числа кластеров.
Предлагаемая библиотека усовершенствует подход к обнаружению числа кластеров: позволяет визуализировать разбиение на кластеры и толщиной линии отображает дополнительную информацию, получаемую от этого разбиения.
Статья про то, как AirBnb добились констистентности метрик. Внутри про используемые решения и про их архитектуру данных.

#link
Рекомендации по использованию PostgreSQL в качестве хранилища данных. Внутри статьи любопытная ссылка на предостережение по использованию CTE в PostgreSQL (все от того же автора, на которого недавно ссылался по SQL для анализа данных)
Часто для ML-моделей нужно подготовить датасет: масштабировать или нормализовать признаки, чтобы получить корректные результаты работы алгоритма. Такого рода подготовку можно провести прямо в процессе выгрузки данных из БД.

В новом материале мы собрали несколько методов для нормализации атрибутов средствами SQL сразу двумя способами: через подзапрос и с помощью оконной функции.

https://leftjoin.ru/all/data-scaling-with-sql/
Georgia Institute of Technology. Online Master of Science in Analytics.

В 2020 году я загорелся желанием освежить свое фундаментальное образование. На рынке сейчас представлено очень много разных курсов, но мне было интересно посмотреть как выглядит изнутри система образования в США. В последние годы, и особенно после начала пандемии COVID-19, онлайн-образование набрало невероятную популярность. Теперь даже топовые американские ВУЗы предлагают получить магистерскую степень онлайн. И я решил пройти этот путь 😎

Несмотря на то, что у меня уже есть наша PhD, я подал заявку на программу OMSA (Online Masters of Science in Analytics) в Georgia Institute of Technology. Ранее я уже приводил ряд ссылок на курсы этого ВУЗа (доступные бесплатно), но сам решил поступать на полноценную магистерскую программу. Меня привлекло то, что Georgia Tech занимает высокие позиции в рейтингах по Computer Science среди американских ВУЗов.

Надо сказать, что процесс поступления занял больше полугода. Нужно было предоставить сертификат TOEFL с высоким баллом (не менее 100 из 120), три рекомендательных письма из своей alma mater, сопроводительное письмо, CV и всю информацию о предыдущем образовании. И в ноябре 2020-го я получил долгожданное письмо о том, что меня приняли (приложил его)! Теперь я принадлежу к коммьюнити с маскотом пчелы 🐝 (Buzz).

Само образование построено в темпе “self-paced”, то есть в семестр можно набрать столько курсов, сколько сможешь унести (но, кажется, не более трех или четырех). На старте с учетом своего графика я взял только один курс — ISYE6501 (Intro Analytics Modeling), который является одним из обязательных и фундаментальных в программе. И вот позавчера получил свою первую оценку B за его прохождение. 🍾

В связи с этим ниже опрос — рассказать ли об этом опыте подробнее? Насколько вам интересен контент об американском образовании? Могу поделиться впечатлениями об этом курсе и о следующих: рассказать насколько учеба интенсивна, а содержание полезно.
Интересно ли почитать об американском образовании (в частности, Georgia Tech)
Anonymous Poll
83%
Да, весьма
17%
Нет, не очень
SQLiteViz — оффлайн библиотека для создания диаграмм Plotly на SQLite бд или .csv-файлах. Нечто похожее на Redash 🙂
Процесс обучения на программе OMSA

В опросе большинство высказалось за то, чтобы я продолжил рассказ про магистерскую программу OMSA в Georgia Tech. Начну рассказ с того, как в целом построена программа и какие направления (треки) можно выбрать.

Всего для получения магистерской степени надо набрать 36 credit hours. При этом каждый курс оценивается в 3 credit hours, а за магистерскую диссертацию (master thesis) получаешь 6 credit hours. Счета за программу выставляют каждый семестр, а сумма зависит от того, сколько credit hours вы выбрали в отчетном периоде.

Сама программа разделена на три трека:
1) Analytical Tools — в процессе обучения делается акцент на статистику, эконометрику и методы оптимизации.
2) Business Analytics — представляет собой усредненную бизнес-специализацию. Про этот трек на Reddit шутят, что он для тех, кто хочет просто получить диплом Georgia Tech.
3) Computational Data Analytics — как я понимаю, это направление образовалось на базе программы OMSCS (Master of Science in Computer Science), и фокус сделан на вычислительные методы анализа данных. Именно этот трек обучения я и выбрал.

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

BASIC
Три курса, по сути, из каждого направления:
ISYE6501 (Intro to Analytics Modeling) — курс про аналитические инструменты и использование R, который я недавно закончил (скоро расскажу о нем);
CSE6040 (Computing for Data Analysis) — анализ данных с использованием Python;
MGT8803 (Business Fundamentals for Analytics) — какой-то общий бизнес-курс, от которого я отписался.

ADVANCED
CSE6242 (Data and Visual Analytics) — анализ и визуализация данных.
MGT6203 (Data Analytics in Business) — общий курс про применение аналитики в бизнесе.
Два курса по статистике на выбор и один курс из раздела operations research.
А дальше, в зависимости от выбранного трека, можно выбрать курсы из соответствующей колонки на картинке выше.

Возможности Opt-out
От базовых курсов можно отписаться, если соответствующий опыт был получен в вашем предыдущем ВУЗе. У меня такой опыт был, но я посчитал целесообразным оставить курсы ISYE6510 и CSE6040, чтобы посмотреть как они выглядят изнутри. А вот от курса MGT8803 отказался, так как по оценкам студентов он “не очень“.

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

В следующем посте расскажу о том, как устроен процесс обучения на курсе ISYE6501, который я выбрал для весеннего семестра. А потом напишу пост про содержание этого курса.

#gatech #omsa