Все потоки
Поиск
Написать публикацию
Обновить
430.37

Python *

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

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

Мегаанализ распространения Covid-19 в Москве

Время на прочтение4 мин
Количество просмотров4.7K

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

Читать далее

telebot быстро и понятно. Телеграмм-бот

Время на прочтение4 мин
Количество просмотров509K

telebot (pyTelegramBotAPI) хорошая и лёгкая библиотека для создания бота на python для телеграмма.

Читать далее

Эффективное тестирование с помощью Pytest

Время на прочтение17 мин
Количество просмотров44K

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

Читать далее

Алгоритмы поиска схожих объектов в рекомендательных системах

Время на прочтение8 мин
Количество просмотров21K

«Досмотрю вот это видео на YouTube и пойду спать! Ой, в рекомендациях еще одно интересное. Сон, прости…». «Закажу в IKEA только стулья. Ах, сайт показал мне еще посуду, постельное белье и новую кухню в сборке. Когда там следующая зарплата?». «Бесконечный плейлист любимых музыкальных жанров в СберЗвуке заряжает меня позитивом! Как специалистам удается создавать выборку специально для меня?».

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

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

TL:DR

Статья описывает основные подходы к поиску схожих объектов в наборе данных и содержит вводный курс в мир рекомендательных систем. Представлены варианты подготовки данных. Информация будет полезна аналитикам, которые изучают python, и начинающим data-scientist’ам. Мы не будем останавливаться на подробном описании каждого метода и разбирать отличия контентных и коллаборативных рекомендательных систем. Базовая теоретических часть находится здесьздесь и здесь. Нас интересует применение алгоритмов матчинга (matching, англ. Поиск схожих объектов) в повседневных задачах. К статье прилагается ноутбук на платформе Kaggle с основным кодом, который рекомендуем запускать одновременно с изучением текста.

Читать далее

Python GUI. Библиотека KivyMD. Шаблон MVC, parallax эффект и анимация контента слайдов

Время на прочтение23 мин
Количество просмотров26K

Приветствую вас, дорогие любители и знатоки Python! Прошло пол года с момента моей последней публикации на Хабре. Был погружен в пучину обстоятельств и сторонние проекты. Начиная с сегодняшней, статьи будут выходить с периодичностью раз в месяц. В этой статье мы рассмотрим как создать и анимировать контент для слайдов а также сделать parallax эффект для фонового изображения с помощью фреймворка Kivy и библиотеки KivyMD.

Читать далее

Разделение, объединение и поворот PDF-документов на Python с помощью borb

Время на прочтение5 мин
Количество просмотров11K

Формат переносимых документов (PDF) не является форматом WYSIWYG (What You See is What You Get (То, Что Вы Видите, это То, Что Вы Получаете)). Он был разработан, чтобы быть независимым от платформы, независимым от базовой операционной системы и механизмов рендеринга.

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

В этом руководстве мы будем использовать borb - библиотеку Python, предназначенную для чтения, манипулирования и генерации PDF-документов. Он предлагает как низкоуровневую модель (что позволяет получить доступ к точным координатам и макету), так и высокоуровневую модель (где вы можете делегировать точные расчеты полей, позиций и т. д.).

Читать далее

Руководство по модулю клавиатуры Python

Время на прочтение5 мин
Количество просмотров205K

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

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

Читать далее

Расчет евклидова расстояния с помощью NumPy

Время на прочтение5 мин
Количество просмотров55K

В этом руководстве мы рассмотрим, как рассчитать евклидово расстояние между двумя точками в Python с помощью Numpy.

Что такое евклидово расстояние?

Евклидово расстояние - это фундаментальная метрика расстояния, относящаяся к системам в евклидовом пространстве.

Читать далее

Работаем с текстами на Python: кодировки, нормализация, чистка

Время на прочтение9 мин
Количество просмотров101K

Об обработке текстов на естественном языке сейчас знают все. Все хоть раз пробовали задавать вопрос Сири или Алисе, пользовались Grammarly (это не реклама), пробовали генераторы стихов, текстов... или просто вводили запрос в Google. Да, вот так просто. На самом деле Google понимаетот него хотите, благодаря ш, что вы тукам, которые умеют обрабатывать и анализировать естественную речь в вашем запросе.

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

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

Так как всё-таки происходит обработка таких запросов?

Читать далее

Геоаналитика с помощью Python и открытых данных: пошаговое руководство

Время на прочтение11 мин
Количество просмотров51K

Геоаналитика с помощью Python: GeoPandas, folium, Uber H3, OSM + примеры как можно определять лучшие локации для поиска помещений под открытие кофейни (и не только).

Читать далее

На стыке BI и DS: как предоставить аналитикам возможность делать с данными все, что они хотят?

Время на прочтение4 мин
Количество просмотров5K

