Уставший кодер
231 subscribers
27 photos
4 videos
18 links
Душные советы. Рассказываю об IT и DS

Автор - @mdaniel42
Download Telegram
Про базовую математику в DS

Много кто говорит, что в data science нужна какая-то безумно страшная математика, но на практике оказывается, что математики нужно на самом деле не так много (уровень 1-2 курса универа). И изучить этот уровень может любой достаточно упорный человек. Ссылки на изучение были в посте про краткий план подготовки дата саентиста.

Какие разделы и зачем нужны?

Математический анализ
Нужно знать все о пределах, производных и совсем чуть-чуть про интегралы. Все это нужно, чтобы спокойно понимать, например, как работает backpropagation и что такое градиент.

Линейная алгебра
Необходимые темы - векторы, матрицы, транспонирование, обратная матрица, определитель, скалярное произведение. Эти темы нужны, чтобы понимать как правильно взаимодействовать с данными в формате матриц и внутренними нюансами построения алгоритмов машинного обучения.

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

Математическая статистика
Необходимые темы - описательные статистики, центральная предельная теорема, функции распределений, как сравнивать средние выборок (t-критерий Стьюдента, дисперсионный анализ/ANOVA), проверка статистических гипотез и другие. По сути все идеи машинного и глубокого обучения исходят из математической статистики.

С этой базовой подготовкой вы сможете отвечать на вопросы по математике на собеседованиях и полноценно учить data science.
🔥21
Релокейт или релокейт, вот в чем вопрос...
😢7🤣3👍2
Про Machine learning

Решил написать стандартный список вопросов с моих собеседований на классического стажера/джуна дата саентиста. С большей частью этих вопросов вы столкнетесь со 100% вероятностью. Усердно готовьтесь по каждой из тем, чтобы с легкостью убедить эйчара, а потом и интервьюера в вашей компетентности.
Важно понимать, что в зависимости от вакансии вас могут спрашивать дополнительные темы - рекомендательные системы, временные ряды, методы понижения размерности, нейросети и другие, Поэтому подготовившись по этим вопросам, не забывайте внимательно читать вакансию на наличие таких тем и не стесняться спрашивать о рабочих задачах эйчара и будущую команду.

✳️ Общие вопросы
1) Какие существуют задачи в machine learning?
2) Объясните разницу между регрессией и классификацией
3) Что такое переобучение/недообучение?
4) Что такое бинарная/многоклассовая классификация? А multilabel классификация?
5) Расскажите как бы вы решали стандартную задачу классификации от сбора датасета и до проверки качества модели

✳️ Линейные модели
1) Чем отличаются линейная и логистическая регрессия?
2) Что такое регуляризация и ее виды/формулы (L1, L2, Elasticnet)
3) Расскажите про градиентный спуск (обычный, стохастический)

✳️ Деревья решений
1) Что такое дерево решений?
2) Опишите алгоритм построения дерева решений
3) Какие критерии информативности существуют в задаче классификации (misclassification error, энтропия Шеннона, критерий Джини)? Вспомните формулы
4) Методы регуляризации решающих деревьев (ограничение по глубине/количеству листов и другие)

✳️ Ансамбли алгоритмов
1) Что такое беггинг и бустинг? Их различия?
2) Объясните алгоритм построения случайного леса
3) Объясните алгоритм построения градиентного бустинга

✳️ Оценка качества модели
1) Расскажите про метрики классификации (accuracy, precision, recall, f-score, roc-auc)
2) Формулы для precision и recall в случае бинарной классификации
3) Что значит micro/macro при подсчете precision/recall в случае многоклассовой классификации
4) Как соотносятся precision и recall с ошибками 1 и 2 рода?
5) Расскажите про метрики регрессии (MSE, RMSE, MAE, MAPE, R^2) и их смысл
6) Что такое кросс-валидация?
7) Какие есть стратегии перебора гиперпараметров?

✳️ Обучение без учителя / кластеризация
1) Что такое кластеризация и зачем нужна?
2) Расскажите какие вы знаете алгоритмы кластеризации (k-means, c-means, иерархическая агломеративная кластеризация, DBSCAN) и опишите алгоритм их построения
3) Расскажите как бы вы оценивали качество кластеризации

✳️ Дополнительные вопросы
1) Расскажите про метод k-ближайших соседей (KNN)
2) Что такое метод опорных векторов?
3) Расскажите про bias-variance trade-off (дилемма смещения/дисперсии)
🔥12👍8
Список полезных курсов/материалов по машинному обучению

