https://www.interviewmaster.ai/advent/home
Показали мне этот сайт, решил потыкаться, понравилось. Не хватает еще камина и подарков
Закрыл два дня, жду 17:00. Во столько по идее открывается следующий день
Поддерживаем новогоднее настроение как можем. Не, ну а чего, хорошая идея, наверное. Решаем на работе SQL, потом развлекаем себя SQL. Жизнь прекрасна!
По канону
Помимо адвента тут можно выбрать задачу на собес в крупную компанию (Google, Airbnb, Amazon и др). Решил парочку задач, они посложней, чем в адвенте, но тоже неплохо. Есть задачи на оконки, на подумать + встроен ИИ-ассистент, у которого можно уточнить функции, поправить ход решения и т.д. После 5 попыток платно
Вопрос: как вы относитесь к новогодней атмосфере на сайтах/в блогах?
За идею спасибо @etl_kitchen
@zasql_python
Please open Telegram to view this post
VIEW IN TELEGRAM
Если говорим про задачи на Python, то они делятся на несколько типов, которые можно разложить:
1. Алгоритмы. Их спрашивают в некоторых бигтехах, зачастую что-то простое на идею. Если идею не знаешь, то можешь засесть глубоко. Когда мне скидывали этапы интервью для аналитиков в
1. Сжатие RLE строки... Пример: на вход подается aaabbbc вывести 3a3b1c
2. Бинарный поиск (классическая идея), оптимизация сложности
3. Алгоритмы сортировки
Здесь могу посоветовать проходить курс по алгоритмам от Яндекса, раньше проходил. Планирую по второму кругу проходить
2. Pandas, Numpy. Легкий вариант, как по мне. Он может проверять на наличие знания методов. Но тут нужно понимать, что не все могут его знать, не все с ним работали в том срезе, в котором ожидает услышать нанимающий
1. Как заменить пустые значения в столбце?
2. Как объединить несколько таблиц (merge, join)?
3. Как привести типы данных к нужным (astype, to_datetime)?
4. Как отсортировать таблицу по столбцу по возрастанию / убыванию?
5. Как сделать аналог CASE WHEN в Pandas? (np.where, .apply, pd.cut и т.д.)
Если раньше работали — не составит труда, достаточно просто. Если нет, то можно забрать шпаргалки тут
3. Блиц по Python. Такой вид тоже встречается. Ожидается формат ответа в одном предложении
1. Какие типы данных изменяемые, а какие нет?
2. Чем список отличается от кортежа?
3. Что такое list comprehension?
4. Что вообще делали в Python?
Такое любят давать обычно HR, но на технической секции такие вопросы тоже могут встречаться, если в приоритете узнать про другое. Например, про продуктовое мышление, SQL и др. Потренить можно тут
weights = {
"Moscow": 0.5,
"SPB": 0.2,
"Novosibirsk": 0.2,
"Kazan": 0.1
}def generate_by_weights(weights: dict, n: int) -> list:
...
причём вероятность появления каждого элемента пропорциональна его весу.
['Moscow', 'SPB', 'Moscow', 'Moscow', 'Novosibirsk',
'Moscow', 'Kazan', 'SPB', 'Moscow', 'Novosibirsk']
Ставьте
@zasql_python
Please open Telegram to view this post
VIEW IN TELEGRAM
1 47 4 4🔥3
если ты считаешь, что преисполнился в этом мире, вспомни чуваков с самыми залайканными решениями задач на степике на различных курсах по программированию 😁
задание: удалить w и z из строчки
@zasql_python
@zasql_python
Please open Telegram to view this post
VIEW IN TELEGRAM
Тема заезженная, но хочу зафиксировать своё видение.
У меня появляется дополнительные 2–3 часа в день за счёт отсутствия дороги и офисных случайностей.
Тебя меньше дергают по причине того, что ты просто есть в офисе.
Слушай, раз ты здесь, давай быстро посмотрим, почелленджим
Пойдём за кофе, обсудим точки роста продукта
Раз все в офисе, давай сядем и сделаем презентацию
В итоге твой план на день рассыпается просто потому, что ты физически находишься в офисе. Не говорю, что это плохо, но лично мне на удаленке держать фокус проще.
Знаю, что на высоких грейдах люди часто гоняют в офис, когда нужно быть в коннекте с командой и стейколдерами. Есть отдельные команды / компании, которые сидят только в офисе, не буду тыкать пальцами
Меньше движухи с любимыми коллегами. Когда вся команда гоняет в офис — это прекрасно, у тебя начинает появляться круг с лиц, с которыми помимо работы можно что-то обсудить отстраненное от задач.
Удалёнщики правда чуть дальше от офисной тусовки. Но честно — на выполнение задач это не влияет. На инфополе и спонтанные обсуждения — да, на результат — нет.
Удаленка не всегда может являться плюсом, кому-то просто не заходит этот формат, но я стараюсь дополнительные часы тратить в течение дня не только на работу.
Сейчас в мой день влезают:
1. Основная работа
2. Магистратура (я хочу красный диплом, большую часть дисциплин уже закрыл)
3. Курсы, чтобы не выпадать из тонуса
4. Ведение канала — недавно стукнуло 7к, спасибо всем, кто здесь
5. И ещё пара дополнительных штук, о которых расскажу позже
И что удивительно: капаcитет ещё остаётся. Вопрос только в том, чтобы не выгореть. Очень надеюсь, что с этим уроки из прошлых лет уже усвоены
А какой у вас формат работы? Делитесь в комментах, ставьте
@zasql_python
Please open Telegram to view this post
VIEW IN TELEGRAM
Да это я так, тренируюсь проходить собесы, держу себя в тонусе, чтобы понимать тренды рынка 🙊
Сейчас на парочку схожу, пойму сколько я стою на рынке и все, закончу проходить. Инфа💯 . Можно не волноваться, никуда не пропаду 🫣
Дальше буду работать у себя, так как держать себя в форме мое любимое дело😁
@zasql_python
Сейчас на парочку схожу, пойму сколько я стою на рынке и все, закончу проходить. Инфа
Дальше буду работать у себя, так как держать себя в форме мое любимое дело
@zasql_python
Please open Telegram to view this post
VIEW IN TELEGRAM
В поисках интересных форматов для вас, проголосуйте, пожалуйста ❤️ (Один вариант ответа)
Anonymous Poll
27%
Задачи для подготовки к собесам ❤️
30%
Харды (SQL / Python / A/B) ❤️
7%
Карьера / резюме / грейды ❤️
2%
Эфиры (Обсуждения / Мок собесы / Интервью) ❤️
17%
Разборы кейсов / продуктовые задачи ❤️
5%
Подборки материалов ❤️
4%
Мемы ❤️
2%
Софты ❤️
0%
Свой вариант (напишу в комментариях)
5%
Посмотреть результаты
10 декабря вышла статья от X5 Tech
Кстати, эта тема была на aha'25, но теперь есть и на Хабр
Здесь указано про проблемы North Star Metric: мелкие эффекты сложно задетектировать, тактические задачи не решают и все такое. Добавлю, что зачастую такие метрики имеют высокий MDE и эксперименты оказываются не сильно чувствительными
Предположим у нас есть продукт, где основной метрикой является GMV, в качестве прокси-метрики может быть выбрана конверсия в заказ, так как она более чувствительная. Быстрее прокрашивается и сонаправлена с метрикой (в предыдущих экспериментах).
1. Одно из самых важных — это уметь переходить к причинности. Поэтому здесь рассматриваются: Дерево метрик, Causal Inference.
2. Указали про качество прокси: метрика должна быть чувствительной и сонаправленной. Классика, когда мы выбираем метрику, на которую хотим опираться при принятии решений в эксперимента
3. Про составные прокси метрики: нашли метрики, а что делать с ними дальше, какие выбрать: те, которые более чувствительные или сонаправленные? Решается с помощью Парето-оптимизации
4. Про предсказания. Что если не можем ждать долго пока прокрасится NSM, можем использовать ее прогноз на основе быстрых метрик, которые в теории могут являться прокси. В статье указывается пример: сколько будут зарабатывать студенты после прохождения курсов переквалификации.
5. Делаем поправки. Чем хуже модель предсказывает NSM, тем сильнее нужно корректировать оценку. Однако, при корректировке мы еще снижаем чувствительность.
6. А нужно ли вообще бежать все подряд использовать? Нужно все проверять и смотреть, а может NSM сам по себе чувствительный (например, в B2C продуктах с многомиллионной аудиторией)
Очень зашла статья, как и выступление
Ставьте
@zasql_python
Please open Telegram to view this post
VIEW IN TELEGRAM
80% задач аналитики может уходить в стол по моим ощущениям
Встречал много аналитиков, команд, которые делали сложные, как им казалось, задачи, но не получали отклика со стороны бизнеса.
🙊 У меня было такое в одной из компаний, в которой работал. Сделал сложную инфраструктурную (как мне казалось) задачу, но не получил отклика от руководства. Конечно же, я расстроился, так как не понимал в чем дело.
Проблема тут в презентации результатов, продажи своих идей бизнесу, ну и конечно же в необходимости СЕЙЧАС. Если у вас нет процесса взаимодействия продукта и аналитики, пора задуматься.
🔽 В качестве решения можно попробовать
1. Внедрить процесс планирования по спринтам, чтобы бизнес понимал как нагружена аналитика и что она делает. Самый простой вариант, но, оказывается, не у всех компаний есть. Это самое верхнеуровневое, что можно сделать.
2. Раз в n недель встречи по презентации исследований, наработок, которые помогут бизнесу в принятии решений. Бывает такое, что продакты между собой редко коммуницируют, из-за чего зачастую один или два продакта определяют полезность исследования. Чем больше лиц узнает об этом, тем выше вероятность, что дальнейшее исследование можно будет реализовать в продукте.
Не нужно такого: сделал задачу и погнал, дальше сами как-то.
Пусть руководитель мной гордится, что я такой крутой и закрыл вовремя все задачи😂
3. Раз в какое-то время просматривать вместе с продуктом метрики, чтобы видеть точки роста и понимать контекст. Полезная практика: смотреть вместе с бизнесом на одни и те же метрики, объясняя причину роста / падения, чтобы это не превращалось в бесконечное количество задач😏
4. Если задача инфраструктурная: синковаться с отделом аналитики, чтобы понимать насколько решение задачи поможет в текущих реалиях. Может быть вместо инфраструктурных решений нужно заняться написанием документации по основным метрикам / процессам и так далее🥺
⚠️ Кстати, а еще есть команды, которые ПРОСТО ЗАБИВАЮТ ресурсы аналитики, чтобы не простаивали, авось понадобится. Такое себе, правда? Здесь как раз и нужно критическое мышление: а нужна ли нам эта задача сейчас? на что она потенциально может повлиять?
А у вас есть такое чувство, что решенные задачи не используются бизнесом? Делитесь своими кейсами, интересно почитать.
Если наберется 100🤪 , расскажу какие курсы сейчас прохожу.
@zasql_python
Встречал много аналитиков, команд, которые делали сложные, как им казалось, задачи, но не получали отклика со стороны бизнеса.
Проблема тут в презентации результатов, продажи своих идей бизнесу, ну и конечно же в необходимости СЕЙЧАС. Если у вас нет процесса взаимодействия продукта и аналитики, пора задуматься.
1. Внедрить процесс планирования по спринтам, чтобы бизнес понимал как нагружена аналитика и что она делает. Самый простой вариант, но, оказывается, не у всех компаний есть. Это самое верхнеуровневое, что можно сделать.
2. Раз в n недель встречи по презентации исследований, наработок, которые помогут бизнесу в принятии решений. Бывает такое, что продакты между собой редко коммуницируют, из-за чего зачастую один или два продакта определяют полезность исследования. Чем больше лиц узнает об этом, тем выше вероятность, что дальнейшее исследование можно будет реализовать в продукте.
Не нужно такого: сделал задачу и погнал, дальше сами как-то.
Пусть руководитель мной гордится, что я такой крутой и закрыл вовремя все задачи
3. Раз в какое-то время просматривать вместе с продуктом метрики, чтобы видеть точки роста и понимать контекст. Полезная практика: смотреть вместе с бизнесом на одни и те же метрики, объясняя причину роста / падения, чтобы это не превращалось в бесконечное количество задач
4. Если задача инфраструктурная: синковаться с отделом аналитики, чтобы понимать насколько решение задачи поможет в текущих реалиях. Может быть вместо инфраструктурных решений нужно заняться написанием документации по основным метрикам / процессам и так далее
А у вас есть такое чувство, что решенные задачи не используются бизнесом? Делитесь своими кейсами, интересно почитать.
Если наберется 100
@zasql_python
Please open Telegram to view this post
VIEW IN TELEGRAM
Старый советский метод для… ClickHouse
Сосед поделился методом, все в шоке…
В этом посте будет подборка материалов по ClickHouse, понимание инфраструктуры, функций и так далее.
1. Курс на Stepik
Недавно на него наткнулся, он бесплатный. Тут есть база того, как работает ClickHouse под капотом, а это всегда плюс. Рассказывается про движки, функции, реплики, структуры данных.
Советую, но нужно для себя явно вести учет того, что проходите, так как большая часть курса — это теория + вопросы с одним вариантом ответа. Заметил, что самый длинный вариант по количеству символов с большей вероятностью является верным😂 .
Чтобы это все не превращалось в лудоманию, советую выделить себе пару часов на прохождение нескольких курсов👌
2. Документация
Важная тема, учитывая, что функций очень много. Здесь можно и ChatGPT заюзать, если нужно быстро реализовать задачу. Главное, чтобы Deprecated функции не советовал, а то будет беда кластеру, если он не готов...😮
🤪 Кстати, если наберется много реакций, сделаю раздел на сайте с основными функциями ClickHouse 🤪
3. Чат
Тут покрыты практически все кейсы работы с этой СУБД (от настройки конфигов, обработки ошибок до синтаксиса). Чат больше для DE. Перед входом настоятельно рекомендую открыть форточку🪟
Кстати, было приятно увидеть ссылки на запросы сотрудников Яндекса, очень популярный чат, но не NDA👍
4. Песочница Clickhouse
Недавно нашел для себя этот сайт, кстати, писал об этом в Linkedin. Тут можно поиграться с основным синтаксисом на примере разных таблиц + посмотреть запросы для изучения функций.
5. Памятка по ClickHouse
Тут практически весь сахар синтаксиса с запросами, даже работа с мониторингом с помощью системных логов. Много полезной и годной инфы. Конечно, чуть-чуть оформление поехало, но ничего страшного
😐 Пока не начал проходить этот курс от Яндекс Cloud. Понравилось, что сразу написали про разреженные индексы, работу с кластерами в Знакомстве с ClickHouse, поэтому ожидаю, что курс будет неплох.
📺 Здесь можно посмотреть про работу с массивами, так как сам Кликхаус плохо работает с джойнами. Вообще работа со структурами в ClickHouse очень важна и заслуживает отдельного поста.
📺 А тут про то, как разогнать ClickHouse (видео с конференции)
Здесь лежит плейлист серии видео, я так полагаю, это курс по ClickHouse
🔽 А как вы изучали Clickhouse? Что смотрели? Делитесь в комментариях 🔽
Кстати, упаковка соды по-новогоднему выглядит🎅
@zasql_python
Сосед поделился методом, все в шоке…
Когда я работал в OZON💙 , мне было интересно разбираться в том, как работают под капотом методы, строить сложные пайплайны
В этом посте будет подборка материалов по ClickHouse, понимание инфраструктуры, функций и так далее.
1. Курс на Stepik
Недавно на него наткнулся, он бесплатный. Тут есть база того, как работает ClickHouse под капотом, а это всегда плюс. Рассказывается про движки, функции, реплики, структуры данных.
Советую, но нужно для себя явно вести учет того, что проходите, так как большая часть курса — это теория + вопросы с одним вариантом ответа. Заметил, что самый длинный вариант по количеству символов с большей вероятностью является верным
Чтобы это все не превращалось в лудоманию, советую выделить себе пару часов на прохождение нескольких курсов
2. Документация
Важная тема, учитывая, что функций очень много. Здесь можно и ChatGPT заюзать, если нужно быстро реализовать задачу. Главное, чтобы Deprecated функции не советовал, а то будет беда кластеру, если он не готов...
3. Чат
Тут покрыты практически все кейсы работы с этой СУБД (от настройки конфигов, обработки ошибок до синтаксиса). Чат больше для DE. Перед входом настоятельно рекомендую открыть форточку
Кстати, было приятно увидеть ссылки на запросы сотрудников Яндекса, очень популярный чат, но не NDA
4. Песочница Clickhouse
Недавно нашел для себя этот сайт, кстати, писал об этом в Linkedin. Тут можно поиграться с основным синтаксисом на примере разных таблиц + посмотреть запросы для изучения функций.
5. Памятка по ClickHouse
Тут практически весь сахар синтаксиса с запросами, даже работа с мониторингом с помощью системных логов. Много полезной и годной инфы. Конечно, чуть-чуть оформление поехало, но ничего страшного
Здесь лежит плейлист серии видео, я так полагаю, это курс по ClickHouse
Кстати, упаковка соды по-новогоднему выглядит
@zasql_python
Please open Telegram to view this post
VIEW IN TELEGRAM
Про @ds_memes
Осталось не так много мемов в подборке, но количество постов уже перебито по сравнению с основным каналом. На момент написания поста их 704.
Давайте попробуем добить до 1000 подписчиков к НГ, а я буду топовые мемы грузить туда!❄️
Опыт неплохой. Просто думаю, нужно ли тратить на это время или нет.
Кстати, я же обещал рассказать про пайплайн.
Все достаточно просто. По классике разработки один питонячий файл main, Procfile, requirements.txt
1. Парсера никакого нет, видео грузятся ручками из различных источников. С картинками просто работать, присылаешь и отправляешь в очередь. Хотя вру, есть, парсер фото из Reddit по темам.
2. Для YouTube, Instagram* свой флоу распаршивания видео. Если с первым все просто, то со вторым — нет. Зашито определенное количество ретраев, после которых выгружалось видео. Методом проб и ошибок удалось подобрать оптимальное количество, чтобы видео еще не стояло в очереди.
3. Между постами есть интервал времени. Время для публикации поста внутри промежутка выбирается рандомно.
4. Любой формат загружается в сервис и дальше встает в очередь (картинка разных форматов, видео из разных источников и так далее).
5. Данные хранятся в SQLite. Если пост выложен, из базы он удаляется.
Я деплоил также, как и сайт, кому интересно, пишите в комментариях. Можно было это сделать и бесплатно, но я решил на единой квоте Railway все масштабировать.
Можно было сделать проще, но это мое.
Что-то недавно деплоили?
Если нет, то что бы хотели? Какой-то инструмент, который бы упростил жизнь?
Ставьте реакции, пишите комментарии!
*Признана экстремистской организацией и запрещена на территории РФ
@zasql_python
UPD: уже второй пост коменты снесены😁
Осталось не так много мемов в подборке, но количество постов уже перебито по сравнению с основным каналом. На момент написания поста их 704.
Давайте попробуем добить до 1000 подписчиков к НГ, а я буду топовые мемы грузить туда!
Опыт неплохой. Просто думаю, нужно ли тратить на это время или нет.
Кстати, я же обещал рассказать про пайплайн.
Все достаточно просто. По классике разработки один питонячий файл main, Procfile, requirements.txt
1. Парсера никакого нет, видео грузятся ручками из различных источников. С картинками просто работать, присылаешь и отправляешь в очередь. Хотя вру, есть, парсер фото из Reddit по темам.
2. Для YouTube, Instagram* свой флоу распаршивания видео. Если с первым все просто, то со вторым — нет. Зашито определенное количество ретраев, после которых выгружалось видео. Методом проб и ошибок удалось подобрать оптимальное количество, чтобы видео еще не стояло в очереди.
3. Между постами есть интервал времени. Время для публикации поста внутри промежутка выбирается рандомно.
4. Любой формат загружается в сервис и дальше встает в очередь (картинка разных форматов, видео из разных источников и так далее).
5. Данные хранятся в SQLite. Если пост выложен, из базы он удаляется.
Я деплоил также, как и сайт, кому интересно, пишите в комментариях. Можно было это сделать и бесплатно, но я решил на единой квоте Railway все масштабировать.
Можно было сделать проще, но это мое.
Что-то недавно деплоили?
Если нет, то что бы хотели? Какой-то инструмент, который бы упростил жизнь?
Ставьте реакции, пишите комментарии!
*Признана экстремистской организацией и запрещена на территории РФ
@zasql_python
UPD: уже второй пост коменты снесены
Please open Telegram to view this post
VIEW IN TELEGRAM
Смотрим резюме вместе
Пока идут выходные, давайте не будем себя перегружать чем-то сложным.
🥹 Вот вам и мем и практическая польза!
Особенно актуально для аналитиков, DS и тех, кто сейчас активно откликается
1. Все что нужно, это прислать сюда свое резюме (именно в этот тред).
2. Предварительно проверьте, чтобы в нем не было ваших личных данных.
3. Подумаем вместе, что можно поправить и на чем сфокусироваться. Посмотрим структуру, фокус, формулировки опыта и то, как вы продаёте себя через цифры.
Присылайте, будем интересно подумать и почелленджить, что можно поменять в ваших резюме!
Если тут есть ребята HR, помогайте😍
🤪 Ставьте реакции, делитесь постом с друзьями / коллегами!
😁 Я считаю, что такой разбор может увеличить конверсию в отклик! 😁
Кстати, если вдруг не видели мой пост про составление резюме, читайте тут!
🎄 🎄 🎄 Если у вас есть Premium, вы можете бустануть канал — это бесплатно и занимает 3 секунды. Нам совсем чуть-чуть осталось до 10 уровня, хочу поставить НОВОГОДНИЕ ОБОИ
@zasql_python
Пока идут выходные, давайте не будем себя перегружать чем-то сложным.
Особенно актуально для аналитиков, DS и тех, кто сейчас активно откликается
1. Все что нужно, это прислать сюда свое резюме (именно в этот тред).
2. Предварительно проверьте, чтобы в нем не было ваших личных данных.
3. Подумаем вместе, что можно поправить и на чем сфокусироваться. Посмотрим структуру, фокус, формулировки опыта и то, как вы продаёте себя через цифры.
Присылайте, будем интересно подумать и почелленджить, что можно поменять в ваших резюме!
Если тут есть ребята HR, помогайте
Кстати, если вдруг не видели мой пост про составление резюме, читайте тут!
@zasql_python
Please open Telegram to view this post
VIEW IN TELEGRAM
Как бороться с переобучением в ML
Считаете вы значит свои данные на тренировочных данных, качество хорошее, нужно внедрять в прод. Смотрите на тестовых — все плохо. Достаточно понятное объяснение: модель подстроилась под тренировочные данные.
Чем это грозит? Когда будем получать новые данные, модель не сможет адекватно интерпретировать нашу реальность, из-за чего будем страдать. Неадекватные прогнозы, плохое обобщение модели, неверные решения для бизнеса, убытки. В общем, всехорошо приемлемо 👨⚖️
Что можно с этим сделать
1. Больше качественных данных. Взять больше выборку, предобработать лучше. Минусы: не всегда есть эти данные. Возможно, мы уже взяли те самые 100% на которых мы обучаем👀 . У меня в магистратуре есть курс по предподготовке и анализу данных. Считаю его одним из самых важных. Об этом напишу в следующих постах.
2. Регуляризация. Модель может штрафовать за сложность. Чем проще модель, тем меньше она запоминает шум в данных. Без нее модель может выучить все подряд. Почитать можно тут, все хорошо объяснено. Практически всегда стоит начинать со включенной регуляризации, если понимаете за что каждый из видов отвечает.
3. Уменьшить сложность модели. Несмотря на то, что могут быть более мощные модели, они имеют свойство переобучаться. Например, для деревьев можно ограничить глубину. Попробовать сократить количество фичей и использовать более простую модель🤔
4. Замерять качество на валидационном датасете. Сравнивать качество на тренировочных и тестовых данных, а дальше тюнить в зависимости от обнаружения проблемы по метрикам качества модели. Про то как работать с кросс-валидацией написано тут🍪 🍪
5. Feature Selection. Определять важные для модели фичи, которые можно будет легко интерпретировать. Лучше использовать 10 хороших фичей, чем 200 случайных. Про простенький вариант на примере Титаника😮
6. Аугментация и добавление синтетических данных. Можно обмануть алгоритм, добавив шум, предоставить те же семплы данных, но немного измененные. Обычно это подходит для CV и NLP. Например, когда, мы подаем в модель повернутые картинки котиков, искусственно масштабируя датасет. Здесь также можно применить и SMOTE / ADASYN🙊 . Важно: все oversampling / SMOTE только на тренировочной выборке, иначе будет data leakage (утечка данных). О том, что это и как с этим бороться — тут.
7. Раннее прекращение обучения модели. Если качество на валидации перестаёт расти или начинает ухудшаться, обучение стоит остановить. Дальше модель может запоминать только шум. Например, останавливать обучение, если после N итераций качество на валидации не улучшается (как это указано на картинке).
Вот здесь неплохо рассказано про то, как проявляется переобучение у разных моделей машинного обучения и не только.
Но все должно быть объяснимо, почему может возникнуть переобучение, проблемные случаи и так далее. Мы же не на Kaggle🔑 , чтобы оптимизировать модели вслепую ради скора, а должны смотреть на все комплексно
Что-то забыл? Пишите в комментариях! Ставьте🤪 , если понравился пост! Планирую по 💻 писать больше, так как учусь на него, ну...
@zasql_python
Считаете вы значит свои данные на тренировочных данных, качество хорошее, нужно внедрять в прод. Смотрите на тестовых — все плохо. Достаточно понятное объяснение: модель подстроилась под тренировочные данные.
Чем это грозит? Когда будем получать новые данные, модель не сможет адекватно интерпретировать нашу реальность, из-за чего будем страдать. Неадекватные прогнозы, плохое обобщение модели, неверные решения для бизнеса, убытки. В общем, все
Вся эта борьба по сути, управление bias–variance tradeoff: либо модель слишком простая, либо слишком подгоняется под шум.
Что можно с этим сделать
1. Больше качественных данных. Взять больше выборку, предобработать лучше. Минусы: не всегда есть эти данные. Возможно, мы уже взяли те самые 100% на которых мы обучаем
2. Регуляризация. Модель может штрафовать за сложность. Чем проще модель, тем меньше она запоминает шум в данных. Без нее модель может выучить все подряд. Почитать можно тут, все хорошо объяснено. Практически всегда стоит начинать со включенной регуляризации, если понимаете за что каждый из видов отвечает.
3. Уменьшить сложность модели. Несмотря на то, что могут быть более мощные модели, они имеют свойство переобучаться. Например, для деревьев можно ограничить глубину. Попробовать сократить количество фичей и использовать более простую модель
4. Замерять качество на валидационном датасете. Сравнивать качество на тренировочных и тестовых данных, а дальше тюнить в зависимости от обнаружения проблемы по метрикам качества модели. Про то как работать с кросс-валидацией написано тут
5. Feature Selection. Определять важные для модели фичи, которые можно будет легко интерпретировать. Лучше использовать 10 хороших фичей, чем 200 случайных. Про простенький вариант на примере Титаника
6. Аугментация и добавление синтетических данных. Можно обмануть алгоритм, добавив шум, предоставить те же семплы данных, но немного измененные. Обычно это подходит для CV и NLP. Например, когда, мы подаем в модель повернутые картинки котиков, искусственно масштабируя датасет. Здесь также можно применить и SMOTE / ADASYN
7. Раннее прекращение обучения модели. Если качество на валидации перестаёт расти или начинает ухудшаться, обучение стоит остановить. Дальше модель может запоминать только шум. Например, останавливать обучение, если после N итераций качество на валидации не улучшается (как это указано на картинке).
Вот здесь неплохо рассказано про то, как проявляется переобучение у разных моделей машинного обучения и не только.
Хорошая модель — это не та, что идеальна на трейне, а та, что стабильно работает на новых данных🤓
Но все должно быть объяснимо, почему может возникнуть переобучение, проблемные случаи и так далее. Мы же не на Kaggle
Что-то забыл? Пишите в комментариях! Ставьте
@zasql_python
Please open Telegram to view this post
VIEW IN TELEGRAM
Бесплатные курсы на Stepik, которые я прохожу / прошел в декабре. Часть 1.
Уже 23 дня без перерыва в декабре я решаю по 25+ задач в день для поиска формата, по которому мне бы было приятно учиться.
Аналог Duolingo 🚶♂️
Параллельно ищу новые области, в которых интересно было развиваться, например, DE. Жестко подсел курсы🚬 ...
Плюс часто попадаются очень крутые решения задач в одну строку от ребят, которых обычно хейтят на курсах (мое наблюдение).
Подборка курсов специально для вас🔽
ClickHouse с нуля
Об этом курсе я уже говорил в предыдущем посте. Если пользуетесь им и хотите понимать как он работает под капотом, Must Have.
Я смотрел различные курсы по SQL для практики (чтобы потом можно было давать задачи на собесах, ну и в тонусе себя держать, конечно🐸 ). На каком-то из них останавливаться не буду, просто прикольно для себя прорешать. Первый, второй
У кого есть нестандартные задачи по SQL присылайте в комментарии 🍪 🍪
Векторная алгебра с Numpy
Здесь говорится про то, как работать с векторами (линейные операции, нормы, проекции, базис и тд). Курс сам по себе хороший, но описание задач иногда утомляет, хотя теория расписана классно. Может быть не мой формат, но почитайте ниже задачу.
Пример задачи:
Попал в сказку короче 😂
MLops. Начало
Я уже раньше на курсах проходил MLFlow, с Airflow работаю постоянно, поэтому открытий не свершилось. Курс хороший, здесь можно научиться поднимать необходимое окружение для ML-экспериментов и версионировать свои результаты. Самое оно.
Планирую делать вторую часть с подборкой курсов, ставьте🐳 , если ждете!
Пишите, какие курсы сами проходили и какие нравятся до сих пор)
@zasql_python
Уже 23 дня без перерыва в декабре я решаю по 25+ задач в день для поиска формата, по которому мне бы было приятно учиться.
Параллельно ищу новые области, в которых интересно было развиваться, например, DE. Жестко подсел курсы
Плюс часто попадаются очень крутые решения задач в одну строку от ребят, которых обычно хейтят на курсах (мое наблюдение).
Подборка курсов специально для вас
ClickHouse с нуля
Об этом курсе я уже говорил в предыдущем посте. Если пользуетесь им и хотите понимать как он работает под капотом, Must Have.
Я смотрел различные курсы по SQL для практики (чтобы потом можно было давать задачи на собесах, ну и в тонусе себя держать, конечно
Векторная алгебра с Numpy
Здесь говорится про то, как работать с векторами (линейные операции, нормы, проекции, базис и тд). Курс сам по себе хороший, но описание задач иногда утомляет, хотя теория расписана классно. Может быть не мой формат, но почитайте ниже задачу.
Пример задачи:
Давным-давно в землях математических жил был коварный злодей - Разделитель. Он любил разделять числа пробелами, чтобы затруднить жизнь простым смертным...
MLops. Начало
Я уже раньше на курсах проходил MLFlow, с Airflow работаю постоянно, поэтому открытий не свершилось. Курс хороший, здесь можно научиться поднимать необходимое окружение для ML-экспериментов и версионировать свои результаты. Самое оно.
Планирую делать вторую часть с подборкой курсов, ставьте
Пишите, какие курсы сами проходили и какие нравятся до сих пор)
@zasql_python
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳121👍17 15❤14 4
Магистратура [+ 1 к итогам года]
Предметы в магистратуре закрыты на отлично, можно выдыхать, наверное🥺
Дальше хочется в каких-то соревах по ML начать участвовать. Надеюсь без лудки...
Еще по курсам на Stepik, которые мне кажутся релевантными для магистратуры
1. Выше писал, что начал проходить курс по MLOps.
2. Я еще прохожу курс по FastAPI для бэкэнда по ML. Помню как на курсе по ML такое проходили, заодно подготовлюсь к еще одному предмету в магистратуре (в 3 семестре😁 ).
3. Пройду еще по Hadoop, этот курс советовали знакомые, чтобы закрыть пробелы в Big Data.
План на следующий семестр будет такой:
✏️ Общие дисциплины
Софт-скиллы — это, конечно, всегда интересно. Будем презы, наверное клепать👀
✔️ Трек Data Science
Один вопрос, почему разделили обучение без учителя и с учителем, пока непонятно. Может таймлайна бы не хватило, учитывая дедлайнны
Был еще на выбор трек DE, но я не выбрал, так как показалось, что Data Science будет релевантней. По DE предметы не понравились, сам посмотрю на досуге
Ставьте🐳 , если ждете итоги года, обязательно сделаю в этом году!
@zasql_python
Предметы в магистратуре закрыты на отлично, можно выдыхать, наверное
Еще по курсам на Stepik, которые мне кажутся релевантными для магистратуры
1. Выше писал, что начал проходить курс по MLOps.
2. Я еще прохожу курс по FastAPI для бэкэнда по ML. Помню как на курсе по ML такое проходили, заодно подготовлюсь к еще одному предмету в магистратуре (в 3 семестре
3. Пройду еще по Hadoop, этот курс советовали знакомые, чтобы закрыть пробелы в Big Data.
План на следующий семестр будет такой:
1. Алгоритмы и структуры данных
2. Операционные системы семейства Unix
3. Soft Skills
4. Учебная практика (практический хакатон)
Софт-скиллы — это, конечно, всегда интересно. Будем презы, наверное клепать
1. Машинное обучение без учителя
2. Принципы разработки на языке Python
3. Прогнозирование временных рядов
Один вопрос, почему разделили обучение без учителя и с учителем, пока непонятно. Может таймлайна бы не хватило, учитывая дедлайнны
Был еще на выбор трек DE, но я не выбрал, так как показалось, что Data Science будет релевантней. По DE предметы не понравились, сам посмотрю на досуге
Ставьте
@zasql_python
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳72❤10 10 3
Подводим итоги года
Чекпоинт перед 2026 годом, поехали смотреть что получилось🐸
1. Сделал x1.8 по количество подписчиков относительного конца 2024.
2. Получил красный диплом в универе.
3. Сменил работу.
4. Поступил в магистратуру и закрыл первую сессию на отлично.
5. 8к+ контактов в Linkedin. Нетворкаемся!
6. Сделал сайт, на который ежедневно заходят люди и постоянно учатся, меня это заряжает. Кто не видел, заходите, там много всего интересного.
7. Сходил на несколько конференций, обменялся контактами с несколькими ребятами, возможно сделаем что-то совместное.
8. Создал бота, который ежедневно постит всеми любимые мемы.
9. Еще один бот для подготовки к собеседованиям в лайт формате.
По статистике я постил ~ 4 поста в неделю (198 постов за год).
Это звучит лучше чем в 2024.
В прошлом году было 104 поста за год (по 2 поста в неделю).
Год пролетел очень быстро⌛️
Хочу всем пожелать карьерного роста, развития и движения вперёд.
Если возникают сложности — пытаться их разруливать, а не откладывать.
Спасибо, что читаете меня — это очень ценно❤️
Планов на 2026 год много, но загадывать не буду.
Главное — продолжать делать. Неважно какими шагами, важно не останавливаться.
А как прошел ваш год? Делитесь в комментариях
P.S: Фотка сделана в Таиланде🇹🇭
Буду Новый Год проводить тут. Вместо елок любоваться пальмами🌴
@zasql_python
Чекпоинт перед 2026 годом, поехали смотреть что получилось
1. Сделал x1.8 по количество подписчиков относительного конца 2024.
2. Получил красный диплом в универе.
3. Сменил работу.
4. Поступил в магистратуру и закрыл первую сессию на отлично.
5. 8к+ контактов в Linkedin. Нетворкаемся!
6. Сделал сайт, на который ежедневно заходят люди и постоянно учатся, меня это заряжает. Кто не видел, заходите, там много всего интересного.
7. Сходил на несколько конференций, обменялся контактами с несколькими ребятами, возможно сделаем что-то совместное.
8. Создал бота, который ежедневно постит всеми любимые мемы.
9. Еще один бот для подготовки к собеседованиям в лайт формате.
По статистике я постил ~ 4 поста в неделю (198 постов за год).
Это звучит лучше чем в 2024.
В прошлом году было 104 поста за год (по 2 поста в неделю).
Год пролетел очень быстро
Хочу всем пожелать карьерного роста, развития и движения вперёд.
Если возникают сложности — пытаться их разруливать, а не откладывать.
Спасибо, что читаете меня — это очень ценно
Планов на 2026 год много, но загадывать не буду.
Главное — продолжать делать. Неважно какими шагами, важно не останавливаться.
А как прошел ваш год? Делитесь в комментариях
P.S: Фотка сделана в Таиланде
Буду Новый Год проводить тут. Вместо елок любоваться пальмами
@zasql_python
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥97 25❤17 13 6
Все любят тестовые задания за их открытость и четкость, конечно же…
🙊 Мое мнение остается неизменным. Мышление кандидата очень сложно оценить, руководствуясь сухим решением, учитывая, что можно загнать все что угодно в LLM и сделать «идеально»
@zasql_python
Please open Telegram to view this post
VIEW IN TELEGRAM
Понимаю, что отдыхаете, но хочется выпустить пост, поэтому ловите
Читаю Linkedin, наткнулся на интересный пост с картинкой.
Вывод некорректен с точки зрения причинно-следственной связи...
Почему? Пишите ответ в комментариях
Ставьте
Кстати, такой вопрос вполне могут задать на собеседованиях, поэтому готовьтесь😿
Почему нельзя сказать о том, что вступление в брак влияет на доход? (ниже спойлер)
Возможно, просто обеспеченным мужчинам легче жениться.
Вывод: по такому графику мы видим корреляцию, но не можем утверждать причинный эффект без корректного причинно-следственного анализа
@zasql_python
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳56 20 13 3 2
Какими LLM пользуетесь / пользовались и почему?
Часто я юзаю ChatGPT, так как можно очень долго рассуждать с ним на определенные темы. Генерация картинок, конечно же страдает, но тут исключительно про текст. Еще есть агент с нормальным контекстом. Токенов хватает для разработки новых проектов, поэтому сижу пока с ним.
🤡 Периодически пользовался Perplexity, когда нужно было поделать ресерч в режиме Лаборатории, а потом собрать все воедино, но увы, я отлетел с подпиской Pro :(
🤨 Поэтому пока только ChatGPT, возможно еще и DeepSeek буду использовать…
А может вообще перейду на телеграм-ботов, которые построены на апишках🤨
А может нужно собрать вообще все детальки и использовать под определенные нужды?
💸 — для рассуждений
🏳️🌈 — для кодинга
💸 — для ресерча
🌟 — для чего-то другого
Что используете сами? Пишите в комментариях
🐳 — стараюсь комбинировать несколько вариантов. Где-то руками, где-то отдать в LLM, пока на 100% не доверяю.
😍 — пользуюсь только LLM и ничего в этом страшного нет.
😮 — только StackOverFlow и Google, я люблю старую школу, кстати F по количеству созданных вопросов…
@zasql_python
Часто я юзаю ChatGPT, так как можно очень долго рассуждать с ним на определенные темы. Генерация картинок, конечно же страдает, но тут исключительно про текст. Еще есть агент с нормальным контекстом. Токенов хватает для разработки новых проектов, поэтому сижу пока с ним.
А может вообще перейду на телеграм-ботов, которые построены на апишках
А может нужно собрать вообще все детальки и использовать под определенные нужды?
Что используете сами? Пишите в комментариях
@zasql_python
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳114 14 12❤3👍1
Топ ошибок в подготовке к собеседованиям по аналитике
Читая чаты, вижу, что многие начинающие (и не только) аналитики совершают примерно одни и те же ошибки. Давайте в этом посте их рассмотрим, а если у вас будет что добавить — напишите в комментариях. Поехали!
1. Не понимаете что ждет на собеседовании😮
Врываться с двух ног круто, но лучше понимать к чему быть готовым и заранее понимать формат интервью. Не ошибка спросить у HR, что будет на собеседовании, да даже у тех, кто уже проходил собеседование. Наоборот, хотя бы поймете к чему лучше быть готовым и что стоит повторить. У меня было такое, что при подготовке к интервью я уточнил про формат и было намного проще сфокусироваться на чем-то конкретном.
2. Не понимаете в какое направление идет отбор❓
Понимать ценности компании, конечно же, важно, а еще лучше понимать в какое направление / сегмент бизнеса.
Приведу пример. Существует компания X, у которой есть несколько продуктов: Банк, маркетплейс, рекламная платформа, доставка еды, такси и так далее. У каждого из этих "бизнесов" есть свои метрики, свои проблемы. Это нужно, чтобы понимать в какую сторону двигаться в рассуждениях.
3. Слишком переживаете из-за собеседования😨
Почти у всех есть страх не пройти интервью или показаться хуже, чем есть на самом деле. Часто кажется, что после собеседования вас будут долго обсуждать и разбирать по косточкам. На практике интервьюер тоже переживает и заинтересован в том, чтобы разговор получился продуктивным. Попробуйте относиться к интервью не как к экзамену, а как к обсуждению задачи с коллегой или знакомым — примерно как на мок-собеседовании, в котором вы решили поучаствовать.
4. Не тратите время на подготовку⌚️
Как бы странно не звучало, к интервью нужно готовиться заранее. Конечно, это не экзамен, но чтобы повысить шансы пройти, лучше подготовиться.
Нужно потратить какое-то время на подготовку, чтобы выделиться среди других кандидатов... Например, зайти на сайт или попробовать порешать вместе с LLM различные кейсы.
🗯 Пример промпта
5. Не делаете разбор своих фейлов🤨
Я помню раньше мне было стремно читать негативную ОС по прохождению собесов. Как бы разочаровывался в себе, думая, что еще не готов. Все это про ПРОЦЕСС. Если не было нормальной ОС пытаться разбирать ее вместе с AI-ассистентом, знакомым, чтобы можно было себя натаскать. Помню, когда в одной из контор не смог посчитать Retention 5-го дня, так мне прямо на собесе сказали, что я медленно решаю задачи и нам такие сотрудники не нужны🤡
На более высоких грейдах требуют понимание бизнес-процессов. С этим помогает решение продуктовых кейсов, можно глянуть тут на вкладке продуктовое мышление и тут для понимания продуктовых метрик.
Если хотите такую же подборку ошибок, но уже на самом собеседовании — ставьте🐳
Что-то упустил? Пишите, какие ошибки допускали при подготовке к собеседованиям?
На что бы еще обратили внимание?
@zasql_python
Читая чаты, вижу, что многие начинающие (и не только) аналитики совершают примерно одни и те же ошибки. Давайте в этом посте их рассмотрим, а если у вас будет что добавить — напишите в комментариях. Поехали!
1. Не понимаете что ждет на собеседовании
Врываться с двух ног круто, но лучше понимать к чему быть готовым и заранее понимать формат интервью. Не ошибка спросить у HR, что будет на собеседовании, да даже у тех, кто уже проходил собеседование. Наоборот, хотя бы поймете к чему лучше быть готовым и что стоит повторить. У меня было такое, что при подготовке к интервью я уточнил про формат и было намного проще сфокусироваться на чем-то конкретном.
2. Не понимаете в какое направление идет отбор
Понимать ценности компании, конечно же, важно, а еще лучше понимать в какое направление / сегмент бизнеса.
Приведу пример. Существует компания X, у которой есть несколько продуктов: Банк, маркетплейс, рекламная платформа, доставка еды, такси и так далее. У каждого из этих "бизнесов" есть свои метрики, свои проблемы. Это нужно, чтобы понимать в какую сторону двигаться в рассуждениях.
3. Слишком переживаете из-за собеседования
Почти у всех есть страх не пройти интервью или показаться хуже, чем есть на самом деле. Часто кажется, что после собеседования вас будут долго обсуждать и разбирать по косточкам. На практике интервьюер тоже переживает и заинтересован в том, чтобы разговор получился продуктивным. Попробуйте относиться к интервью не как к экзамену, а как к обсуждению задачи с коллегой или знакомым — примерно как на мок-собеседовании, в котором вы решили поучаствовать.
4. Не тратите время на подготовку
Как бы странно не звучало, к интервью нужно готовиться заранее. Конечно, это не экзамен, но чтобы повысить шансы пройти, лучше подготовиться.
Нужно потратить какое-то время на подготовку, чтобы выделиться среди других кандидатов... Например, зайти на сайт или попробовать порешать вместе с LLM различные кейсы.
Представь, что ты тимлид в компании X нанимаешь продуктового аналитика грейда G. Он должен заниматься Y [список обязанностей в вакансии]. На собеседовании планируется спрашивать про SQL, Python, статистику. [пример задач]. Ты должен отвечать четко по критериям, как была решена задача + давать пояснение к каждому пункту. Я тебе буду присылать решение каждой задачи, а ты будешь оценивать меня. В конце вердикт и саммари по тому, что можно улучшить.
5. Не делаете разбор своих фейлов
Я помню раньше мне было стремно читать негативную ОС по прохождению собесов. Как бы разочаровывался в себе, думая, что еще не готов. Все это про ПРОЦЕСС. Если не было нормальной ОС пытаться разбирать ее вместе с AI-ассистентом, знакомым, чтобы можно было себя натаскать. Помню, когда в одной из контор не смог посчитать Retention 5-го дня, так мне прямо на собесе сказали, что я медленно решаю задачи и нам такие сотрудники не нужны
Еще замечал, что многие кандидаты просто заучивают термины, но не понимают их.
Шаг влево, шаг вправо — и собеседование проваливается.
Если вы можете объяснить тему простыми словами — вы её знаете.
Если нет — скорее всего, просто заучили.
Классический пример — вопрос про p-value😋
На более высоких грейдах требуют понимание бизнес-процессов. С этим помогает решение продуктовых кейсов, можно глянуть тут на вкладке продуктовое мышление и тут для понимания продуктовых метрик.
Если хотите такую же подборку ошибок, но уже на самом собеседовании — ставьте
Что-то упустил? Пишите, какие ошибки допускали при подготовке к собеседованиям?
На что бы еще обратили внимание?
@zasql_python
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳73 10 8❤6👍2