Рубрика «python» - 66

Сортировки кучей: n-нарные пирамиды - 1


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

n-нарная куча; куча куч, основанная на числах Леонардо; дерамида (гибрид кучи и двоичного дерева поиска); турнирная мини-куча; зеркальная (обратная) куча; слабая куча; юнгова куча; биномиальная куча; и бог весть ещё какие кучи…

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

Недавно я открыл для себя альтернативу стандартной конструкции "expression_on_true if predicate else expression_on_false", которую я не встречал в справочниках:

(expression_on_false, expression_on_true)[predicate]

image

Как это работает

  1. В круглых скобках объявляется кортеж из двух элементов.
  2. В квадратных скобках вычисляется значение предиката.
  3. Происходит обращение к кортежу по индексу 1 (если значение предиката True) или 0 (если значение предиката False)

Читать полностью »

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

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

Моя шпаргалка по pandas - 1

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

В конце прошлого года, я написал статью, о том как был заинтригован возможностью распознавания объектов на изображениях с помощью нейронных сетей. В той статье мы с помощью PyTorch классифицировали на видео либо ягоду малину, либо ардуино-подобный контроллер. И не смотря на то, что PyTorch мне понравился, обратился я к нему потому, что не смог с наскока разобраться с TensorFlow. Но я пообещал, что ещё вернусь к вопросу распознавания объектов на видео. Кажется пришло время сдержать обещание.

В данной статье мы попробуем на своей локальной машине дообучить уже готовую модель в Tensorflow 1.13 и Object Detection API на нашем собственном наборе изображений, а потом используем её для распознавания ягод и контроллеров, в видеопотоке веб-камеры с помощью OpenCV.

Хотите к лету улучшить навык распознавания ягод? Тогда милости прошу под кат.

«Вы уж простите, обознался...» или распознаем малину и контроллеры с помощью Tensorflow Object Detection API - 1
Читать полностью »

Распространение сферического коня в вакууме по территории РФ - 1

Привет от ODS. Мы откликнулись на идею tutu.ru поработать с их датасетом пассажиропотока РФ. И если в посте Milfgard огромная таблица выводов и научпоп, то мы хотим рассказать что под капотом.

Что, опять очередной пост про COVID-19? Да, но нет. Нам это было интересно именно с точки зрения математических методов и работы с интересным набором данных. Прежде, чем вы увидите под катом красивые картинки и графики, я обязан сказать несколько вещей:

  • любое моделирование — это очень сложный процесс, внутри которого невероятное количество ЕСЛИ и ПРЕДПОЛОЖИМ. Мы о них расскажем.
  • те, кто работал над этой статьей — не эпидемиологи или вирусологи. Мы просто группа любителей теории графов, практикующих методы моделирования сложных систем. Забавно, но именно в биоинформатике сейчас происходит наиболее существенный прогресс этой узкой области математики. Поэтому мы пониманием язык биологов, хоть и не умеем правильно обосновывать эпидемиологические модели и делать медицинские заключения.
  • наша симуляция всего лишь распространение сферического коня в вакууме по территории РФ. Не стоит относиться к этому серьезно, но стоит задуматься об общей картине. Она определенно интересная.
  • эта статья не существовала бы без датасета tutu.ru, за что им огромное спасибо.
  • мы хотим пригласить других заинтересованных исследователей в ODS.ai и под инициативой ML for Social Good (канал #ml4sg в ODS) вместе улучшать эту модель, чтобы получить опыт и возможность применять ее в будущем. Все интересные задачи, которые мы еще не решили, будут помечены в статье как TODO.

Под катом — результаты нашего марш-броска на датасет.

Читать полностью »

Ну что продолжим?

Скользящее окно(Moving Windows)

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

Смысл скользящего окна– с каждым новым значением функция пересчитывается за заданный период времени. Этих функций большое количество. Для примера: rolling.mean(), rolling.std(), которые чаще всего и используют при анализе движения акций. rolling.mean() — это обычная скользящая средняя, которая сглаживает краткосрочные колебания и позволяет визуализировать общую тенденцию.
Читать полностью »

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

Создание простого Discord бота с помощью библиотеки discord.py - 1
Читать полностью »

Моделируем вселенную: небесная механика наглядно - 1

Давайте представим, что нам нужно запустить футбольный мяч на орбиту Земли. Никакие ракеты не нужны! Хватит горы, высотой 100 километров и недюжинной силы. Но насколько сильно нужно пнуть мяч, чтобы он никогда больше не вернулся на Землю? Как отправить мяч в путешествие к звёздам, имея только грубую силу и знание небесной механики?

Сегодня в программе:

  • Бесконечные возможности одной формулы
  • Как взять энергию у Юпитера
  • Откуда у планет берутся кольца
  • Как математика помогла открыть Нептун

Благо, мы живём в век компьютерных технологий. Нам не нужно забираться на высокую гору и пинать мяч со всей силы, всё можно смоделировать! Давайте приступим.
Читать полностью »

Всем привет! Меня зовут Саша, я CTO & Co-Founder в LoyaltyLab. Два года назад я с друзьями, как и все бедные студенты, ходил вечером за пивом в ближайший магазин у дома. Нас очень расстраивало, что ритейлер, зная, что мы придём за пивом, не предлагает скидку на чипсы или сухарики, хотя это так логично! Мы не поняли, почему такая ситуация происходит и решили сделать свою компанию. Ну и как бонус выписывать себе скидки каждую пятницу на те самые чипсы.

image

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

Читать полностью »

Привет! Меня зовут Евгений, я Python-разработчик. Последние полтора года наша команда стала активно применять принципы Clean Architecture, уходя от классической модели MVC. И сегодня я расскажу о том, как мы к этому пришли, что нам это дает, и почему прямой перенос подходов из других ЯП не всегда является хорошим решением.

Clean Architecture глазами Python-разработчика - 1
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js