✳️️ Онлайн учебник от ШАД по ML
Ребята из Школы Анализа Данных сделали прекрасный онлайн учебник с хорошо и кратко объясненной теорией ML. Регулярно перечитываю перед собеседованиями

✳️ Открытый курс машинного обучения от ODS
Курс по классическому машинному обучению от сообщества OpenDataScience с примерами в коде и теорией ML в виде статей на хабре

✳️️ Курс "Машинное обучение" 2019 К.В. Воронцов
Хардкорные лекции по ML от Константина Воронцова. Не для начинающих 😁

✳️ Deep Learning на пальцах - 2019
Лекции на YouTube по глубокому обучению от Семена Козлова. Курс немного устарел, но 95% материала актуально, особенно начальные лекции про то, как работают нейросети буквально "на пальцах"

✳️ ML System Design
Спойлер для начинающих дата саентистов - data science нужен не для того, чтобы строить модельки в вакууме (это к R&D), а для решения задач бизнеса. Этот курс помогает понять все этапы решения ML задачи в реальной жизни. От постановки задачи и сбора данных и до внедрения ML-системы на ПРОД. Если вас вдруг спросят на собеседовании про то, как бы вы строили ML систему с нуля - сразу вспомните этот курс хорошим словом
🔥131👍1🎉1
Всем кому пора обновлять фото профиля😁

Китайцы выкатили нейросетку, которая очень уж прикольно рисует в анимешном стиле🥰

https://h5.tu.qq.com/web/ai-2d/cartoon/index
👍13
Получение практического опыта в DS

Когда дело доходит до получения практического опыта в области науки о данных, один из лучших способов сделать это - выбрать пет-проект. Это проект по анализу данных, над которым вы можете работать самостоятельно, без необходимости в команде или большом наборе данных. Он позволит вам изучать различные этапы анализа данных, такие как парсинг и очистка данных, feature engineering, обучение модели и её выкатка в качестве сервиса.

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

Еще один способ получить практический опыт - это участвовать в соревнованиях Kaggle. Kaggle - это веб-сайт, на котором проводятся соревнования по науке о данных, где участники соревнуются за создание лучшей модели. Это отличный способ получить практический опыт, потому что он позволяет вам работать с реальными датасетами и соревноваться с другими дата саентистами.

Помимо получения практического опыта, соревнования Kaggle также предлагают ряд других преимуществ. Во-первых, они обеспечивают структурированную среду, в которой можно изучать и практиковать навыки работы с данными. Это связано с тем, что каждое соревнование включает в себя четкую цель, набор правил и график, который помогает сосредоточить ваши усилия и отслеживать ваш прогресс. Кроме того, в конкурсах Kaggle часто разыгрываются крупные денежные призы, что дает дополнительный стимул преуспевать и может помочь профинансировать ваше образование или карьеру в области науки о данных.

P.S. Я настолько ленивая ж*па, что написал этот пост с помощью ChatGPT от OpenAI и небольшого редактирования😁
🔥8👎1
Channel photo updated
Всем, кто живой тут привет!)
Давненько я тут ничего не писал
Пора это исправлять😼

14 ноября я с коллегой буду выступать на конференции PiterPy и рассказывать про автоматическую разметку БД с помощью ML инструментов
Доклад можно будет посмотреть как оффлайн в Санкт-Петербурге, так и онлайн дома

Приходите посмотреть и послушать нас🙂

piterpy.com - ссылка на конференцию
🔥133👍2🥰2
Channel photo updated
Добрый вечер, найт сити🤩

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

В преддверии новых выступлений и конференций я продолжу делится с вами своим опытом айтишной жизни😬
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11
Только что собеседовал кандидата на позицию дса
Почти сразу выяснилось, что он не знает что такое линейная регрессия 💀
Поэтому вот вам мой первый совет: если идете на собес, то хотя бы почитайте теорию (например хендбук от яндекса по мл)
Please open Telegram to view this post
VIEW IN TELEGRAM
432
Занимался я тут совсем недавно наймом дата саентистов и понял, что это тот самый момент, чтобы написать описание грейдов😬

Думаю каждый знает, что градация специалистов выглядит так - стажер, джун, мидл, синьор. Однако от компании к компании матрица компетенций сильно различается и на одном месте от вас будут хотеть чтобы вы были ближе к аналитику, в другом к разработке и так далее. Все зависит от задач, которые вам придется решать. Поэтому давайте опустимся скорее к поведенческим паттернам дата саентистов.

