Собираюсь попробовать 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
Forwarded from Нескучный Data Science (Евгений Смирнов)
Как повысить качество модели кредитного скоринга, не добавляя новые источники данных?
🤔 Источников данных в кредитном скоринге становится все больше, и возникает вопрос: почему бы не попробовать смешивать их не на уровне предсказаний, а на некотором более низком уровне?
🔖 В статье от @nickimpark вы узнаете:
1️⃣ Как построить единую нейросетевую модель, работающую на нескольких источниках последовательных данных?
2️⃣ Как получить из модели эмбеддинг клиента по источнику данных?
3️⃣ Почему смешивание моделей на уровне эмбеддингов позволяет повысить итоговое качество?
4️⃣ Какой эффект в задаче кредитного скоринга можно получить с использованием такого подхода?
📺 Лень читать длинные статьи? Смотрите видео-выступление от автора по этой теме на DataFest 2023
💬 А как вы объединяете нейронные сети на различных источниках данных?
🤔 Источников данных в кредитном скоринге становится все больше, и возникает вопрос: почему бы не попробовать смешивать их не на уровне предсказаний, а на некотором более низком уровне?
🔖 В статье от @nickimpark вы узнаете:
📺 Лень читать длинные статьи? Смотрите видео-выступление от автора по этой теме на DataFest 2023
💬 А как вы объединяете нейронные сети на различных источниках данных?
Please open Telegram to view this post
VIEW IN TELEGRAM