IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
читайте нас в Telegram

     28.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Вводная статья по реализации целе-вероятностного кодирования (Target Encoding)

Недавно я сделал проект, в котором целевая переменная была мультиклассовой,  поэтому, я искал подходящие пути для кодирования категориальных признаков. Я нашёл множество статей, перечислявших преимущества кодирования через среднее значение целевой переменной перед другими методами, а также то, как выполнить эту задачу в двух строчках кода, используя библиотеку category_encoders . Однако, к своему удивлению, я обнаружил, что ни одна статья не продемонстрировала этого метода для мультиклассовой целевой переменной. Я просмотрел документацию category_encoders, и понял, что библиотека работает только для бинарных или вещественных переменных, посмотрел оригинальную работу Даниэля Мисси-Баррека (Daniele Micci-Barreca), который ввел средне-целевую кодировку (mean target encoding) и так же не обнаружил ничего толкового. 

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

     28.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Json api сервис на aiohttp: middleware и валидация

В этой статье я опишу один из подходов для создания json api сервиса с валидацией данных.

 

Сервис будет реализован на aiohttp. Это современный, постоянно развивающийся фреймворк на языке python, использующий asyncio.

     27.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Машина опорных векторов в 30 строчек

В этой статье я расскажу как написать свою очень простую машину опорных векторов без scikit-learn или других библиотек с готовой реализацией всего в 30 строчек на Python. Если вам хотелось разобраться в алгоритме SMO, но он показался слишком сложным, то эта статья может быть вам полезна.

     27.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Соглашение Эйнштейна и einsum

Удивительное дело, но в русскоязычном сегменте интернета почти нет материала, разъясняющего понятным языком соглашение Эйнштейна о суммировании. Не менее удивительно то, что материалов, позволяющих понять принцип работы функции einsum в русскоязычном интернете ещё меньше. На английском есть довольно развёрнутый ответ о работе einsum на stack overflow, а на русском только некоторое число сайтов, предоставляющих кривой перевод этого самого ответа. Хочу исправить эту проблему с недостатком материалов.

     26.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Шаги построения рекомендательной системы в обучении персонала

Широкое распространение в последние годы получили программы, которые пытаются предсказать, какие объекты будут интересны пользователю, имея определенную информацию о его профиле. До 2006 года такие алгоритмы не пользовались популярностью. Но все изменилось осенью 2006 года, когда компания Netflix предложила разработчикам 1 000 000$ за лучший алгоритм предсказания. Конкурс продлился 3 года.

     26.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Python в Visual Studio Code – февральский релиз 2021

Мы рады сообщить, что стал доступен релиз расширения Python для Visual Studio Code от февраля 2021 года. Вы можете загрузить расширение Python из Marketplace или установить его прямо из галереи расширений в Visual Studio Code. Если у вас уже установлено расширение Python, вы также можете получить последнее обновление, перезапустив Visual Studio Code. Вы можете узнать больше о поддержке Python в Visual Studio Code в документации.

Этот выпуск включает интеграцию с TensorBoard и улучшения работы с кодом с использованием Pylance. Если вам интересно, вы можете изучить полный список улучшений в нашем журнале изменений.

     25.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Расширяющийся нейронный газ

При проведении проверок с использованием моделей машинного обучения одной из часто решаемых задач является задача кластеризации. Например, необходимо разбить на несколько кластеров отзывы клиентов на мобильное приложение (задача тематического моделирования). Для задач кластеризации часто используют модель k-means. Это обусловлено её простотой и понятностью. Однако, у этого алгоритма есть один большой недостаток - необходимость изначально задать число кластеров. Эта проблема прекрасно решается с помощью расширяющегося нейронного газа. Расширяющийся нейронный газ строит граф, пытаясь приблизить распределение данных.

     24.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Семейный бюджет, Google sheets и Python

Сегодня расскажу еще одну историю из своей жизни - в этот раз не про свой “чудо-сервер” в двух частях, а про что-то более приземленное, но так или иначе связанное с технологиями. По моему субъективному мнению подсчет личных финансов крайне полезное занятие и я очень надеюсь, что данная статья замотивирует вас или поможет вам начать “считать деньги” и не влезать в кредиты и т.п.

Собственно речь пойдет о том, как мы с супругой ведем семейный бюджет, как к этому пришли и о планах на будущее.

     24.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Application performance management (APM) от Broadcom для мониторинга производительности приложений (включая мобильные)

В этой статье расскажем о возможностях мониторинга производительности приложений одного из лидеров квадранта Gartner c APM-решениями — Broadcom. Appdynamics, Dynatrace и New Relic достаточно известны на российском рынке. Broadcom чуть менее знаком, этакая серая лошадка, однако, имеет не уступающий всем троим функционал мониторинга приложений. А использование APM-решения от Broadcom в комплексе с другим их продуктом, зонтичной AIOps-системой DX Operations Intelligence, позволит создать единое окно мониторинга для разнокалиберного ПО и инфраструктуры. Под катом текст и скриншоты.

     24.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Опыт написания IDL для embedded

Я при работе с микроконтроллерами часто сталкивался с бинарными протоколами. Особенно, когда есть несколько контроллеров. Или же используется bluetooth low energy и необходимо написать код для обработки бинарных данных в характеристике. Помимо кода всегда требуется понятная документация.

Всегда возникает вопрос - а можно ли описать как-то протокол и сгенерировать на все платформы код и документацию? В этом может помочь IDL.

     24.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Import or from import, that is the question

Есть три стадии знаний: ты используешь инструмент, ты понимаешь как он работает, ты можешь учить других работать этим инструментом. Потихонечку начал перетекать в третью и стал задавать себе вопросы, которые раньше не задавал. Например, что лучше: import module или from module import function? Я решил разобраться в этом чуть поглубже, ответы на StackOverflow меня не удовлетворили. Для тех, кому лень читать: все варианты хороши.

     23.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Языку программирования Python исполнилось 30 лет

Время идет быстро, и Python, одному из самых популярных языков программирования современности, исполнилось 30 лет. Впервые о нем стало известно в конце февраля 1991 года, когда Гвидо ван Россум опубликовал первый выпуск Python в группе alt.sources. Работа над языком велась два года, изначальной задачей было создание скриптового языка для работы с операционной системой Amoeba. Язык этот должен был быть более высокого уровня, чем Си, плюс представлял бы удобный доступ к системным вызовам операционной системы.

     22.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Краткость — сестра таланта: Как сделать Transformer/Summarizer на Trax

В новой курсеровской специализации «NLP» от deeplearning.ai в качестве библиотеки глубокого обучения используется Trax. В последнем курсе подробно разбирается механизм внимания и его использование в архитектуре Transformer, в том числе в таких «новеллах» как BERT и T5. Имея некоторое количество свободного времени специализацию можно пройти за несколько недель, что я собственно и сделал, соблазнившись возможностью построить собственный трансформер. Очень хотелось сделать модель, которая может работать с текстами на русском языке.

     22.02.2021       Выпуск 375 (22.02.2021 - 28.02.2021)       Статьи

Продолжаем прокачивать Ansible

Vladislav ? Shishkov, [17.02.21 20:59] Господа, есть два вопроса, касаются кастомной долгой операции, например, бекапа: 1. Можно ли через ансибл прикрутить прогрессбар выполнения кастомного баша? (если через плагин, то пните в какой-нибудь пример или документацию плиз) 2. Вроде хочется для этого баша написать плагин, но встает вопрос, как быть и как решать моменты выполнения, которые идемпотентны?

     20.02.2021       Выпуск 374 (15.02.2021 - 21.02.2021)       Статьи

Поддержка токенов PKCS#11 с ГОСТ-криптографией в Python. Часть I

Поддержка криптографических токенов PKCS#11 с российской криптографией в скриптовых языках (Python, Tcl) давно находится в моём поле зрения. Это, прежде всего, пакет TclPKCS11 и реализованная на его базе кроссплатформенная утилита cryptoarmpkcs. Утилита cryptoarmpkcs написана на tcl/tk и функционирует на различных платформах, включая Android. Пакет TclPKCS11 версии 1.0.0 заточен на работу именно с токенами, поддерживающими ГОСТ Р 34.11-2012 и ГОСТ Р 34.10-2012. Он позволяет генерировать ключевые пары по ГОСТ Р 34.10-2012 с длиной закрытого ключа 256 и 512 бит, формировать и проверять электронную подпись. Все это можно наглядно видеть в утилите cryptoarmpkcs, в которой в качестве криптодвижка используется именно этот пакет

     20.02.2021       Выпуск 374 (15.02.2021 - 21.02.2021)       Статьи

Ускоряем код на Python с помощью Nim

Nim – статически типизированный, компилируемый, объектно-ориентированный язык программирования. Nim создавался, чтобы быть таким же быстрым как С и таким же выразительным как Python, и к тому же, расширяемым как Lisp. Благодаря синтаксическому сходству с Python, Nim станет отличным выбором языка для расширения, если с C вам не по пути.