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
Если вдруг, кто не был в курсе, то теперь будете: у команды dbt вышел 🎧 подкаст Analytics Engineering (Apple, Google, Spotify).

Пока доступно всего три выпуска:

1. Robert Chang рассказывает про Minerva в AirBnB, очень интересный эпизод.
2. Venkat Venkataramani про реалтайм бд RocksDB, про Facebook и про бд в целом.
3. Brian Amadio из Stitch Fix (сервис персонального стайлинга в US) про эксперименты, A/B тестирование и multi-arm bandits
🎓Летняя сессия в Georgia Tech
Неделю назад завершил летнюю сессию в Georgia Tech, поэтому продолжу рассказ о курсах, которые в этом семестре удалось завершить.
Как я и писал ранее, я отказался от курса MGT8803, который посвящен базовым понятиям экономики (этого у меня уж точно было предостаточно по основному образованию) и в результате осталось два обязательных курса: CSE6040 и MGT6203. Я решил, что смогу взять их оба единовременно на этот семестр, именно так и поступил.

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

CSE6040
Курс CSE6040 (вот, кстати, его вебсайт) сугубо технический, сделан очень интересно, поскольку позволяет посмотреть на массу прикладных аналитических проблем.
Курс построен по принципу: тема для изучения = выполняемый Jupyter NB (с задачами для решения). Я ожидал увидеть довольно стандартные методы решения задач типа линейной регрессии или SVD-разложения, а в курсе подход реализован через математику (линейную алгебру). То есть фактически, приходится детально разбираться в алгоритме и математическом аппарате вместо использования готовых стандартных библиотек, это было очень интересно. Думаю, что чуть позже про ряд ключевых ноутбуков и решаемых задач еще поделюсь.

Помимо 15 домашних задач в курсе три экзамена: Midterm 1, Midterm 2, Final Exam. Каждый экзамен это порядка 10-15 задач, которые ты должен решить на время (от 3 до 6 часов) под наблюдением HonorLock. При этом разрешается использовать любые материалы и google, однако задачи предполагают полное погружение в контекст.
Конечно, под каждую тему помимо Jupyter ноутбуков есть короткие видео, на которых объясняется суть алгоритма (но не очень погружаясь в детали).
По этому предмету я выполнил все задания и все экзамены сдал на 100%, в результате получив оценку A, скорее по той причине, что это была супер-интересная практика на Python.

MGT6203
А вот этот курс оказался для меня очень странный. Авторы напихали туда всего подряд: и финансы, и маркетинг, и управление операциями. Разумеется, по всем направлениям необходимо решать аналтические задачи. В курсе предусмотрены три домашних задания, состоящих из двух частей: практика на R и квиз. Все квизы скучные и предполагают тупо поиск ответов по презентациям-материалам. В курсе два экзамена, опять же состоящих из двух частей: задачи, которые надо решить в ноутбуке на R и квиз. Квизы достаточно сложные и не разрешают использовать ничего кроме cheat-sheet (ниже на фотках мои), а вот практическая часть решается без наблюдения и без ограничения по времени, то есть в целом, ее можно легко решить, когда есть свободное время.
Домашние задания предполагали peer review, то есть надо осмотреть ДЗ твоих однокурсников и поставить им оценку. Я нигде не увидел нотификации по этому поводу, в результате никого не оценил, за это мне срезали баллы (около 30%), в результате финальная оценка за этот предмет B. Но если бы можно было его не выбирать, я бы точно от него отказался, в некотором смысле потраченное впустую время.

#gatech #omsa #учеба
Буквально неделю назад закончил обучение Clickhouse от Altinity (101 Series Training). Мне очень понравилось погружение в Clickhouse со стороны команды, которая по праву считается экспертами в CH, искренне рекомендую это обучение всем, кто заинтересован в расширении знаний о Clickhouse.

Написал заметку о том, что происходит в четырех днях тренинга и делюсь своим конспектом ✍️.
Forwarded from Инжиниринг Данных (Dmitry Anoshin)
Вводная статья про использование git для SQL - зачем и как. И даётся описание как использовать плагин для dbeaver, который синхронизирует с гит (у нас в даталерн dbeaver основной инструмент, может кто захочет на русском написать туториал и мы в гит добавим?)
И вновь кросс-канальная публикация. Алексей Колоколов в субботу организовывает «Уральский саммит аналитиков», где аналитики готовят различные дашборды.

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

Если вы сами в Екатеринбурге, посетите мероприятие, а если нет — присоединяйтесь онлайн.
DarTS — python-библиотека для работы с временными рядами и прогнозированием. Еще не успел попробовать, но выглядит интересно.
Алексей Салынин, уже знакомый нам эксперт, который записывал видео про SAP Analytics Cloud поделился со мной интересной визуализацией: динамика включения BI-инструментов в тот или иной квадрант Gartner. С его позволения публикую эту визуализацию.
Много писал в этом семестре на R и dplyr %>% проникся синтаксисом, хотя раньше он мне казался несколько странноватым.
Начал писать заметку про курс CSE 6040, который завершил в этом семестре.
Одним из классных материалов в нем был интерактивный учебник по линейной алгебре.
Очень живо, красиво и с примерами. Мне кажется, что в современном мире именно так и должны выглядеть учебники.
В этом году планируется оффлайн часть Матемаркетинга, в которой планирую принять участие. Собираюсь порассуждать про стек в области данных, и, весьма вероятно, (тизер!) показать некоторое свежее решение класса self-service BI.
А мы тем временем выкатили поолвину программы Матемарктеинга-21

https://docs.google.com/spreadsheets/d/1Iyi-Wj75gmzC-R9cGk16DOldLhWzVtLUNwZJoTht5xU/edit#gid=0
Предиктивный LTV это как секс: многие о нем говорят, но мало кто практикует 🍓

В сегодняшнем материале — строим предиктивный LTV 🚀, используя простую линейную регрессию и степенную функцию, на данных реального игрового проекта.
Кстати, я не так часто рассказываю об успехах нашей компании, но в будущем планирую публиковать больше контента про это.

Прямо сейчас мы в поисках менеджера проектов 🏗👨‍💼, если эта роль кому-то из подписчиков актуальна, пишите мне напрямую @valiotti.

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

#вакансия
🎓 Курс CSE 6040 🐍

Как я и писал ранее, о курсе остались только положительные впечатления. Расскажу о структуре курса и о том, как формируется итоговый балл.
В целом, курс очень интенсивный (возможно, это связано с тем, что я взял его в летний семестр, а у американцев он довольно сжатый во времени), каждую неделю надо делать по 1-2 обширных домашних задания (требующих немало усилий).

Курс построен следующим образом: под каждую тему опубликовано 5-6 вводных видео, которые погружают в тему, а весь остальной контент упакован в Jupyter ноутбуки, в рамках которых объясняется теория и размещены практические упражнения. Причем на одно домашнее задание может быть до 4-5 ноутбуков, что, конечно, отнимает значительно времени, если делать задания без пропусков и вдумчиво.

Надо заметить, что на портале OMSCentral (где сами студенты публикуют открыто свой фидбек на курс), курс находится в топе по средней оценке. Оценка по загрузке примерно совпадает с тем, что есть по факту: действительно, требуется около 10 часов в неделю.

Структура курса (индексация начинается с нуля, так как курс в некоторой степени программистский):
Модуль 0. Тема 0. Интро и пример ноутбука, который впоследствии должен быть выполнен
Модуль 0. Тема 1. Примеры на Python: ноутбук с базовыми упражнениями на переменные, циклы и вот это все в Python
Модуль 0. Тема 2. Ассоциативные правила. Первый большой блок с теориями и аж 12 видео по теме.
В деталях разбирается математика, лежащая в основе ассоциативных правил: условные вероятности, расчет confidence.
Помимо этого погружение в множества в python, создание defaultdict
Модуль 0. Тема 3. Задачи на линейную алгебру. Как раз данный топик ссылается на интерактивный учебник по линейной алгебре, про который я рассказывал ранее.
Этот ноутбук для собственной практики и без оценки. Довольно много визуальных примеров и объяснения в деталях, что такое вектор (и их геометрическое представление), матрицы и т.д.
Модуль 0. Тема 4. Работа с числами в Python. Топик о том, как хранятся числа, что происходит при изменении с типа данных int на float и обратно, про точность и округления.
Достаточно много технической практики, перевод чисел из одной базы в другую (к примеру, из двоичной в шестнадцатиричную). К решению предлагается два ноутбука с оценкой.
Модуль 1. Тема 5. Препроцессинг неструктурированного текста. Regex, отсюда же ссылочки, которые я выше публиковал на regexone. Много практики на регулярные выражения в Python. 3 ноутбука с оценкой
Модуль 1. Тема 6. Майнинг веб-данных, ноутбук без оценки. Основы работы с requests, beautifulsoup, работа с web api. Три ноутбука для решения.