Привет, Хабр! Мы продолжаем рассказывать о новых трендах в BI, и сегодня речь пойдет о расширении возможностей аналитических систем и кастомизации дашбордов под конкретные (и порой уникальные) задачи клиентов. Для этого необходимо работать на стыке DS и BI, а значит —  в BI должен быть базовый набор ML- инструментов (Machine Learning), доступных не только суровым математикам, но и бизнес-аналитикам. В этой статье мы рассмотрим возможные варианты пересечения сфер BI и DS для проведения более глубокой аналитики, с плюсами и минусами, а также покажем основные подходы к внедрению ML в BI на уровне стандартного функционала.

Читать далее

Сравнить две таблицы excel

Время на прочтение5 мин
Количество просмотров24K
Решим достаточно тривиальную задачу с помощью языка python — сравним две таблицы excel и выведем результат в третью. Что может быть проще, и почему просто не использовать средства самой программы, входящей в пакет office? Попробуем разобраться.


Читать дальше →

Instagram-бот для улучшения личной жизни

Время на прочтение9 мин
Количество просмотров27K

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

Я просто опишу как собрал бота для Instagram, которым движет только одно - слать сообщения в стиле "Привет, доброе утро" моей девушке. Ну, т. е. это не значит, что если кто-то запустит скрипт у себя, то сообщения снова полетят ей. Нет. Просто это бот с функцией отправки сообщений.

Читать далее

Ближайшие события

Triton: Open Source язык для ядер Deep Learning

Время на прочтение10 мин
Количество просмотров12K

Подобный Python Triton уже работает в ядрах, которые в 2 раза эффективнее эквивалентных реализаций Torch. А ядра матричного умножения FP16, сравнимые производительностью с cuBLAS, на Triton займут менее 25 строк. Как утверждает автор, многие программисты не могут написать такие ядра. Подробностями о Triton делимся к старту курса по ML и DL.

Читать далее

Как я написал свой ChatOps: опыт выпускника курса по Python

Время на прочтение5 мин
Количество просмотров9.8K

DevOps-инженер Константин Кулишов рассказал, как создал свой ChatOps, чтобы дать разработчикам возможность вносить изменения в проект в любое время. Константин выложил ChatOps на GitHub и подробно описал процесс создания.

Читать статью

Готовим нестандартные данные для нейросети

Время на прочтение8 мин
Количество просмотров4.6K

Сталкивались ли вы когда-либо с проблемой в обучении нейросетей, когда датасет слишком большой, чтобы загрузить его в оперативную память полностью и программа выдает Out-of-Memory Error? Например, при обучении классификатора изображений, у нас нет возможности загрузить все картинки в память до обучения. Даже если это и возможно для игрушечных наборов данных, в реальных задачах объёмы данных измеряются в сотнях, тысячах гигабайт. И мы не можем использовать лишь часть датасета, так как качество обученной модели тоже упадёт. Конечно, у нас есть возможность использовать готовые инструменты (например ImageDagaGenerator в библиотеке Tensorflow), но такой подход работает только если у нас стандартные данные, такие как папки с файлами jpg/png или csv файлы.  А что делать, если у нас несколько различных типов данных (например, входные данные - это изображения и их текстовое описание), или большое количество табличных данных, где, например, каждый файл это данные за один день? В этих случаях для загрузки и подготовки данных на вход модели придётся писать свой собственный генератор данных.

В данной статье я детально расскажу, как я создавал свой DataGenerator в Kaggle соревновании по определению наличия опухоли головного мозга по МРТ.

Итак, посмотрим на данные, которые нам предоставили. Для обучения у нас имеется 585 примеров. Каждый пример представляет собой МРТ скан в четырех режимах: Fluid Attenuated Inversion Recovery (FLAIR), T1-weighted pre-contrast (T1w), T1-weighted post-contrast (T1Gd), T2-weighted (T2). Скан в каждом режиме представляет собой набор одноканальных изображений в формате DICOM. Возьмем один из примеров и посмотрим разрешение и количество файлов для каждого режима:

Читать далее

Моя клубничная чудо-коробка

Время на прочтение17 мин
Количество просмотров63K

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

Читать далее

Объем, центр масс, моменты инерции тела, имея только mesh поверхности

Время на прочтение7 мин
Количество просмотров5.8K

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

Читать далее

Помощник – «решатель филвордов» на python (алгоритм поиска слов плюс распознавание текста tesseract)

Время на прочтение2 мин
Количество просмотров16K

На работе, в обеденный перерыв коллега показал игрушку на Яндекс играх – Филворды. Как то не заладилась игра у меня – вроде простые слова, но дело шло медленно. А у товарища уровень был выше 400. Первая  мысль при таком фэйле – конечно, показать глупой машине, что есть кто-то умнее ее! То есть - другая машина…

Читать далее

Первые шаги в aiohttp, часть 2: подключаем базу данных к приложению

Время на прочтение16 мин
Количество просмотров25K

Привет!

В прошлой статье мы познакомились с aiohttp и написали на нем свое первое веб-приложение: стену с отзывами.

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

Если вам интересно асинхронное программирование, приходите к нам на курс в KTS, где мы гораздо подробнее разберем эту тему.

Читать далее

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