Aspiring Data Science – Telegram
Aspiring Data Science
385 subscribers
465 photos
12 videos
12 files
2.15K links
Заметки экономиста о программировании, прогнозировании и принятии решений, научном методе познания.
Контакт: @fingoldo

I call myself a data scientist because I know just enough math, economics & programming to be dangerous.
Download Telegram
#lean #management

"The andon cord represents a system by which any worker can invoke attention in case of a problem. It sends a notification to the maintenance or the management team before it’s too late. Consequently, it reduces waste and boosts progress."

https://www.plutora.com/blog/andon-cord
Forwarded from asisakov
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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
#codegems #seedir

Классная утилита seedir:

import seedir as sd

sd.seedir(
DATA_FOLDER,
style="lines",
itemlimit=10,
depthlimit=3,
exclude_folders=".ipynb_checkpoints",
sort=True,
)


data/
├─categories/
│ └─categories/
│ ├─unique.item_brand.parquet
│ ├─unique.item_category.parquet
│ ├─unique.item_id.parquet
│ ├─unique.item_shop.parquet
│ ├─unique.user_age.parquet
│ ├─unique.user_brands.parquet
│ ├─unique.user_categories.parquet
│ ├─unique.user_consumption_2.parquet
│ ├─unique.user_gender.parquet
│ └─unique.user_geography.parquet
├─processed/
│ ├─train/
│ │ ├─_file_list.txt
│ │ ├─_metadata
│ │ ├─_metadata.json
│ │ ├─part_0.parquet
│ │ └─schema.pbtxt
│ └─valid/
│ ├─_file_list.txt
│ ├─_metadata
│ ├─_metadata.json
│ ├─part_0.parquet
│ └─schema.pbtxt
├─train/
│ └─part.0.parquet
├─valid/
│ └─part.0.parquet
└─workflow/
├─categories/
│ ├─unique.item_brand.parquet
│ ├─unique.item_category.parquet
│ ├─unique.item_id.parquet
│ ├─unique.item_shop.parquet
│ ├─unique.user_age.parquet
│ ├─unique.user_brands.parquet
│ ├─unique.user_categories.parquet
│ ├─unique.user_consumption_2.parquet
│ ├─unique.user_gender.parquet
│ └─unique.user_geography.parquet
├─metadata.json
└─workflow.pkl
#windows #microsoft

Очень смешно!

"По словам сотрудника стороннего сервиса обновлений Heimdal, Microsoft допустила ошибку и классифицировала необязательное обновление операционной системы, связанное с Windows 11, и обновление безопасности для Windows Server 2022, как одно и то же обновление. В итоге новая ОС начинает установку, «замаскировавшись» под обычное обновление безопасности из-за путаницы в репозитории."

https://3dnews.ru/1113734/oshibka-v-sisteme-obnovleniy-privela-k-ustanovke-novoy-os-windows-server-2025-na-sistemi-s-windows-server-2022
#codegems #frameworks

С заменой sklearn/pytorch я не согласен, это глупость. selectolax я не знаю, а вот под всем остальным скорее подпишусь. Лучше начинать проекты с рекомендуемых тулз вместо исторически самых популярных.

https://python.plainenglish.io/5-overrated-python-libraries-and-what-you-should-use-instead-106bd9ded180
#animals #battleforlife

"That damn thing tried everything...ink.... camouflage...shape shifting 😂"

"He knows the bastard wants a tentacle. So he is actually hiding its tentacles under its body and shielding them. That is amazing and so smart."

"That octopus ran that fish into a stonefish. Very venomous. 200 IQ move."

https://www.youtube.com/shorts/wFZZrJuBMzQ
#hardware #tpu #gpu

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

"Система из 6144 TPU v5p достигла контрольной точки обучения GPT-3 за 11,77 мин, отстав от системы с 11 616 H100, которая выполнила задачу примерно за 3,44 мин. При одинаковом же количестве ускорителей решения Google почти вдвое отстают от решений NVIDIA, а разница между v5p и v6e составляет менее 10 %."

https://servernews.ru/1114029
#from #series

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

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


https://www.youtube.com/watch?v=e049IoFBnLA
#competitions #security #adversarial #fgsm #simbba

One pixel attack забавная.

"Как заставить LLM выдать вам все тайны вселенной?

Что скрывают в себе 192-мерные данные?

Что нам хочет сказать заключенный в модели искусственный интеллект?

Зачем ходить в душ?

На эти и другие вопросы пришлось находить ответы участникам Kaggle-соревнования AI Village Capture the Flag на DEFCON31. Я расскажу про самые интересные загадки и их решения, а также немного затрону тему важности AI Security в наше удивительное время."

https://www.youtube.com/watch?v=iwgZJcDzhjg
#fun #truedetective

- What do you call a black man who flies a plane?
Detective Lutz :
- I don't know.
Detective Marty Hart :
- Pilot, you racist bastard!
1😁1
#fun #californication

-Здравствуйте, Вы придумали новый порностартап на блокчейне?
-Нет. На дикчейне.

https://www.youtube.com/watch?v=JjWHHBueJiA
#benchmarks #sota

Я не согласен с автором, что надо забить на бенчмарки в сфере интерпретабельности. "Просто" нужны хорошие синтетические бенчмарки.

"The obsession with benchmarks and SOTA runs deep:

Creation of benchmark islands.
People on social media arguing over which ML algorithm is better.
Difficulties in publishing new approaches that don’t beat the state-of-the-art.
LLM evaluation based on benchmarks even when they start memorizing them.

The hope is that the performance on these benchmark tasks and datasets are predictive of performance on new datasets. Ideally, the benchmark datasets are representative of the typical dataset you would work on in the future. But it’s not like we can sample from the distribution of datasets. Benchmarks are guided by what datasets are openly available (huge selection bias already) and which datasets are convenient to use (for example in clean CSV format and not in some wild Excel construct). Benchmarks are not representative samples, they are arbitrary samples."

https://mindfulmodeler.substack.com/p/we-are-obsessed-with-benchmarks
#fairness

Что учить, одну модель на все регионы или по отдельной модельке для каждого региона?

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

"The beautiful thing about performance-based evaluation is that if one of the two strategies wins, you also learn something about the prediction task. If the one model per entity strategy has a better performance, it means that there are mostly entity-specific effects.

In general, I tend to pack everything into one model. For starters, I am often too lazy to implement an additional logic that splits the data by entity and then stores multiple models and so on. Such a hassle. Also, when using tree-based algorithms like the random forest, Catboost, or XGBoost, they can handle entity-specific effects very naturally since they kind of emulate the model-per-entity approach when they split by entity ID. They can be even more “clever” about it since they can bundle entities that have similar relations between features and outcome."

https://mindfulmodeler.substack.com/p/one-model-or-many-balancing-entity
#tabular #anns #trees

Любопытная попытка объяснить известный феномен.

"According to Grinsztajn et. al (2022)4, tree-based methods work well for tabular data because they are not rotational invariant. In tabular data, the feature columns are often individually meaningful, and mixing them with other columns by rotating them is a disadvantage. An MLP first has to learn the right rotation and therefore has a more difficult task.

Sparse solutions: rotationally invariant models have a hard time distinguishing relevant and irrelevant features. Trees and forests are good at separating relevant and irrelevant and offer sparser solutions.

https://mindfulmodeler.substack.com/p/inductive-biases-of-the-random-forest