Aspiring Data Science – Telegram
Aspiring Data Science
386 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
🔥3
#trading #erema #tradingpolicy

Допилил бэктестер, выяснилось, что полученной предсказуемости на акциях едва достаточно, чтобы побить комиссию. Но это я построил 1 модель без тюнинга на первом попавшемся таргете, относительно небольшом датасете. Торговая политика тоже была недостаточно проработанной: к примеру, даже если ей подавать истинные вероятности изменения цены вместо прогноза (читерство), торгуя 1 лотом Магнита (~5 т.р.), за день можно заработать чистыми 500р., при этом комиссия брокера составит 300р. Наверняка это можно улучшить. Осознал, что ML и торговую части можно прорабатывать почти независимо, если у моделек сохранять предсказания на всех OOS днях.
❤‍🔥11👍1
#trading #erema #planning

Собрал воедино рой мыслей по поводу дальнейших шагов. Вырисовывается план из 3 фаз. 1ю попробую сделать в течение июля и на домашнем компе. Дальше посмотрим.
❤‍🔥2
Forwarded from Борис опять
#лабораторный_журнал

Как начался ML так сразу стало меньше интересного для постов. ML во время рутины довольно скучная штука: слегка меняешь модели, запускаешь долгие эксперименты, много ждешь и правишь баги.

Последний раз мы запустили в теневом режиме простую бейзлайн модель классификации проблем: CLIP фичи + логрегрессия. С тех пор были обучены несколько ConvNext и тоже запущены в теневом режиме. Все они принесли небольшие инкрементальные изменения.

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

Из интересного: я научился красиво делать fusion категориальной информации с фичами изображений. Можно конкатить эмбеддинг к последнему слою перед классификатором, но эффективнее решейпить в BxWxHxC и суммировать с feature map перед последним residual block.

Далее на инкрементальных изменениях много не добьешься, поэтому надо раскачать обстановку. Будем делать большую self-supervised pretrained backbone. Выбирали между SSL и разметкой. Пришли к выводу, что профит от лейблов ограничен и не масштабируется, а self-supervised с нашим объёмом данных может дать настоящий прорыв. К тому же модель на лейблах будет затачиваться под одну задачу, а SSL откроет доступ к разным новым проектам.

Из других новостей: ведем поиск нового ML инженера в мою команду. Сейчас ищем только внутри Португалии (разнарядка сверху), поэтому я сюда даже не постил. Теперь я немного HR: скриню резюме, проверяю тестовые, скоро первые собеседования. Скоро напишу о том, как выглядят воронка и процесс поиска со стороны нанимателя.
#astronomy #lifeorigin #jameswebb

"Анализ спектральных данных, собранных обсерваторией «Джеймс Уэбб», обнаружил невиданные ранее линии спектра. В течение четырёх недель занятые в работе учёные смогли идентифицировать сигналы до определения источника — молекулы метил-катиона (CH3+). Это стало первым подтверждённым обнаружением данного соединения за пределами Земли.

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

Прорыв произошёл благодаря инфракрасной космической обсерватории «Джеймс Уэбб» с её революционной спектральной и инфракрасной чувствительностью, а также высочайшим на сегодня пространственным разрешением.

Молекула метил-катиона обнаружена в протопланетном диске небольшого красного карлика d203-506 в туманности Ориона. Особенность данного объекта в том, что протопланетный диск подвергается сильной бомбардировке ультрафиолетом от близлежащих молодых и более массивных звёзд. Сам красный карлик на такое не способен. Ультрафиолет, как ни странно для нас это звучит, не разрушает метил-катион, а даёт энергию для запуска процесса его синтеза. Такое, вероятно, происходит на ранних стадиях зарождения органической химии и не вредит ей, а даёт толчок к развитию."

https://3dnews.ru/1089005/dgeyms-uebb-vpervie-obnarugil-vagnuyu-dlya-zarogdeniya-gizni-molekulu-eyo-iskali-bolee-50-let
#pandas #bollocks

