Как стать автором
Обновить
322.44
Рейтинг

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга

Обучение нейросети в речном круизе или история одного мини-проекта

Python *Обработка изображений *Машинное обучение *
Из песочницы

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

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

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 1.2K
Комментарии 5

Новости

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

Open source *Python *Алгоритмы *Машинное обучение *Искусственный интеллект

Привет Хабр!

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

А мемы про гиперпараметры?
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 526
Комментарии 0

Метод наименьших квадратов: формулы, код и применение

Python *Программирование *Data Mining *Машинное обучение *

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

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 1.9K
Комментарии 7

Планирование производственных операций

Python *Программирование *Математика *GitHub Промышленное программирование *
Из песочницы

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

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 2.2K
Комментарии 6

Я уеду жить в Лейнвуд. Создаем новые слова при помощи GPT

Ненормальное программирование *Python *Машинное обучение *Искусственный интеллект Natural Language Processing *
Tutorial

Предлагаю немного поразвлечься и научиться придумывать новые слова, которые звучат совсем как настоящие (прям как товары в Икее). Для начала вот вам десяток несуществующих городов:

Лумберг, Сеф, Хирнов, Бинли, Лусский, Ноловорск, Сант-Гумит, Хойден, Голтон и Оголенда

И женских имен:

Инела, Каисья, Ганнора, Целия, Тарисана, Лелена, Феомина, Олиcc, Нулина и Рослиба

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

Генерировать будем скриптом makemore от Андрея Карпати (недавно писал про скрипт в канале градиент обреченный), который он выложил пару недель назад. Андрей является известным исследователем в мире ИИ и периодически радует народ такими вот игрушками, можно полазить по его репозиторию, там еще много интересного.

Запустим скрипт.

Читать далее
Всего голосов 22: ↑22 и ↓0 +22
Просмотры 2.3K
Комментарии 11

Ищем хайлайты в матчах Dota 2 на примере Collapse на Magnus в рамках The International 2021

Работа с видео *Python *Data Mining *Разработка игр *Машинное обучение *
Из песочницы

Недавно в Dota 2 появилась возможность создавать видео-ролики при просмотре записей матчей. Я не удержался и решил сделать простой алгоритм поиска интересных моментов aka хайлайтов. Вот что из этого получилось на примере последней карты гранд-финала The International 2021, где Collapse из Team Spirit катал LGD на своем Magnus'е.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 2.1K
Комментарии 9

Интересный метод построения карт на основе движения робота

Python *Data Engineering *
Из песочницы

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

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 2.3K
Комментарии 4

Можно Ли Делать Игры На Python?

Python *Программирование *Разработка игр *Карьера в IT-индустрии Игры и игровые консоли

Python нашёл себе место почти во всех сферах IT. Разработка веб-сайтов, управление станками ЧПУ, desktop, мобильные приложения, а уж про искусственный интеллект, машинное обучение и анализ данных я вообще молчу.  Сейчас Python лучший друг хоть школьнику, хоть сотруднику научно-исследовательской лаборатории. А что на счёт игр? Компьютерные игры - это огромная доля IT рынка, которая уже набрала и продолжает набирать обороты. Игры то делать можно на питоне? Сегодня мы расставим все точки над i. Меня зовут Макс, я один из авторов YouTube канала PyLounge, а вы читаете статью в которой я расскажу можно ли создавать игры на Python и какую нишу занял Python в сфере gamedev.

Читать далее
Всего голосов 31: ↑18 и ↓13 +5
Просмотры 24K
Комментарии 50

Single quotes black

Python *
Из песочницы

Когда проект на python долгое время живет без правил по формату строк, то в один прекрасный момент оказывается, что 90% кода используют одинарные кавычки, а 10% - двойные.

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

Первой мыслью было задействовать black, но предлагаемый им формат предполагает исключительно использование двойных кавычек. В 2018 в github black был запрос Single quotes option формата строк, обсуждение было жарким, но закончилось оно лишь введением опции --skip-string-normalization, позволявшей не трогать формат строк в проверяемом коде.

Вот что для этого потребовалось
Всего голосов 10: ↑7 и ↓3 +4
Просмотры 4K
Комментарии 34

Куда пойти, когда только выучил Python: советы начинающему специалисту

Блог компании Нетология Python *Учебный процесс в IT Карьера в IT-индустрии

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

Читать далее
Всего голосов 8: ↑3 и ↓5 -2
Просмотры 6.3K
Комментарии 4

Какой способ лучше всего подходит, чтобы начать изучать программирование?

Python *Исследования и прогнозы в IT
Из песочницы

Профессия программиста не нуждается в рекламе. Никто даже не задумывается, что один терминал самообслуживания может сократить количество сотрудников банка. Выдать наличку и принять оплату вполне может и «робот». А чем больше таких терминалов, тем больше работы у программистов.

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

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

Крупные IT-компании создают настолько привлекательные условия труда, что уже стали законодателями мод среди работодателей. Сфера IT развивается так быстро, что заставляет постоянно учиться. Всегда есть выбор: развиваться в профессии дальше или изменить специализацию, ведь в программировании много направлений.

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

