Aspiring Data Science

Description
Заметки экономиста о программировании, прогнозировании и принятии решений, научном методе познания.
Контакт: @fingoldo

I call myself a data scientist because I know just enough math, economics & programming to be dangerous.
Advertising
We recommend to visit
HAYZON
HAYZON
5,835,362 @hayzonn

لا اله الا الله محمد رسول الله

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam
Мои каналы: @mazzafam

Last updated 1 month, 1 week ago

Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.

Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support

Last updated 1 month ago

Канал для поиска исполнителей для разных задач и организации мини конкурсов

Last updated 1 month, 2 weeks ago

1 month, 3 weeks ago
[#computers](?q=%23computers)

#computers

Я даже не задумывался, что "компьютером" раньше называлась человеческая профессия, представители которой занимались вычислениями на арифмометрах!

https://www.youtube.com/watch?v=e049IoFBnLA

1 month, 3 weeks ago
[#from](?q=%23from) [#series](?q=%23series)

#from #series

Приближается финал 3-го сезона сериальчика Извне. Люди заперты в деревеньке, из которой нельзя убежать, а по ночам к ним приходят монстры. А мы за этим с интересом наблюдаем )

2 months ago
2 months ago
**Roadmap в DataScience**

Roadmap в DataScience

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

Мы все понимаем, что вкладывать огромное количество времени и сил целый год подряд и даже без надежды на 100% успех, это немного тяжело - тем более с непрофильными фуллтайм учебой/работой. Не забываем также о том, что конкуренция на начальные позиции постоянно растет. Вместо условных 100 резюме на одну стажерскую позицию несколько лет назад, сейчас мы имеем 300 (цифры субъективны).

Итак. Давайте мы посмотрим с другой стороны на весь этот процесс и вспомним, что же нам нужно знать для прохождения всех этих собеседований. Обратившись к моим прошлым постам про собесы, мы вдруг понимаем, что вещей, которые следует знать, существует огромное множество. И каждый из этих элементов реально важен для своей специфики. Ну например: cuda, c++, linear algebra, gan, llm. Да, реально важны и нужны в своих областях 🤓

Вы наверно не поверите, если я скажу, что в DS можно вкатиться без знания всех этих вещей. Если мы отсортируем требования по вакансиям и попробуем посмотреть самое частое, то скорее всего в нашем списке будет только небольшое количество моментов: python, sql, classic ml, dl. Это некоторый минимум, чтобы попасть на стажировку на ML engineer или аналитика. Но минимум не означает, что шансы сильно вырастут, хотя они будут не околонулевые. Но если сюда докинуть пет-проект и знания узкой области, в которой планируется работать, то шансы многократно возрастают. Но база в виде указанных выше моментов все равно нужна.

Предполагаем, что нам в первую очередь нужно на базе: python, sql, classic ml, dl. И самое интересное, что никому не нужно 100% понимание и погружение. Я даже не видел вживую человека, который на 100% знает Python. При прохождении отбора на начальные позиции важнее иметь скиллы, которые являются базовыми и позволяют уже работать с инструментом быстро, даже если требуется гуглинг и это уже неплохо. К слову, ставьте 💯, если минимум 1 раз в день гуглите на работе.

Давайте попробуем понять, а какой же из этих скиллов может дать наибольший выхлоп сразу. А именно, со знанием какого скилла мы можем слегка доучиьтся и сразу пойти получать опыт? Можно даже отсортировать эти скиллы:

1️⃣SQL (+ подтянуть специфичную аналитику, Excel и A/B) - можно идти на стажера-аналитика
2️⃣SQL + Python (+ сделать пет-проект) - можно идти и на стажера-разработчика, и на стажера-аналитика
3️⃣SQL + Python + Classic ML + DL (+ сделать пет-проект + подтянуть специфику) - можно попробоваться даже на стажера ML-разработчика

По объему базовое понимание SQL статзначимо занимает меньше времени, чем базовое понимание Python. И, начав с SQL, погрузившись немного в аналитику и метрики, мы уже можем пробовать себя в аналитике, найти работу и уже получать опыт, пока подтягиваем Python и остальные скиллы. И совсем не обязательно это значит, что потом нужно идти дальше и менять направление на разработчика. Можно строить карьеру в аналитике дальше, либо можно пойти по менеджерскому треку и стать Project Manager или Product Owner. Главное понимать, где лежит бешеное желание развиваться.

Можно пройти хоть миллион курсов за несколько лет, но это не позволит получить 100% вероятность прохождения собеседования. Банально может не произойти сходство по вайбу. Поэтому с собеседованием тоже не стоит тянуть. Как только почувствовали уверенность в себе - можно идти набирать опыт в собеседованиях, искать точки роста и в конце концов, заветный оффер не заставит себя ждать 🤩

По курсам я могу сделать отдельный пост. И если это нужно, ставьте реакции и пишите комментарии. Кому интересно обсудить такой путь развития, welcome в комментарии.

@asisakov_channel

#career #interview

5 months ago

#news #hpt #hpo #mbho #transferlearning #pmbho

Начинаю работу над одним из самых амбициозных своих ML проектов - оптимизатором гиперпараметров, основанном на моделях (PMBHO, Persistent Model Based Heuristic Optimizer).

Это следующий шаг в цепочке GridSearch->RandomSearch->HalvingRandomSearch->BayesianSearch.

BayesianSearch используется в оптимизаторах вроде optuna и hyperopt, которые вроде как считаются сейчас state of the art. На самом деле от Байесовского подхода там немного, по сути это скорее оптимизация "одноруких бандитов" поверх простенькой суррогатной модели, как правило, ГП - гауссова процесса (т.к. он позволяет учитывать неопределённость).

Недостатки BayesianSearch:
1) ГП откровенно слабоват как модель, часто бывает трудно подобрать подходящее ядро
2) не всё гладко с категорийками
3) никак не учитывается природа и структура данных - признаков и таргета
4) никак не учитываются знания, полученные при работе с другими датасетами
5) это уже недостаток конкретных реализаций - современные библиотеки подбора гиперпараметров обычно ни хрена не знают, какие собственно гиперпараметры есть у каких классов моделей. обычно юзеры сами задают поисковые пространства для 5-10 HP (при том что у современных бустингов их десятки)
6) библиотеки никак не отрабатывают конфликты гиперпараметров - юзерам предлагается разруливать всё вручную, из-за чего все и забивают на большинство HP и ограничиваются 5-6 самыми неконфликтными.
7) почти все известные мне оптимизаторы за оптимальный набор HP считают ту единственную точку в пространстве поиска, что достигает экстремума по нужной ML-метрике на CV. При этом никак не учитывается устойчивость в близких областях, что приводит к катастрофам на OOS (Out-of-Sample).