Самая раздражающая штука в пандас - реализация проверки на пустой объект. Какой идиот принял такое решение, ломающее совместимость со всем остальным питоном? Постоянно на этом спотыкаюсь.

if features:
File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\generic.py", line 1466, in __nonzero__
raise ValueError(
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

P.S.:
То же самое в np.array, к сожалению
И ещё bool(np.nan)=bool(
pd.NA)=True
🥴2😈2
#trading #deprado

Книжка Де Прадо "Advances in financial machine learning", разобранная на конспекты. Для скорости можно просто листать слайды. У меня ощущение, что во всём мире только Маркос Де Прадо и Эрни Чан знают, как эффективно применять ML в финансах )

https://www.youtube.com/playlist?list=PL_ljXO3JR1NJXt9wD7IrwinYMP8-RCcii
🔥2
#python #codegems

Как передать питоновскому скрипту список в качестве параметра:

parser.add_argument('-l','--list', nargs='+', help='<Required> Set flag', required=True)
# Use like:
# python arg.py -l 1234 2345 3456 4567
#ml #featureselection #featureengineering #mrmr #sulov

Наткнулся на новую библиотечку по созданию и отбору признаков. Гордятся реализацией MRMR (Minimum Redundancy Maximum Relevance) и SULOV (Searching for Uncorrelated List of Variables).

https://github.com/AutoViML/featurewiz
❤‍🔥1👍1
#ml #dask #daskml

Продумываю переход на распределённое обучение с Dask, и внезапно оказывается, что там вроде бы и нет (распределённого) FS (feature selection), OR (outlier removal), TT (target transformer). По крайней мере, в официальной доке нигде упоминаний нет, и непонятно, что будет, если их попробовать с конвейером dask-ml, скорей всего, не сработает. Есть только HPT (Hyper Parameters Tuning) и ES (Early Stopping). В Spark MlLib есть хотя бы FS:
VectorSlicer
RFormula
ChiSqSelector
UnivariateFeatureSelector
VarianceThresholdSelector
#mlflow #bastards

Некоторые фреймворки поражают. В MLFlow в 2023 году НЕТ простой аутентификации. Разворачиваешь свой МЛ-сервер, желая сотрудничать с коллегами из других городов и стран? Будь готов, что твои эксперименты, модели, графики увидит весь мир, ведь парни из mlflow не смогли добавить простую функциональность даже типа логин/пароль. К тому же, если бэк хранится в СУБД, это ещё и прямая дорожка к SQL-иньекциям... Защитить сервер всё же можно, но это надо морочиться с установкой nginx, файлами конфига, документацией. Ну не мудаки ли? Хотя, с другой стороны, это же бесплатно, мудак тут скорее я.
💯2
Forwarded from New Yorko Times (Yury Kashnitsky)
ML system design в реальных проектах – 200 блог-постов
#links_with_intro #ml

Команда Evidently (наверняка знаете Эмели Драль, она с кофаундером Elena Samuylova пилит решение для мониторинга и тестирования ML-моделей) собрала около 200 блог-постов про ML system design в реальных проектах – от Netflix, Doordash, Booking и т.д. Кажется неплохим источником знаний для “курса по Data Science, которого нет”, про который я рассказывал раньше. Я не большой фанат ссылок на в целом классные подборки, которые добавляешь в закладки, а потом забываешь про них навсегда. Но в данном случае действительно крутой ресурс, в том числе для подготовки к собеседованиям.

Сюда же можно добавить еще 10 case studies, собранных Chip Huyen в книге “Designing Machine Learning Systems” (вот мой пост в том числе про эту книгу). Там каждый из 10 кейсов еще вкратце пересказан.

Про видео-интервью про ML system design и книгу Валерия Бабушкина & Арсения Кравченко, думаю, тут все и так в курсе.
#numpy #codegems #rint

Оказывается, есть в нампай такое вот округление к ближайшему целому:

preds = cat_cls.predict(X_test)
pred_labels =
np.rint(preds)