Data Secrets
69.3K subscribers
5.39K photos
502 videos
20 files
2.03K links
Главный по машинному обучению

Сотрудничество: @veron_28

РКН: clck.ru/3FY3GN

https://telega.in/c/data_secrets
Download Telegram
В стране DS жили-были два зверя: панда и скуль. И говорили они на разных языках....

От этого временами страдали все мирные жители этого прекрасного государства. Но однажды доблестные редакторы из замка Data Secrets сделали словарь, в котором собрали и перевели все самое важное с одного языка на другой. После этого все жили долго и счастливо и ставили на этот пост лайки. Конец!

😻 #python #SQL
Please open Telegram to view this post
VIEW IN TELEGRAM
Numexpr: многопоточная альтернатива Numpy

NumPy, несомненно, бодр и оптимизирован. Тем не менее, он не поддерживает распараллеливание ни в каком виде. А это огромный простор для улучшений. Поэтому придумали Numexpr. По синтаксису он похож на своего старшего товарища, но предлагает две сильные дополнительные фичи:

– многопоточность
– сокращение выделения памяти на промежуточные результаты

На железе с большим количеством ядер и на больших массивах Numexpr может работать в 20 раз быстрее numpy.

👩‍💻 Документация

😻 #python
Please open Telegram to view this post
VIEW IN TELEGRAM
Как задеплоить модель с помощью FastAPI

Неотъемлемая часть работы дсника в современной индустрии – это деплой своих проектов. А как это сделать? Вот краткий гайд с готовым кодом и объяснением на пальцах.

😻 #python
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Как визуализировать дерево решений

Ну во-первых, это красиво. Во-вторых, самое прекрасное свойство деревьей решений – интерпретируемость, и визуализировать модель в этом случае очень полезно. Помимо того, что мы видим, как модель будет принимать решение, можно еще и оценить разделимость данных (например, посмотрев на индекс Джини и количество айтемов каждого класса в вершинах).

В комментариях написали готовый код для визуализации на примере Ирисов Фишера.

😻 #analytics #python #train
Please open Telegram to view this post
VIEW IN TELEGRAM
PyTorch 2.0 и новый метод compile()

Для того чтобы ускорить выполнение кода в PyTorch, разработчики PyTorch представили в последней версии новый метод — torch.compile(). В карточках написали про то, как он работает, и когда ускоряет обучение лучше всего. А если хотите углубиться – вот вам подробная статья.

😻 #python
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Загадки pandas.stack()

Обычно функции в pandas интуативно понятны в использовании. Но иногда это – головная боль. Например, новички особенно часто путаются в stack(). Подробнее про эту функцию и ее подводные камни – в карточках.

😻 #python
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Про разреженные матрицы

Часто при обработке текста или категориальных признаков в итоге мы получаем матрицу, в которой очень-очень много нулей. А задумыались ли вы, как хранятся такие матрицы в памяти? Например, как реализовано хранение таких данных в PyTorch или NumPy? Поехали разбираться.

😻 #python
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Делаем свой код на pandas лучше легким движением руки

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

Оказывается, для этого существует специальная библиотека Dovpanda, которая работает как дополнение к pandas и генерирует подсказки и советы прямо по ходу действия.

P.S. При установке часто возникает ошибка. Игнорируйте ее: все и так будет работать как надо.

😻 #python
Please open Telegram to view this post
VIEW IN TELEGRAM
Что делать с НЕнормальным распределением?

Как известно, моделям (особенно линейным) нравится, когда данные имеют нормальное распределение. Но что делать, если это не так? Рассказываем про два варианта: простой и посложнее.

😻 #train #analytics #python
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Почему не следует деплоить модели Sklearn в прод

Sklearn — это идеальная библиотека для всех видов традиционных задач ML. Однако если попробовать развернуть любую модель на основе sklearn в прод, запахнет жаренным. Объясняем, почему, и что с этим можно сделать.

😻 #python
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Почему итерации по строкам в pandas такие медленные?

При использовании Pandas всегда рекомендуется избегать итерирования по DataFrame. Иначе это приведет к огромным потерям по времени выполнения. Но почему?

😻 #python
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Пишем простую модель генерации текста

Необходимая теория – в карточках. А код уже в коментариях. И да, работать моделька будет не так хорошо, как GPT-4. Но надо же с чего-то начинать.

😻 #python #train
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Самый полный репозиторий библиотек Python для Data Science разработчика

Если ты занимаешься Data Science, то знаешь, как важно иметь под рукой нужные инструменты для эффективной работы. Мы тут как раз нашли заметку, в которой перечислены все самые полезные и эффективные библиотеки и модули Python для разных задач. Есть разделы "Очистка и обработка", "Рекомендательные системы", "Временные ряды", "NLP", "Визуализация". Все со ссылками на документацию.

😻 #advice #python
Please open Telegram to view this post
VIEW IN TELEGRAM
DeepFace – лучшая библиотека для работы с лицами

Она проста в использовании и предлагает широкий функционал. В карточках рассказали, как ей пользоваться, и для каких задач она подойдет.

😻 #python #NN
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое torch.device()

Часто в коде для обучения нейросетей на торче можно встретить конструкцию, которая использует внутри себя метод device():

device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')

Это очень важная штука. При помощи нее мы определяем, где должны храниться тензоры. Тут мы как бы сообщаем, что хотим пользоваться GPU-ускорением, когда оно доступно, но при его отсутствии откатываться обратно к вычислениям на CPU.

Дальше остается только в нужных местах приписывать .to(device). Это удобный способ отправлять параметры устройства на GPU, если в качестве device задан GPU, так как иначе (если device == CPU) ничего делаться не будет.

P.S. Важно перенести параметры устройства на соответствующее устройство прежде, чем передавать их оптимизатору; иначе оптимизатор не сможет правильно отслеживать параметры!

😻 #python #NN
Please open Telegram to view this post
VIEW IN TELEGRAM
Как "делиться" переменными между jupyter ноутбуками?

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

На помощь приходит волшебная команда store, которая может перенести переменные из одного ноута в другой, не сохраняя их на диске. Работает так:

note1:
value = 10
%store value

note2:
%store -r value
print(value)
#10

😻 #python
Please open Telegram to view this post
VIEW IN TELEGRAM
Как менять код на Python после запуска

Представьте: поставили вы обучаться модельку, радуетесь, но внезапно после первой эпохи осознаете, что забыли запринтить лос… И перезапускать не хочется (время же!), и без логирования как-то грустно живется.

Оказывается, есть волшебная таблетка – утилита reloading. Она перезагружает тело цикла после каждой итерации без потери прогресса. То есть вы добавляете что-то в цикл, и на следующей итерации код работает уже по-другому.

Установить чудо можно через pip.

😻 #train #python
Please open Telegram to view this post
VIEW IN TELEGRAM
Уведомления о выполнении ячейки

Вот бы Jupyter умел отправлять уведомления после того, как какая-нибудь ячейка выполнится... Кто-то только мечтает, а мы уже нашли для вас решение. Смотрите:

1) Зпускаете в начале ноута команду %load_ext jupyternotify
2) В начале интересующей вас ячейки прописываете %%notify
3) Вы великолепны и теперь получите пуш после того, как ячейка выполнится

Подробнее тут.

😻 #python
Please open Telegram to view this post
VIEW IN TELEGRAM
Случалось ли вам искать кусок кода в миллионе своих Jupyter-ноутбуков?

Нам вот случалось. Эксперно заявляем – не самое приятное занятие. Вот бы кто-нибудь несколько лет назад показал нам nbcommands... Там как раз есть инструмент, чтобы искать код в ноутах прямо из терминала. Просто вводим:

nbgrep 'import numpy as pandas' ./

В
ответ прилетает список названий ноутбуков, номера ячеек и строки, где этот код использовался.

😻 #python
Please open Telegram to view this post
VIEW IN TELEGRAM
Как установить Mojo: туториал

Выходные – прекрасное время для того, чтобы попробовать что-то новенькое. Например, новый хайповый язык программирования Mojo. Тем более, что его синтаксис как две капли воды похож на Python. Устанавливайте язык в помощью нашего гайда (официальный сайт, плагин для VS Code) и скидывайте свои первые программы в коменты!

😻 #python
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM