Детектирование аномалий — интересная задача машинного обучения. Не существует какого-то определенного способа ее решения, так как каждый набор данных имеет свои особенности. Но в то же время есть несколько подходов, которые помогают добиться успеха. Я хочу рассказать про один из таких подходов — автоенкодеры.
Рубрика «python» - 69
Детектирование аномалий с помощью автоенкодеров на Python
2020-03-09 в 6:19, admin, рубрики: anomaly detection, autoencoder, machine learning, python, pytorch, sklearn, автоенкодер, автокодировщик, машинное обучение, ПрограммированиеГенерируем тексты песен Кис Кис цепями Маркова в 50 строк
2020-03-08 в 14:15, admin, рубрики: ml, python, машинное обучение, юморСегодня я хочу рассказать про свой опыт генерации текста песен с помощью python и библиотеки Markovify
Дисклеймер: автор хотел повеселить себя вечером и не придумал ничего лучше, как:
В качестве корпуса для "обучения" цепи я буду использовать текст песен группы Кис Кис.
Пикча выше иллюстрирует то как работает цепь Марокова. А вот неплохая статья.
Трансформация цвета: поиски в прореженном столе
2020-03-08 в 12:50, admin, рубрики: imagemagick, pillow, pillow-simd, python, высокая производительность, обработка изображенийЭто обзор функциональности, появившейся в Pillow 5.4: применение трехмерных таблиц поиска (3D lookup tables, 3D LUT) для трансформации цвета. Эта техника широко распространена в обработке видео и 3D-играх, однако мало графических библиотек могли похвастаться их поддержкой до этого.
Трехмерные таблицы поиска дают большую гибкость в описании цветовых трансформаций, но самое главное трансформации выполняются за одинаковое время, какими бы сложными они не были.
from PIL import Image, ImageFilter
def washout(r, g, b):
h, s, v = _rgb_to_hsv(r, g, b)
if 0.3 < h < 0.7:
s = 0
return _hsv_to_rgb(h, s, v)
im = Image.open('./Puffins.jpg')
im = im.filter(ImageFilter.Color3DLUT.generate(17, washout))
Функция, полностью написанная на Пайтоне, применяется к 16,6-мегапиксельной картинке за 75ms.
Работа с изображениями и так ресурсоемка, поэтому я обожаю алгоритмы, которые позволяют убрать сложность от входных параметров. Пять лет назад я реализовал в Pillow гауссово размытие, работающее за одинаковое время для любого радиуса. Не так давно я рассказал как можно уменьшить изображение за константное время с минимальной потерей качества. Сегодня я покажу для каких задач можно применять 3D LUT, какие у нее ограничения и похвастаюсь достигнутой производительностью в Pillow-SIMD.
Краткий гайд по использованию GDB
2020-03-08 в 9:22, admin, рубрики: C#, c++, gdb, linux, python, python3, Разработка под Linux
В этом коротком туториале мы рассмотрим базовые приёмы работы с GDB, а также посмотрим как можно (и нужно) подготавливать файлы к отладке для GDB.
GDB — переносимый отладчик проекта GNU, который работает на многих UNIX-подобных системах и умеет производить отладку многих языков программирования, включая Си, C++, Free Pascal, FreeBASIC, Ada, Фортран, Python3, Swift, NASM и Rust.
Управление Tion S3 и его подключение к умному дому
2020-03-07 в 16:41, admin, рубрики: api, python, tion, Интернет вещей, открытые протоколы, Разработка для интернета вещей, умный домУ TIONofficial есть замечательный продукт: бризер — система активной приточной вентиляции с фильтрами (и теперь с подогревом уличного воздуха). Такие относительно большие ящики, которые через дырку в стене засасывают уличный воздух, прогоняют через фильтры и тадам: в комнате чистый и свежий воздух.
Смотреть на них я начал несколько лет назад, тогда эти устройства управлялись обычным ИК пультом и интегрировать их в любой умный дом было относительно не сложно: умный ИК пульт + сграбить нужные команды управления. Новые же девайсы управляются модно, со смартфона, а пульт перестал быть оптическим. И вот тут с интеграцией возникла проблема: через телефон управлять можно, а вот к контроллеру умного дома уже не подключишь.
Есть еще базовая станция Magic air с выносным датчиком CO2, которая управляет бризером на основе показаний датчика, но возможность управления бризером контроллером умного дома через такую базовую станцию тоже тоже под вопросом.
Что ж, настало время посмотреть как же эту задачу решает телефон и сделать свой сервис для управления бризером.
Методы Монте-Карло для марковских цепей (MCMC). Введение
2020-03-05 в 18:31, admin, рубрики: MCMC, python, Алгоритмы, Блог компании Издательский дом «Питер», книги, марковские цепи, машинное обучение, Профессиональная литература, статистикаПривет!
Напоминаем, что ранее мы анонсировали книгу "Машинное обучение без лишних слов" — и теперь она уже в продаже. Притом, что для начинающих специалистов по МО книга действительно может стать настольной, некоторые темы в ней все-таки затронуты не были. Поэтому всем заинтересованным предлагаем перевод статьи Саймона Керстенса о сути алгоритмов MCMC с реализацией такого алгоритма на Python.
Читать полностью »
Загрузка NumPy-массивов с диска: сравнение memmap() и Zarr-HDF5
2020-03-05 в 9:30, admin, рубрики: numpy, python, Блог компании RUVDS.com, Накопители, разработка, Разработка веб-сайтовЕсли ваш NumPy-массив слишком велик для того, чтобы полностью поместиться в оперативной памяти, его можно обработать, разбив на фрагменты. Сделать это можно либо в прозрачном режиме, либо явно, загружая эти фрагменты с диска по одному.
В такой ситуации можно прибегнуть к двум классам инструментов:
- Метод NumPy
memmap()
, прозрачный механизм, который позволяет воспринимать файл, расположенный на диске, так, будто он весь находится в памяти. - Похожие друг на друга форматы хранения данных Zarr и HDF5, которые позволяют, по необходимости, загружать с диска и сохранять на диск сжатые фрагменты массива.
У каждого из этих методов есть свои сильные и слабые стороны.
Материал, перевод которого мы сегодня публикуем, посвящён разбору особенностей этих методов работы с данными, и рассказу о том, в каких ситуациях они могут пригодиться. В частности, особое внимание будет уделено форматам данных, которые оптимизированы для выполнения вычислений и необязательно рассчитаны на передачу этих данных другим программистам.
Читать полностью »
Бесполезный REPL. Доклад Яндекса
2020-03-03 в 14:59, admin, рубрики: github, ipython, python, REPL, Блог компании Яндекс, Тестирование веб-сервисовREPL (read-eval-print loop) бесполезен в Python, даже если это волшебный IPython. Сегодня я предложу одно из возможных решений этой проблемы. В первую очередь доклад и мое расширение TheREPL будет полезны тем, кого интересует более быстрая и эффективная разработка, а также тем, кто пишет stateful-системы.
— Меня зовут Александр, я в Яндексе работаю программистом. Пишем мы в моей команде на Python, на Go пока не перешли. Но в свободное от работы время я, как ни странно, тоже программирую и делаю это на очень динамическом языке — Common Lisp. Он, пожалуй, даже более динамический, чем Python. Его особенность заключается в том, что сам процесс разработки устроен несколько иначе. Он более интерактивный и итеративный, потому что в REPL на Lisp вы можете делать всё: создавать новые и удалять старые модули, добавлять методы, классы и удалять их, переопределять классы и т. д.
Читать полностью »
В начале этого года Python сместил Java и стал вторым по популярности языком программирования среди разработчиков
2020-03-03 в 10:22, admin, рубрики: github, ITSumma, java, JS, python, stackoverflow, Блог компании ITSumma, предпочтения, Программирование, программисты, рейтинг, сообщество, Статистика в IT, языки программирования, ЯПСогласно отчету RedMonk за январь 2020 года, Python стал вторым по популярности языком программирования после Java Script. Ранее эту позицию на протяжении длительного времени уверенно удерживал Java, однако в начале года этот ЯП сместился на третью строчку рейтинга, который формируется на базе информации репозиториев GitHub. Если быть точными, то пара Java Script и Java удерживали топ-2 популярности языков программирования с момента начала формирования указанного рейтинга, то есть с 2012 года.
Популярность JS и Java и их топовые позиции в рейтинге ожидаемы. Java Script — основной язык веб-разработки уже долгие годы, когда как Java — стандарт в разработке под Android и в сфере корпоративных приложений.
Читать полностью »
Весь Хабр в одной базе
2020-03-03 в 9:07, admin, рубрики: api, python, Администрирование баз данных, базы данных, парсинг, парсинг контента, Программирование, хабрахабр, хранилища данныхДобрый день. Прошло уже 2 года с момента написания последней статьи про парсинг Хабра, и некоторые моменты изменились.
Когда я захотел иметь у себя копию хабра, я решил написать парсер, который бы сохранил весь контент авторов в базу данных. Как это вышло и с какими ошибками я встретился — можете прочитать под катом.