Practice Midterm 1. Полезно заметить, что перед самим Midterm есть возможность пройти, так называемые, Practice Midterms, это работы предыдущих лет. Есть крайне интересные экземпляры в виде кейсов и алгоритмов (как-нибудь постараюсь рассказать и про них).
Midterm 1. Большой экзамен на обработку данных с использованием циклов, работой со словарями, множествами, созданием алгоритмов. Лимит на 4 часа. Честно говоря, рассчитывал, что пройду за час-полтора, но задания оказались сложными, нужно было изобрести ряд алгоритмов, которые будут работать эффективно, поэтому истратил все 4 часа.
Всего в задании было 16 баллов, из которых отсечка в 12 — это 100%, набрал 14. Сильно попотел конкретно над этим экзаменом, да и это был первый опыт для столь длинного экзамена не в формате теста.

Модуль 1. Тема 7. Очистка данных. Тема посвящена Pandas, включая работу с Series / DataFrame, индексами, группировками, слайсами, ранжированием, лямбда-функциями. Ноутбук в двух частях с оценкой.
Модуль 1. Тема 8. Визуализация данных. Использование bokeh и seaborn для построения графиков. Ноутбук без оценки, поскольку для визуализации автогрейдер не работает.
Модуль 1. Тема 9.
Реляционная модель данных. В основном про SQL, довольно базовое представление: DROP, CREATE, JOIN, аггрегации. Использование SQLite в ноутбуках. Два ноутбука с заданиями.
👍1
Модуль 2. Тема 10. Вычисления с использованием numpy / scipy. Введение в numpy, работа с матрицами, матричные вычисления. Плотное (dense) и разреженное (sparse) хранение матриц, сжатое разреженное хранение и координатное хранение, куча кода и алгоритмов, четыре ноутбука для решения.
Модуль 2. Тема 11. Ранжирование объектов. Цепи Маркова. Наверное, самая офигенная тема из всего курса. Практическая задача по поиску наиболее важного аэропорта в США, который влияет на всю цепочку авиа-перевозок.

Practice Midterm 2. Тут также есть ряд супер-интересных кейсов для практики. На примере последней темы (pagerank), прогноз численности населения в 2046 году в зависимости от миграций людей в штатах.
Midterm 2. Данный экзамен дался мне существенно легче чем предыдущий, наобходимо было прилично поработать с pandas, сводными таблицами, groupby, на экзамен ушло у меня примерно полтора часа из четырех.

Последний блок предлагаемых тем в курсе в большей степени про конкретные алгоритмы, которые используют чаще всего во всех ввводных курсах (101) по машинному обучению, и, честно говоря, я переживал, что тут будет тоже самое: берем такую-то библиотеку, строим модель, оцениваем R² и так далее. Однако, все совершенно иначе, курс построен по принципу изучения алгоритма, лежащего в основе каждой модели, поэтому ноутбуки в бОльшей степени посвящены, например, пониманию метода наименьших квадратов и их реализации в Python, ничего даже близкого к использованию штатных библиотек. Разумеется, они приводятся в конце для сравнения полученого результата.
Модуль 2. Тема 12. Линейная регрессия. Выше базово уже описал, но тут примечателен тот пример про LSD, про который уже рассказывал, он как раз используется как пример для базовой модели линейной регрессии. ДЗ — решение ноутбука в четырех частях.
Модуль 2. Тема 13. Классификация (логистическая регрессия). Подробное погружение в классификацию, описание алгоритма для решения задачи. Ноутбук в качестве домашнего задания.
Модуль 2. Тема 14. Кластеризация с использованием k-средних. Ручное постепенное построение алгоритма k-средних, алгоритм довольно несложный, поэтому все решается внутри небольшого ноутбука.
Модуль 2. Тема 15. Компрессия данных c использованием PCA. Довольно подробное погружение в SVD, собственные числа, матричные вычисления. На данном ноутбуке уже было ощущение, что глубокой математики достаточно :)) Но тут как раз и курс подошел к концу.

Practice Problems for Final Exam. Опять же есть ряд супер-интересных задач на анализ текста песен и кластеризации текстов с использованием DBScan.
Final Exam. А этот экзамен снова оказался трудным, нужно было охватить материалы из всего курса, написать несколько алгоритмов и решить ряд проблем, в итоге истратил 4 часа, получил 16 из 18 баллов, проходной был 12, чтобы получить 100%.


Итого в курсе решил все задания на 100% из 100%, включая экзамены, заслуженно получил свою первую А. Классно, когда предмет дается интересно и ощущаешь пользу от полученных знаний.

#gatech #omsa #учеба