Читать далее
Всего голосов 30: ↑5 и ↓25 -20
Просмотры 16K
Комментарии 33

Анализ аудиоданных (часть 3)

Python *Программирование *Визуализация данных Машинное обучение *Звук
Tutorial

Машинное обучение

В третьей части анализа аудиоданных мы разберем относительно простой и более быстрый способ классификации аудиофайлов - алгоритм машинного обучения - SVM (Support Vector Machines) / машины опорных векторов.

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

Мы получили набор данных, содержащий значимые характеристики аудиоданных (45 значений) в машиночитаемом виде - Двухмерная таблица - Dataframes, состоящая из 47столбцов и 50000 строк.

1 часть

2 часть

Все признаки (характеристики) важны при анализе аудиоданных, так как описывают физические свойства звука: высоту, громкость, тембр и т. д.

При прохождении воздуха через голосовые связки возникают вибрации, которые в виде упругих волн распространяются в среде. Каждый звук представляет собой набор волн. Это основной тон - волны гендерной идентификации ( у каждого говорящего базовая частота основного тона  индивидуальна и обусловлена особенностями строения гортани, в среднем для мужского голоса она составляет от 80 до 210 Гц, для женского - от 150 до 320 Гц. ). Это волны - обертоны ( призвуки, которые выше основного тона) и волны форманты (распознавание речи) связанные с уровнем частоты голосового тона, которые образуют тембр звука.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 1.7K
Комментарии 6

Сателлит «R Markdown» — что на обратной стороне?

Python *Программирование *Data Mining *R *Управление разработкой *

*Обратная сторона луны*


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


R Markdown прочно вошел в инструментальный стек R и воспринимается как базовый компонент. Однако, применительно к R Markdown практически все осуществляют такой же промах. Связка «R Markdown — это html отчет» формируется на первом шаге и дальше именно так и применятся. Реальность несколько многообразнее.


Все предыдущие публикации.

Читать дальше →
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 1.1K
Комментарии 8

Одна слабая транзакция в ECDSA в блокчейне Биткоина и с помощью Lattice Attack мы получили Private Key к монетам BTC

Python *GitHub Growth Hacking *CTF *Matlab *
Из песочницы

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

ECDSA — это особая форма алгоритма цифровой подписи (DSA). DSA — это довольно распространенная схема цифровой подписи , которая определяется тремя алгоритмами: генерация ключа, подпись и проверка. Алгоритм генерации ключей генерирует закрытый и открытый ключи; закрытый ключ отвечает за создание подписей; а открытый ключ отвечает за проверку подписей. Алгоритм подписи принимает в качестве входных данных сообщение и закрытый ключ и создает подпись. Алгоритм проверки принимает в качестве входных данных сообщение, подпись и открытый ключ и возвращает значение true или false, указывая, является ли подпись действительной.

DSA определяется для любой математической группы, и эта схема безопасна до тех пор, пока проблема дискретного логарифмирования сложна для этой группы. Обычно используемая группа представляет собой целые числа по модулю простого числа p . Наряду с этой группой у нас будет генератор группы g и некоторая криптографически безопасная хэш - функция H. Мы можем предположить, что p , g и H будут общеизвестны.

Генерация ключей работает, сначала случайным образом выбирая значение x из целых чисел по модулю p . Затем вычисляется значение y = g x mod p . Закрытый ключ подписи имеет значение x , а открытый ключ — y . Ключ подписи должен храниться в секрете, поскольку именно он позволяет делать подписи.

Читать далее
Всего голосов 17: ↑13 и ↓4 +9
Просмотры 3.4K
Комментарии 7

Введение в автоэнкодеры

Блог компании SkillFactory Python *Программирование *Машинное обучение *TensorFlow *
Перевод

Чем больше данных, тем лучше, но слишком большое число признаков может оказаться неэффективным в плане повышения интерпретируемости или производительности. Материалом о возможном решении от доктора Роберта Кюблера делимся к старту флагманского курса по Data Science.

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Просмотры 2.1K
Комментарии 0

Начинающий программист vs Избирком СПб

Python *HTML *Data Engineering *
Из песочницы

Это история о том, как я писал код на Python 3, который собирает и систематизирует данные по избирательным комиссиям в моём родном городе Санкт-Петербурге. Ну, и про то, что я там накопал в извлечённых данных.

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

Читать далее
Всего голосов 19: ↑18 и ↓1 +17
Просмотры 11K
Комментарии 44

Асинхронный python без головной боли (часть 2)

Python *Программирование *
Tutorial

Продолжаем вкусно готовить asyncio

Теперь мы уже знаем достаточно, чтобы написать модный асинхронный микросервис, реализующий паттерн "API-шлюз". И попутно познакомимся с асинхронным логгированием и доступом к базе данных.

Выпей меня
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 3.9K
Комментарии 9

Машинное обучение для поиска аномалий

Python *Программирование *Машинное обучение *

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

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 1.3K
Комментарии 4

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

Блог компании Ozon Tech Python *Программирование *Параллельное программирование *
Tutorial

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

Разблокировать
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 4.7K
Комментарии 14

Вклад авторов

Работа

Python разработчик
152 вакансии
Data Scientist
124 вакансии