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

Собрали в одном месте самые важные ссылки
и сделали Тренажер IT-инцидентов для DevOps/SRE

     27.06.2017       Выпуск 184 (26.06.2017 - 02.07.2017)       Статьи

Использование Python и Excel для обработки и анализа данных. Часть 1: импорт данных и настройка среды

Если Вы только начинаете свой путь знакомства с возможностями Python, ваши познания еще имеют начальный уровень — этот материал для Вас. В статье мы опишем, как можно извлекать информацию из данных, представленных в Excel файлах, работать с ними используя базовый функционал библиотек. В первой части статьи мы расскажем про установку необходимых библиотек и настройку среды. Во второй части — предоставим обзор библиотек, которые могут быть использованы для загрузки и записи таблиц в файлы с помощью Python и расскажем как работать с такими библиотеками как pandas, openpyxl, xlrd, xlutils, pyexcel.

     27.06.2017       Выпуск 184 (26.06.2017 - 02.07.2017)       Статьи

Автоэнкодеры в Keras, Часть 1: Введение

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

     27.06.2017       Выпуск 184 (26.06.2017 - 02.07.2017)       Статьи

Машинное обучение для страховой компании: Исследуем алгоритмы

Предлагаю продолжить добрую традицию, которая началась в пятницу чуть больше месяца назад. Тогда я поделилась с вами вводной статьёй о том, для чего нужно машинное обучение в страховой компании и как проверялась реалистичность самой идеи. Сегодня будет её продолжение, в котором начинается самое интересное — тестирование алгоритмов.

     27.06.2017       Выпуск 184 (26.06.2017 - 02.07.2017)       Статьи

Автоэнкодеры в Keras, Часть 2: Manifold learning и скрытые (latent) переменные

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

     27.06.2017       Выпуск 184 (26.06.2017 - 02.07.2017)       Статьи

Автоэнкодеры в Keras, Часть 3: Вариационные автоэнкодеры (VAE)

В прошлой части мы уже обсуждали, что такое скрытые переменные, взглянули на их распределение, а также поняли, что из распределения скрытых переменных в обычных автоэнкодерах сложно генерировать новые объекты. Для того чтобы можно было генерировать новые объекты, пространство скрытых переменных (latent variables) должно быть предсказуемым. Вариационные автоэнкодеры (Variational Autoencoders) — это автоэнкодеры, которые учатся отображать объекты в заданное скрытое пространство и, соответственно, сэмплить из него. Поэтому вариационные автоэнкодеры относят также к семейству генеративных моделей.

     27.06.2017       Выпуск 184 (26.06.2017 - 02.07.2017)       Статьи

Автоэнкодеры в Keras, Часть 4: Conditional VAE

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

     24.06.2017       Выпуск 183 (19.06.2017 - 25.06.2017)       Статьи

Подбор закона распределения случайной величины по данным статистической выборки средствами Python

О чём могут «рассказать» законы распределения случайных величин, если научиться их «слушать» Законы распределения случайных величин наиболее «красноречивы» при статистической обработке результатов измерений. Адекватная оценка результатов измерений возможна лишь в том случае, когда известны правила, определяющие поведение погрешностей измерения. Основу этих правил и составляют законы распределения погрешностей, которые могут быть представлены представлены в дифференциальной (pdf) или интегральной (cdf) формах. К основным характеристикам законов распределения относятся: наиболее вероятное значение измеряемой величины под названием математическое ожидание (mean); мера рассеивания случайной величины вокруг математического ожидания под названием среднеквадратическое отклонение (std). Дополнительными характеристиками являются – мера скученности дифференциальной формы закона распределения относительно оси симметрии под названием асимметрия (skew) и мера крутости, огибающей дифференциальной формы под названием эксцесс (kurt). Читатель уже догадался, что приведенные сокращения взяты из библиотек scipy. stats, numpy, которые мы и будем использовать.

     24.06.2017       Выпуск 183 (19.06.2017 - 25.06.2017)       Статьи

Руководство: как использовать Python для алгоритмической торговли на бирже. Часть 1

