Forwarded from BOGDANISSSIMO
ML LINKS
В недрах своего Notion откопал несколько подборок полезных статей, ссылок, видео по разным направлениям Machine Learning с которыми работал. Собрал их в одну кучу и делюсь с вами.
https://www.notion.so/uberkinder/b15ba7ccc032439bb5d282c8352f2e4e?v=0f9696310752456db047e94ab21c627f&pvs=4
Что имеем на момент 12/05/2023:
• Антифрод (36 ссылок)
• Ценообразование и прогноз спроса (17)
• Рекомендательные системы (42)
• A/B тесты (33, спасибо Валере)
• ML System Design (7)
• Ранжирование и поиск (6)
Список будет активно пополняться.
Буду благодарен репостам в ваши каналы и чаты.
#notion #links #ml #ml_system_design #mlsd #digest
В недрах своего Notion откопал несколько подборок полезных статей, ссылок, видео по разным направлениям Machine Learning с которыми работал. Собрал их в одну кучу и делюсь с вами.
https://www.notion.so/uberkinder/b15ba7ccc032439bb5d282c8352f2e4e?v=0f9696310752456db047e94ab21c627f&pvs=4
Что имеем на момент 12/05/2023:
• Антифрод (36 ссылок)
• Ценообразование и прогноз спроса (17)
• Рекомендательные системы (42)
• A/B тесты (33, спасибо Валере)
• ML System Design (7)
• Ранжирование и поиск (6)
Список будет активно пополняться.
Буду благодарен репостам в ваши каналы и чаты.
#notion #links #ml #ml_system_design #mlsd #digest
🔥1
The second edition of "The Theory and Practice of Enterprise AI" has been released! You can now download the free PDF version from the book's website, and the hardcopy is available for purchase on Amazon.
Free PDF: https://lnkd.in/gjBv3DM7
Free PDF: https://lnkd.in/gjBv3DM7
lnkd.in
LinkedIn
This link will take you to a page that’s not on LinkedIn
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 и книгу Валерия Бабушкина & Арсения Кравченко, думаю, тут все и так в курсе.
#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 и книгу Валерия Бабушкина & Арсения Кравченко, думаю, тут все и так в курсе.
Forwarded from Aspiring Data Science (Anatoly Alekseev)
#trading #ml #chan
Любопытный подход к отбору признаков: сначала схожие фичи группируются в кластера, дальнейший отбор ведётся FS-алгоритмом уже по кластерам. Видимо, это сразу решает проблему колллинеарности.
https://www.youtube.com/watch?v=2-5HYJ0HhyQ
Любопытный подход к отбору признаков: сначала схожие фичи группируются в кластера, дальнейший отбор ведётся FS-алгоритмом уже по кластерам. Видимо, это сразу решает проблему колллинеарности.
https://www.youtube.com/watch?v=2-5HYJ0HhyQ
YouTube
E P Chan: Improving Trading Strategies with Machine Learning, Feature Selection 20210318
The overfitting quandary in Machine Learning.has been resolved using Random Forest Classifiers. For Financial Machine Learning, Lopez de Prado came up with Meta Labeling and Dr Chan and others are applying it in his Tail Reaper Fund, and offering a service.…
Собираюсь попробовать https://github.com/dunovank/jupyter-themes.
Вопрос, будут ли nbextensions при этом продолжать работать?
Вот тут пишут так, будто все будет ОК: https://khandelwal-shekhar.medium.com/enahnce-the-usability-of-jupyter-notebook-a917f7bb98aa
Вопрос, будут ли nbextensions при этом продолжать работать?
Вот тут пишут так, будто все будет ОК: https://khandelwal-shekhar.medium.com/enahnce-the-usability-of-jupyter-notebook-a917f7bb98aa
GitHub
GitHub - dunovank/jupyter-themes: Custom Jupyter Notebook Themes
Custom Jupyter Notebook Themes. Contribute to dunovank/jupyter-themes development by creating an account on GitHub.
Forwarded from Aspiring Data Science (Anatoly Alekseev)
YouTube
MLOps: жизненный цикл ML-моделей от идеи до продакшна, Евгений Никитин
Все ML-системы проживают долгую и богатую на события жизнь. Ещё перед "рождением" нужно оценить, имеет ли смысл вообще разрабатывать такую систему, и насколько она технически осуществима. Затем нужно собрать, очистить и разметить данные, поставить множество…
Forwarded from Aspiring Data Science (Anatoly Alekseev)
#ml #featureselection #featureengineering #mrmr #sulov
Наткнулся на новую библиотечку по созданию и отбору признаков. Гордятся реализацией MRMR (Minimum Redundancy Maximum Relevance) и SULOV (Searching for Uncorrelated List of Variables).
https://github.com/AutoViML/featurewiz
Наткнулся на новую библиотечку по созданию и отбору признаков. Гордятся реализацией MRMR (Minimum Redundancy Maximum Relevance) и SULOV (Searching for Uncorrelated List of Variables).
https://github.com/AutoViML/featurewiz
GitHub
GitHub - AutoViML/featurewiz: Use advanced feature engineering strategies and select best features from your data set with a single…
Use advanced feature engineering strategies and select best features from your data set with a single line of code. Created by Ram Seshadri. Collaborators welcome. - AutoViML/featurewiz
Forwarded from Aspiring Data Science (Anatoly Alekseev)
YouTube
MLflow в облаке. Простой и быстрый способ вывести ML модели в продакшен
https://mcs.mail.ru/bigdata/
MLflow — один из самых стабильных и легких современных инструментов, позволяющих специалистам по Data Science управлять жизненным циклом моделей машинного обучения на всем его протяжении.
В видео мы прошли все этапы установки…
MLflow — один из самых стабильных и легких современных инструментов, позволяющих специалистам по Data Science управлять жизненным циклом моделей машинного обучения на всем его протяжении.
В видео мы прошли все этапы установки…
Forwarded from Data Secrets
This media is not supported in your browser
VIEW IN TELEGRAM
Конспекты YouTube
Eightify.app — расширение для Google Chrome, которое извлекает ключевую информацию из видео и отдает пользователю в текстовом виде. Построено, к слову, на основе GPT-4. Ничего полезнее сегодня вы не найдете
😻 #advice
Eightify.app — расширение для Google Chrome, которое извлекает ключевую информацию из видео и отдает пользователю в текстовом виде. Построено, к слову, на основе GPT-4. Ничего полезнее сегодня вы не найдете
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Data Secrets
Самый полный репозиторий библиотек Python для Data Science разработчика
Если ты занимаешься Data Science, то знаешь, как важно иметь под рукой нужные инструменты для эффективной работы. Мы тут как раз нашли заметку, в которой перечислены все самые полезные и эффективные библиотеки и модули Python для разных задач. Есть разделы "Очистка и обработка", "Рекомендательные системы", "Временные ряды", "NLP", "Визуализация". Все со ссылками на документацию.
https://analyticsindiamag.com/python-libraries-repository-for-data-science/
😻 #advice #python
Если ты занимаешься Data Science, то знаешь, как важно иметь под рукой нужные инструменты для эффективной работы. Мы тут как раз нашли заметку, в которой перечислены все самые полезные и эффективные библиотеки и модули Python для разных задач. Есть разделы "Очистка и обработка", "Рекомендательные системы", "Временные ряды", "NLP", "Визуализация". Все со ссылками на документацию.
https://analyticsindiamag.com/python-libraries-repository-for-data-science/
Please open Telegram to view this post
VIEW IN TELEGRAM
Analytics India Magazine
Python Libraries Repository for Data Science | Analytics India Magazine
We have curated the most comprehensive list of 200+ python libraries for data science & machine learning; with tutorial, release date & docs.
Forwarded from Aspiring Data Science (Anatoly Alekseev)
#mlops #mlflow
Продолжаю изучать mlflow. Очень понравилась, что по обученной модели можно быстро получить список метрик и значимостей признаков. А ещё можно даже настроить критерии приёмки модели в бой, абсолютные (точность не менее X%) и относительные (точность не менее Y% лучше чем DummyClassifier). Ложка дёгтя в том, что указанный в доке вызов
https://mlflow.org/docs/latest/models.html#model-validation
Продолжаю изучать mlflow. Очень понравилась, что по обученной модели можно быстро получить список метрик и значимостей признаков. А ещё можно даже настроить критерии приёмки модели в бой, абсолютные (точность не менее X%) и относительные (точность не менее Y% лучше чем DummyClassifier). Ложка дёгтя в том, что указанный в доке вызов
mlflow.models.list_evaluators() не работает.https://mlflow.org/docs/latest/models.html#model-validation
Forwarded from Aspiring Data Science (Anatoly Alekseev)
#mlops #tracking #mlflow
Несколько классных трюков для продуктивной работы с mlflow. Мне оч понравилась встройка кастомных веб-страничек и дочерние эксперименты (UI с прошлого года поддерживает многоуровневость).
По идее, в МЛ эксперимент может равняться фичерсету+таргету, а запуски (runs) могут соответствовать разным конвейерам обработки (с/без FS,RS,OR,ES,HPT).
Дочерние запуски нужны, если хотим логировать промежуточные модели, обученные на фолдах CV. Или если хотим на одних и тех же данных/конвейере сравнить несколько моделей разных классов (gbdt, ann). Или если включено HPT, тогда каждый запуск порождает N субмоделей с разными гиперпараметрами.
К сожалению, вложенными могут быть только запуски, но не эксперименты, хотя это вроде бы на поверхности. У нас же в рамках одного проекта может быть несколько датасетов, несколько задач, у каждой много таргетов. (+Желательны свои уровни допуска разным юзерам, но об этом умолчим). Сейчас пользователям MLFlow приходится, видимо, эту иерархию разворачивать в плоские структуры. Или как-то лепить в тэги.
https://towardsdatascience.com/5-tips-for-mlflow-experiment-tracking-c70ae117b03f
Несколько классных трюков для продуктивной работы с mlflow. Мне оч понравилась встройка кастомных веб-страничек и дочерние эксперименты (UI с прошлого года поддерживает многоуровневость).
По идее, в МЛ эксперимент может равняться фичерсету+таргету, а запуски (runs) могут соответствовать разным конвейерам обработки (с/без FS,RS,OR,ES,HPT).
Дочерние запуски нужны, если хотим логировать промежуточные модели, обученные на фолдах CV. Или если хотим на одних и тех же данных/конвейере сравнить несколько моделей разных классов (gbdt, ann). Или если включено HPT, тогда каждый запуск порождает N субмоделей с разными гиперпараметрами.
К сожалению, вложенными могут быть только запуски, но не эксперименты, хотя это вроде бы на поверхности. У нас же в рамках одного проекта может быть несколько датасетов, несколько задач, у каждой много таргетов. (+Желательны свои уровни допуска разным юзерам, но об этом умолчим). Сейчас пользователям MLFlow приходится, видимо, эту иерархию разворачивать в плоские структуры. Или как-то лепить в тэги.
https://towardsdatascience.com/5-tips-for-mlflow-experiment-tracking-c70ae117b03f
Medium
5 Tips for MLflow Experiment Tracking
Push MLflow to its limits: visualize, organize, alter and correct your mlflow runs
Forwarded from Aspiring Data Science (Anatoly Alekseev)
#optimisation #numba #numpy #auc #fastauc
Ещё немного про оптимизацию. В попытке найти быструю реализацию roc_auc набрёл на библу factauc, где автор не поленился и сделал numba-оптимизированную, и даже сишную реализации. В сишную он явно вложился, вон сколько кода, и не напрасно: она получилась самой быстрой, почти вдвое быстрее нумбовской (что меня уже насторожило). Проверил на своём массивчике 8M float-ов, действительно самые тормозные catboost и sklearn (больше 2 секунд), фастаук уже позволяет прыгнуть до 0.6 секунды с нумба и до 0.4 с Си++. Глянул нумбовскую реализацию, а там argsort закомпилирован. Вспомнилось, что раньше нумба замедляла эту функцию. Вынес argsort "за скобки" njit-компилятора, и вуаля, С++ реализация побита, 0.3 секунды )) Даже неловко было сообщать автору, но что поделаешь.
P.S. Всеволод сказал, что на неделе предлагаемое улучшение потестит и, если что, в fastauc замёрджит )
Ещё немного про оптимизацию. В попытке найти быструю реализацию roc_auc набрёл на библу factauc, где автор не поленился и сделал numba-оптимизированную, и даже сишную реализации. В сишную он явно вложился, вон сколько кода, и не напрасно: она получилась самой быстрой, почти вдвое быстрее нумбовской (что меня уже насторожило). Проверил на своём массивчике 8M float-ов, действительно самые тормозные catboost и sklearn (больше 2 секунд), фастаук уже позволяет прыгнуть до 0.6 секунды с нумба и до 0.4 с Си++. Глянул нумбовскую реализацию, а там argsort закомпилирован. Вспомнилось, что раньше нумба замедляла эту функцию. Вынес argsort "за скобки" njit-компилятора, и вуаля, С++ реализация побита, 0.3 секунды )) Даже неловко было сообщать автору, но что поделаешь.
P.S. Всеволод сказал, что на неделе предлагаемое улучшение потестит и, если что, в fastauc замёрджит )
Forwarded from Aspiring Data Science (Anatoly Alekseev)
#optimization #ml #metrics #python #numba #codegems
В общем, sklearn-овские метрики оказались слишком медленными, пришлось их переписать на numba. Вот пример classification_report, который работает в тысячу раз быстрее и поддерживает почти всю функциональность (кроме весов и микровзвешивания). Также оптимизировал метрики auc (алгоритм взят из fastauc) и calibration (считаю бины предсказанные vs реальные, потом mae/std от их разностей). На 8M сэмплов всё работает за ~30 миллисекунд кроме auc, та ~300 мс. Для сравнения, scikit-learn-овские работают от нескольких секунд до нескольких десятков секунд.
В общем, sklearn-овские метрики оказались слишком медленными, пришлось их переписать на numba. Вот пример classification_report, который работает в тысячу раз быстрее и поддерживает почти всю функциональность (кроме весов и микровзвешивания). Также оптимизировал метрики auc (алгоритм взят из fastauc) и calibration (считаю бины предсказанные vs реальные, потом mae/std от их разностей). На 8M сэмплов всё работает за ~30 миллисекунд кроме auc, та ~300 мс. Для сравнения, scikit-learn-овские работают от нескольких секунд до нескольких десятков секунд.
@njit()
def fast_classification_report(
y_true: np.ndarray, y_pred: np.ndarray, nclasses: int = 2, zero_division: int = 0
):
"""Custom classification report, proof of concept."""
N_AVG_ARRAYS = 3 # precisions, recalls, f1s
# storage inits
weighted_averages = np.empty(N_AVG_ARRAYS, dtype=np.float64)
macro_averages = np.empty(N_AVG_ARRAYS, dtype=np.float64)
supports = np.zeros(nclasses, dtype=np.int64)
allpreds = np.zeros(nclasses, dtype=np.int64)
misses = np.zeros(nclasses, dtype=np.int64)
hits = np.zeros(nclasses, dtype=np.int64)
# count stats
for true_class, predicted_class in zip(y_true, y_pred):
supports[true_class] += 1
allpreds[predicted_class] += 1
if predicted_class == true_class:
hits[predicted_class] += 1
else:
misses[predicted_class] += 1
# main calcs
accuracy = hits.sum() / len(y_true)
balanced_accuracy = np.nan_to_num(hits / supports, copy=True, nan=zero_division).mean()
recalls = hits / supports
precisions = hits / allpreds
f1s = 2 * (precisions * recalls) / (precisions + recalls)
# fix nans & compute averages
for arr in (precisions, recalls, f1s):
np.nan_to_num(arr, copy=False, nan=zero_division)
weighted_averages[i] = (arr * supports).sum() / len(y_true)
macro_averages[i] = arr.mean()
return hits, misses, accuracy, balanced_accuracy, supports, precisions, recalls, f1s, macro_averages, weighted_averagesForwarded from Data Secrets
Начинаем погружаться в Марковские цепи
Это такая математическая модель, которая с успехом применяется в разных областях, таких как машинное обучение, генерация текстов или музыки, криптография и многих других. Ей много лет: она была разработана Андреем Марковым в начале 20 века.
😻 #math
Это такая математическая модель, которая с успехом применяется в разных областях, таких как машинное обучение, генерация текстов или музыки, криптография и многих других. Ей много лет: она была разработана Андреем Марковым в начале 20 века.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM