Data Secrets
77.4K subscribers
6.04K photos
592 videos
20 files
2.42K links
Главный по машинному обучению

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

РКН: clck.ru/3FY3GN
Download Telegram
Легким движением руки ускоряем код на Python в 100 раз

Интерпретатор Python по умолчанию — это CPython. Но будем честны, он бывает туповат, медлителен и не предлагает встроенной оптимизации. Если хотите ускорить свой код, то вместо этого используйте модуль Cython. Сейчас объясним, как зачем и почему.

😻 #python
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍38🔥195
Разрушаем мифы pandas: параметр inplace

Распространенное заблуждение: если менять датафрейм "на месте" (inplace = True), то код будет работать быстрее. Мы провели серию экспериментов и готовы разрушить этот миф. Результаты наверху. Выходит, что изменение на месте чаще всего работает медленнее. Но почему так?

Дело в том, что, вопреки расхожему мнению, большинство операций на месте НЕ предотвращают создание новой копии. Просто inplace возвращает копию по тому же адресу. Но помимо создания копии в этом случае Pandas выполняет некоторые дополнительные проверки, чтобы "убедиться", что DataFrame изменяется правильно. Иногда это может оказаться дорогостоящей операцией.

Вот и выходит: хотели ускорить код, а в итоге замедлили в 2 раза. Не рекомендуем.

😻 #python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍58🤯11👌10😁1
В стране DS жили-были два зверя: панда и скуль. И говорили они на разных языках....

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

😻 #python #SQL
Please open Telegram to view this post
VIEW IN TELEGRAM
103👍36🔥17😁6❤‍🔥3
Numexpr: многопоточная альтернатива Numpy

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

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

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

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

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

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

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

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

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

😻 #analytics #python #train
Please open Telegram to view this post
VIEW IN TELEGRAM
👍247
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
👍406🔥6