Технологии стали активом — финансовые организации теперь не только занимаются своим основным бизнесом, но уделяют много внимания новым разработкам. Мы уже рассказывали о том, что в мире высокочастотной торговли лучших результатов добиваются обладатели не только самого эффективного, но и быстрого софта и железа. Среди наиболее популярных в сфере финансов языков программирования можно отметить R и Python, также часто используются C++, C# и Java. В опубликованном на сайте DataCamp руководстве речь идет о том, как начать использовать Python для создания финансовых приложений — мы представляем вам серию статей-адаптаций глав этого материала.

     24.06.2017       Выпуск 183 (19.06.2017 - 25.06.2017)       Статьи

Python на марштуризаторе

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

     23.06.2017       Выпуск 183 (19.06.2017 - 25.06.2017)       Статьи

Машинное обучение для страховой компании: Исследуем алгоритмы

Предлагаю продолжить добрую традицию, которая началась в пятницу чуть больше месяца назад. Тогда я поделилась с вами вводной статьёй о том, для чего нужно машинное обучение в страховой компании и как проверялась реалистичность самой идеи. Сегодня будет её продолжение, в котором начинается самое интересное — тестирование алгоритмов.

     21.06.2017       Выпуск 183 (19.06.2017 - 25.06.2017)       Статьи

Как выигрывать в конкурсах репостов Вконтакте?

Мне захотелось узнать, реально ли выиграть в конкурсах репостов ВКонтакте. 
Как это сделать? Ответ очевиден — надо участвовать во всех конкурсах и по теории вероятности, чем больше конкурсов, тем больше шанс выиграть хоть что-то.

     20.06.2017       Выпуск 183 (19.06.2017 - 25.06.2017)       Статьи

CameraTablet — как сделать графический планшет при помощи веб-камеры

. Здесь я хочу рассказать о том, почему меня не устраивает мышка, и как я пытаюсь ее заменить. Я разрабатываю CAE-программы для инженеров (расчет статики и динамики механических систем), треть рабочего времени я работаю как project manager, а в остальное время я — системный архитектор, разработчик и тестер в своем и в чужих проектах. У меня всегда открыты десять-двадцать окон, между которыми мне приходится постоянно прыгать:

     20.06.2017       Выпуск 183 (19.06.2017 - 25.06.2017)       Статьи

Оптимизация производительности Django проектов (часть 1) Django

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

Это первая статья из серии, здесь будут рассмотрено профилирование и настройки Django.

     19.06.2017       Выпуск 183 (19.06.2017 - 25.06.2017)       Статьи

Программируем в мире Minecraft

Пока все обсуждают ИИ в мире Pacman, мы начнем делать свой ИИ в Minecraft с фреймворком Malmo от Microsoft Research. Pacman у нас тоже появится. Если вы любите кубический мир, или вам хотелось бы начать изучать искусственный интеллект, или у вас есть дети, с которыми вы не можете найти общие увлечения, или же вас просто заинтересовала тема – прошу под кат.

     15.06.2017       Выпуск 182 (12.06.2017 - 18.06.2017)       Статьи

Моделирование переходных процессов при коммутации электрической цепи средствами Python

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

     12.06.2017       Выпуск 182 (12.06.2017 - 18.06.2017)       Статьи

Нейрокурятник: часть 4 — итоговая модель и код на прод

Типичный день в нейрокурятнике — куры часто еще и крутятся в гнезде

Чтобы довести, наконец, проект нейрокурятника до своего логического завершения, нужно произвести на свет работающую модель и задеплоить ее на продакшен, да еще и так, чтобы соблюдался ряд условий:

  • Точность предсказаний не менее 70-90%;
  • Raspberry pi в самом курятнике в идеале мог бы определять принадлежности фотографий к классам;
  • Нужно как минимум научиться отличать всех кур друг от друга. Программа максимум — также научиться считать яйца;

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

     12.06.2017       Выпуск 182 (12.06.2017 - 18.06.2017)       Статьи

Отзывчивые столбчатые диаграммы с Bokeh, Flask и Python 3

 

Bokeh — это мощная библиотека с открытым исходным кодом, которая позволяет визуализировать данные для веб-приложений, не написав ни строчки на javascript. Изучение библиотек для визуализации вроде d3.js может оказаться полезным, но гораздо легче написать несколько строк кода на Python, чтобы решить задачу.
С Bokeh мы можем создавать поразительно детальные интерактивные визуализации или же более простые вещи, вроде столбчатых диаграмм.
Давайте разберёмся, как можно использовать Flask и Bokeh для визуализации данных в веб-приложении.

     10.06.2017       Выпуск 181 (05.06.2017 - 11.06.2017)       Статьи

Решение задач линейного программирования с использованием Python

Зачем решать экстремальные задачи На практике очень часто возникают задачи, для решения которых используются методы оптимизации. В обычной жизни при множественном выборе, например, подарков к новому годы мы интуитивно решаем задачу минимальных затрат при заданном качестве покупок. К сожалению, не всегда можно положиться на интуицию. Допустим Вы сотрудник коммерческой фирмы и отвечаете за рекламу. Затраты на рекламу в месяц не должны превышать 10 000 денежных единиц (д.е). Минута радиорекламы стоит 5 д.е., а телерекламы 90 д.е. Фирма намерена использовать радиорекламу в два раза чаще чем телерекламу. Практика показывает, что 1 минута телерекламы обеспечивает объём продаж в 30 раз больший чем 1 минута радиорекламы. Читать дальше →
На практике очень часто возникают задачи, для решения которых используются методы оптимизации. В обычной жизни при множественном выборе, например, подарков к новому годы мы интуитивно решаем задачу минимальных затрат при заданном качестве покупок.

К сожалению, не всегда можно положиться на интуицию. Допустим Вы сотрудник коммерческой фирмы и отвечаете за рекламу. Затраты на рекламу в месяц не должны превышать 10 000 денежных единиц (д.е). Минута радиорекламы стоит 5 д.е., а телерекламы 90 д.е. Фирма намерена использовать радиорекламу в два раза чаще чем телерекламу. Практика показывает, что 1 минута телерекламы обеспечивает объём продаж в 30 раз больший чем 1 минута радиорекламы. 

     09.06.2017       Выпуск 181 (05.06.2017 - 11.06.2017)       Статьи

Использование сторонних компонентов в DjangoCMS

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

     08.06.2017       Выпуск 181 (05.06.2017 - 11.06.2017)       Статьи

Генерируем произвольные последовательности на выводах платы Raspberry Pi

Автор: Николай Хабаров, Embedded Expert DataArt, евангелист технологий умного дома. В этой статье я расскажу, как написать обычное user space-приложение на Python для современного ARM-процессора с ОС Linux для генерирования сложных последовательностей импульсов на выводах платы. Суть идеи — использовать DMA-модуль процессора для копирования из предварительно подготовленного буфера в памяти в GPIO с высокой точностью по времени. Когда речь заходит о необходимости сгенерировать сложную последовательность импульсов, например, для шаговых двигателей, обычно используют старые добрые простенькие микроконтроллеры с установленной специальной операционной системой реального времени или вообще без операционной системы. Реализация при этом, в лучшем случае, написана на C++. Сейчас процессоры шагнули далеко вперед и имеют массу преимуществ: производительность, возможность использования операционной системы Linux со всей инфраструктурой и ПО, а также высокоуровневых языков программирования, таких как Python. И все же современные микроконтроллеры для генерирования сложных последовательностей на выводах GPIO, как правило, не используют. Я реализовал генерацию импульсов для управления шаговыми двигателями проекта PyCNC — проекта контроллера машин с ЧПУ, станков, 3D-принтеров, полностью написанного на Python и запускаемого на современном ARM-процессоре на плате Raspberry Pi. Статья может быть полезна желающим реализовать генерацию сложных последовательностей установки уровней на выводах одного или нескольких GPIO на других высокоуровневых языках программирования, используя DMA-модули других процессоров. Читать дальше →
В этой статье я расскажу, как написать обычное user space-приложение на Python для современного ARM-процессора с ОС Linux для генерирования сложных последовательностей импульсов на выводах платы. Суть идеи — использовать DMA-модуль процессора для копирования из предварительно подготовленного буфера в памяти в GPIO с высокой точностью по времени.