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

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

     15.07.2019       Выпуск 291 (15.07.2019 - 21.07.2019)       Статьи

Сравнение BDD фреймворков Python: плюсы и минусы

Почти все основные языки программирования имеют фреймворки для BDD тестирования, и Python не исключение. И по факту, у него их несколько! Итак, как их сравнить и какой из них лучший? Попробуем разобраться.

     15.07.2019       Выпуск 291 (15.07.2019 - 21.07.2019)       Статьи

Нейросети и глубокое обучение, глава 3, ч.2: почему регуляризация помогает уменьшать переобучение?

Эмпирически мы увидели, что регуляризация помогает уменьшать переобучение. Это вдохновляет – но, к сожалению, не очевидно, почему регуляризация помогает. Обычно люди объясняют это как-то так: в каком-то смысле, менее крупные веса имеют меньшую сложность, что обеспечивает более простое и действенное объяснение данных, поэтому им надо отдавать предпочтение. Однако это слишком краткое объяснение, а некоторые его части могут показаться сомнительными или загадочными. Давайте-ка развернём эту историю и изучим её критическим взглядом.

     14.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Пример простой нейросети, как результат разобраться что к чему

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

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

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

     13.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Визуализация столбца из DataFrame с помощью библиотеки Seaborn

Попробуем визуализировать данные по рекламным кампаниям, которые храняться в DataFrame.

     11.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Настройка Django Settings: лучшие практики

Эта статья предназначена для программистов, которые используют фреймворк Django. В ней рассматривается способы использования конфигурационных параметров проекта Django, а также плюсы и минусы различных подходов. В ней вы также найдете рекомендации, касающиеся инструментов, лучших практик и архитектурных решений, проверенные временем и проверенные успешными проектами.

     11.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Подчеркивание в Python

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

Рассмотрим возможный вопрос по смайликам при собеседовании на должность, подразумевающую знание языка программирования Python.

     11.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Мелкая питонячая радость #7: три штуки по цене одной — консольная анимация, алгоритмы и отладка

На этой неделе достаточно крупных малких радостей не нашлось, зато нашлись 3 совсем мелкие мелкие радости.

     10.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Объяснение задачи на Python с собеседования

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

     10.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Прогнозирование результатов футбольных матчей

Модель машинного обучения на Python c использованием библиотеки Scikit-learn, для прогнозирования результатов футбольных матчей Российской Премьер Лиги (РПЛ).

     09.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Как студенты из Перми попали в финал международного чемпионата по анализу данных Data Mining Cup 2019

В этой статье я расскажу о нашем опыте участия в соревновании по анализу данных Data Mining Cup 2019 (DMC) и о том, как нам удалось войти в ТОП-10 команд и принять участие в очном финале чемпионата в Берлине.

     08.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

XLNet против BERT

В конце июня коллектив из Carnegie Mellon University показал нам XLNet, сразу выложив публикацию, код и готовую модель (XLNet-Large, Cased: 24-layer, 1024-hidden, 16-heads). Это предобученная модель для решения разных задач обработки естественного языка.

В публикации они сразу же обозначили сравнение своей модели с гугловым BERT-ом. Они пишут, что XLNet превосходит BERT в большом количестве задач. И показывает в 18 задачах state-of-the-art результаты.

     08.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Внедрение Airflow для управления Spark-джобами в ivi: надежды и костыли

Задача деплоя моделей машинного обучения в продакшн — это всегда боль и страдания, потому что очень некомфортно вылезать из уютного jupyter notebook в мир мониторинга и отказоустойчивости.

Мы уже писали про первую итерацию рефакторинга рекомендательной системы онлайн-кинотеатра ivi. За прошедший год мы почти не дорабатывали архитектуру приложения (из глобального — только перезд с устаревших python 2.7 и python 3.4 на «свежий» python 3.6), зато добавили несколько новых ML моделей и сразу столкнулись с проблемой выкатывания новых алгоритмов в продакшн. В статье я расскажу про наш опыт внедрения такого инструмента управления потоками выполнения задач как Apache Airflow: почему у команды возникла эта необходимость, чем не устраивало существующее решение, какие костыли пришлось запилить по дороге и что из этого получилось.

     08.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Нейросети и глубокое обучение, глава 3, ч.1: улучшение способа обучения нейросетей

Когда человек учится играть в гольф, большую часть времени он обычно проводит за постановкой базового удара. К другим ударам он подходит потом, постепенно, изучая те или иные хитрости, основываясь на базовом ударе и развивая его. Сходным образом мы пока что фокусировались на понимании алгоритма обратного распространения. Это наш «базовый удар», основа для обучения для большей части работы с нейросетями (НС). В этой главе я расскажу о наборе техник, которые можно использовать для улучшения нашей простейшей реализации обратного распространения, и улучшить способ обучения НС.

     08.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Заполняем документы в Microsoft Word при помощи Python. Часть 2

В предыдущем посте было рассмотрено как заполнить запрос в word с помощью python. В этот раз будет продемонстрировано как заполнить сразу несколько word документов данными из таблицы excel.

Перед тем как работать с программой, нам необходимо подготовить файл excel, где будут содержаться исходные данные.

     08.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Linux-разработка в Windows с WSL и Visual Studio Code Remote

Работа с VS Code Remote и Windows Subsystem for Linux (WSL) дает возможность использовать полнофункциональную среду разработки Linux на ноутбуке или десктопе с предустановленной Windows. В этом материале рассмотрим то, как использовать эти инструменты для разработки приложений на Python в Linux.

     07.07.2019       Выпуск 289 (01.07.2019 - 07.07.2019)       Статьи

Пишем бот для рыбалки в игре Albion Online на языке Python

Являюсь счастливым пользователем операционной системы GNU/Linux.И как многим известно, игрушек идущих на линукс без дополнительных танцев с бубном намного меньше чем в «Винде».

И еще меньше игр в жанре MMORPG.

Однако, где-то пол года или год назад я узнал что под линукс портировали игру Albion Online.
Игра очень занимательная, однако занимает достаточно большое количество времени. И дабы не тратить свои драгоценные часы жизни по напрасну, я решил написать бота. Который будет фармить мне ресурсы, пока я буду заниматься своими делами.

     06.07.2019       Выпуск 289 (01.07.2019 - 07.07.2019)       Статьи

Обзор Python 3.8

Релиз Python 3.8 намечен на октябрь 2019 года, но уже сейчас у каждого есть возможность пощупать набор новых фишек языка. Пока пишу этот пост, на официальном сайте доступна версия python 3.8b2.

Итак, что же нам готовит релиз грядущий?

     06.07.2019       Выпуск 289 (01.07.2019 - 07.07.2019)       Статьи

Attention для чайников и реализация в Keras

Не смотря на то что механизм Attention описан в англоязычной литературе, в русскоязычном секторе достойного описание данной технологии я до сих пор не встречал. На нашем языке есть много статей по Искусственному Интеллекту (ИИ). Тем не менее, те статьи, которые удалось найти, раскрывают только самые простые модели ИИ, например, свёрточные сети, генеративные сети. Однако, по передовым новейшим разработками в области ИИ статей в русскоязычном секторе крайне мало.