Стадия «я все знаю» (стажер/джун)
Человека нужно сильно направлять в работе и выполнении задач. Ему явно нужно наставничество. Ему еще только предстоит понять паттерны выполнения задач, как с кем коммуницировать, задумываться об оптимизации и учится писать документацию.

Стадия «Я вроде что-то знаю» (мидл)
Человек уже знает как нужно работать. Но направлять все еще надо. Нельзя дать проработать какое-то большое решение, только какую-то часть пока не вырастет в понимании. Можно ставить средние задачи.

Стадия «Я знаю, что ничего не знаю» (синьор)
Готовый специалист. Эти задачи и модели скорее всего уже когда-то делал. Дал задачу, он запросил необходимые уточнения и вернулся уже с готовым решением. Редкий и дорогой зверь.

Все всегда хотят найти сеньора, но по цене джуна. Но за цену джуна всегда найдется только джун🫡
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍4
Как живется тимлиду

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

Ответ прост и сложен одновременно - учится делегировать обязанности.

За свою карьеру в айти я повидал и разговаривал с многими тимлидами, которые люто овертаймят, работают по выходным, пытаются жить кодом дальше, а все потому что пытаются жить дальше как технари. Но как только ты стал тимлидом, то твоим основным инструментами стали люди и техническая экспертиза из твоего прошлого, а не возможность самостоятельно закрыть все дыры проекта и 50 закрытых тасок в день.
Поэтому нужно качать менеджерскую составляющую своей жизни. Но отсидеть жопу на встречах все равно придется. Ведь таков путь…
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥31
Нужно ваше мнение подпищщики
Взял тут себе airpods max и меня все начали убеждать, что они переоценены и оверпрайс💀
Это так или нет?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2🤔2
Решил я посмотреть на hh джуновские вакансии и ужаснулся. По 1000+ откликов на нормальные вакансии, большие требования по скиллам и низкие зп. От джунов ждут буквально, что они будут готовыми специалистами, которых можно отправить сразу в бой. И я отчасти понимаю подобное желание, потому что сам хотел бы нанять человека и не учить его базовым вещам.
Ну ладно, а что делать то джунам?
Ну тут стратегия простая (и как всегда очень сложная) - пытаться быть в девяностом перцентиле качественных кандидатов. А это значит уметь прогать на питоне и sql, знать минимально алгоритмы, знать качественно базу по классик мл, нарабатывать важные скилы и знания для сферы куда ты хочешь попасть (LLM, рекомендашки и многое другое). Простого пути нет, особенно для вкатунов без технического образования привет Яндекс практикум. Придется потратить очень много времени и сил ради обучения и последующего найма на свою первую работу. Но всегда нужно помнить, что дорогу осилит идущий.
7👍42
Про спорт

Когда работаешь айтишником за кучу денег в секунду очень важно помнить, что наша работа сидячая и сидеть пердеть в стул с утра до вечера не вставая - очень плохая идея, прям вообще очень очень плохая идея. Проблемы бывают разные начиная от безобидных до серьезно мешающих жить.
Очень важно не забивать на свое здоровье.
Так и чего делать то?
Просто больше гуляете. Казалось бы профит, но нет ведь вряд ли получится ходить и писать код… Или нет?
А вот как раз получится - берем покупаем поднимающийся стол и ставим под ним маленькую беговую дорожку (артикулы найдете сами на озоне - это не рекламный пост) и ходим, и ходим, и ходим. Во время встреч, во время кодинга, во время чего угодно.
Параллельно обязательно необходимо давать нашим мышцам быть в тонусе в нерабочее время. Тут уже как кому нравится - бассейн, спортзал с весами, кроссфит и тд.
Не забывайте о себе и своем здоровье, иначе очень быстро можно стать скуфом в самом плохом понимании этого слова с кучей хронических болячек.
Я спустя большое время пришел к своему идеальному варианту - каждое утро прокатываю 8 км на велотренажере и занимаюсь с весами раз в 3 дня.
А как вы следите за здоровьем?
👍64🔥2
Немного тимлидского нытья про Сочи
Кажется тут просто невозможно найти не оверпрайс жилье даже в несезон
Я уже месяца 3 ищу дом ближе к городу, куда можно переехать без «повышаем цену в 3 раза летом» и «с мая сдаем посуточно», потому что подустал сидеть в селе в горах
Решил посмотреть квартиры вместо домов
Так там ситуация в 10 раз хуже💀
Похоже надо уезжать в Тай/Вьетнам/Бали (там цены адекватнее)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1