В результате десятки тысяч дата-сайентистов по всему миру для каждого нового проекта молотят сотни тысяч комбинаций гиперпараметров "каждый раз как в первый раз". There... There must be a better way! )

Гипотеза: есть мнение, что по некоторым базовым статистикам признаков и таргета (и их связей) уже можно определить перспективные наборы гиперпараметров.
А обучив несколько неглубоких моделек с фиксированными HP (назовём их "золотой стандарт") и изучив производные от их атрибутов (важностей признаков, кривых обучения и валидации по набору ML метрик), можно существенно повысить точность рекомендаций практически в реальном времени.

Решение: свой оптимизатор, основанный на принципе exploration-exploitation и на ранжировании кандидатов с помощью мета-модели, натренированной на разных датасетах и богатом наборе мета-данных. Периодически по мере проверки кандидатов на конкретной задаче можно основную модель подстраивать/файнтюнить (брать основной датасет с обычными весами+подмешивать актуальный датасет с большими весами). Оптимизатор интеллектуальный и будет учитывать значения и гладкость МЛ-метрик в ближайших окрестностях точек-кандидатов, знать, какие гиперпараметры есть у конкретного класса моделей и иметь таблицы конфликтов (например, будет знать, какие гиперпараметры недоступны на GPU).

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

Напомню, что у меня уже есть одномерный MBHO оптимизатор (сделанный для задачи #featureselection), и по результатам тестов мне удалось побить и оптуну, и гиперотпт, и эскаопт.

На самом деле, моя цель еще более амбициозная - в идеале я бы хотел для заданного датасета (сырые признаки+таргет+МЛ задача) быстро определять не только оптимальные классы МЛ моделей и их гиперпараметры, но и оптимальный препроцессинг (нейлинейные преобразования, PolynomialFeatures, сплайны, обработка категориальных входов, ядра, шкалирование, понижение размерности ) и трансформацию таргета (для задач регрессии). Пока неясно, можно ли эти 2 задачи эффективно увязать вместе.

Временные ряды в этой постановке - отдельная боль.

Как всегда, буду рад советам и конструктивной критике.

5 months ago

#sklearn

GradientBoostingClassifier/HistGradientBoostingClassifier - реализация градиентного бустинга над деревьями, конкурент xgboost, lightgbm, catboost.

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

Также поддерживает раннюю остановку и validation_fraction - автосоздание валидационного множества, чего не могут сделать уже xgboost и lightgbm.

Завезены ограничения монотонности. Не завезена поддержка GPU.

7 months, 1 week ago

⚡️Глава ФНС: неправда, что в России нет ничего прогрессивного

We recommend to visit
HAYZON
HAYZON
5,835,362 @hayzonn

لا اله الا الله محمد رسول الله

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam
Мои каналы: @mazzafam

Last updated 1 month, 1 week ago

Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.

Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support

Last updated 1 month ago

Канал для поиска исполнителей для разных задач и организации мини конкурсов

Last updated 1 month, 2 weeks ago