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

Python *

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

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

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

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

Под катом вас ждёт чертёж установки, блок-схемы агента, работающего методом проб и ошибок, а также визуализации, видеоролики и, конечно, код. Материалом делимся к старту нашего флагманского курса по Data Science.

Читать далее

Преобразование офисных файлов в текст

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

Представление документа в виде простого текста понадобится для анализа его содержимого: индексирования и поиска, классификации, предварительной проверки.

В нашем случае, стояла задача предварительного анализа (скоринга) документов по их содержимому. Верхнеуровневый процесс обработки документов построен с использованием MS Power Automate, поэтому конвертор нужно было реализовать в виде некоего облачного сервиса, доступного через HTTP.

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

Читать далее

Изменяемые и неизменяемые объекты в Python

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

Все в Python – это объект. Каждый новичок должен сразу усвоить, что все объекты в Python могут быть либо изменяемыми (мутабельным), либо неизменяемыми (иммутабельным). 

Читать далее

Простой поиск дубликатов изображения

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

Существует множество проверенных решений, основанных на разных алгоритмах. Этот пример использует элементы машинного обучения, текущий уровень развития инструментов, позволяет с минимальными усилиями решать "бытовые задачи". В качестве меры сходства - косинусное сходство. Сравнение многомерных массивов (изображение в цифровом пространстве), ресурсоемкий процесс, поэтому, применяем обученную свёрточную нейронную сеть для уменьшения размерности с учетом важных пространственных признаков. Библиотека keras содержит готовые модели под разные задачи, этот пример задействует архитектуру VGG16 обученную на данных imagenet. Вход в сеть (N, 224, 224, 3), выход (1, 512).

Читать далее

Коротко о 6 простых и эффективных видах визуализации

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

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

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

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

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

Читать далее

Лингвистические особенности речи человека в диалогах с виртуальным ассистентом

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

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

Читать далее

Создаем простой ETL на Python

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

В работе аналитика данных часто приходится использовать наборы данных, загружаемые из открытых источников. Рассмотрим простой пример использования конвейера для таких задач.
ETL, сокращение от extract-transform-load, представляет собой серию процессов, которые включают в себя сбор данных, их обработку и хранение в безопасном и доступном месте. Конвейеры ETL (ETL pipeline) позволяют упростить эти процессы с максимальной эффективностью и минимальными издержками.
Рассмотрим пошаговую реализацию конвейера ETL с использованием модулей Python.

Читать далее

Робот-самурай. Как научить телеграм-бота писать хокку

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

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

Читать далее

Основы работы со Spark DataFrame

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

При работе с распределенными базами данных, возникают задачи, которые ввиду технических ограничений сложно или невозможно решить с помощью всем привычного пакета Pandas на Python. Решением может стать использование распределенных вычислений Spark и его собственных DataFrame.

Читать далее

Динамика в деле: интерактивные графики в Dash

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

Dash представляет собой фреймворк для визуализации данных и построения веб-приложений, понятен и довольно прост в применении. Может быть интересен тем, кто хочет использовать интерактивные графики для анализа данных с помощью Python. Рассмотрим построение таких графиков с применением обратных вызовов в Dash.

Читать далее

VPN на минималках ч.2, или трое в docker не считая туннеля

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

Привет, хабр! 

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

Читать далее

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

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

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

Читать далее

Открываем шлагбаум кнопкой на руле автомобиля

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

Привет, Хабр!

Я живу в Москве и у меня во дворе, как и у многих, установлен шлагбаум. Некоторое время назад я задался вопросом, как мне упростить процесс его открытия? Хотелось, чтобы можно было добавлять это действие в сценарии умного дома, открывать по кнопке в авто, давать друзьям возможность открывать его самостоятельно и т.д. Частично я решил проблему еще в прошлом году, но недавно всё "допилил" и решил поделиться.

Читать далее

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

Сказание о том, как я argparse препарировал

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

Привет. Недавно мне потребовалось пересобрать N парсеров в один. В нем должен быть родитель и N детей, а также возможность использовать функции сразу всех подпарсеров.

Спойлер: это было непросто! В статье расскажу о проблемах, с которыми столкнулся, а также объясню, как устроен модуль argparse в Python 3 и что он умеет.

Приключение на 20 минут

Работа с отсутствующими значениями в Pandas

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

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

Конечно, каждая ситуация отличается и должна оцениваться по-разному. Есть много способов справиться с недостающими значениями. Рассмотрим типичные варианты на примере набора данных - 'Titanic'. Эти данные являются открытым набором данных Kaggle.

Для анализа необходимо импортировать библиотеки Python и загрузить данные.

Для загрузки используется метод Pandas - read.csv(). В скобках указывается путь к файлу в кавычках, чтобы Pandas считывал файл во фрейм данных (Dataframes - df) с этого адреса. Путь к файлу может быть URL адрес или вашим локальным адресом файла.

Читать далее

Работа с docx c помощью bayoo-docx

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

Нужно найти в docx-файле определенный фрагмент и оставить к нему комментарий? bayoo-docx (форк python-docx) умеет это! В конце статьи в виде бонуса расскажем, как определить номер страницы. 😊

Долгое время в библиотеке python-docx отсутствовала возможность добавления комментариев к word-файлам «из коробки». Созданное еще в 2014 году обсуждение в репозитории python-docx о том, как добавлять комментарии, было довольно активным, но не было найдено решений без прямого вмешательства в xml-разметку. Однако в 2020 году появился форк от python-docx – bayoo-docx, позволяющий добавлять комментарии быстро и легко.

Читать далее

Пространственный анализ тренировок с помощью GeoPandas и Folium

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

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

Для решения задач я использовал несколько библиотек Python, предназначенных для работы с пространственными данными и их визуализации – GeoPandas, PyProj, Shapely, Folium, Branca, H3-Pandas, OSMnx.

Подробное описание кода, примеры картографических изображений и ссылка на полный git-проект внутри.

Читать далее

Сделай то, сделай это, сделай сам

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

Доброго времени суток Дамы и Господа! Многим приходилось сталкиваться с необходимостью анализа большого количества данных при помощи Python по запросам начальства или коллег. Однотипные запросы поступают с определенной периодичностью, и не составляет труда подставить новые данные в свой код и провести анализ. Но иногда из-за определенной нагрузки не всегда хочется заниматься таким анализом. Намного проще сделать скрипт с графическим интерфейсом, чтобы сам заказчик для анализа данных мог нажать пару кнопок и получить желаемый результат. Тем более, можно изначально вложить в интерфейс столько «хотелок» заказчика для анализа, сколько будет душе угодно.

Читать далее

Парсинг для взрослых или Инфраструктура для промышленного парсинга

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

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

Читать далее

Автоматическая суммаризация текстов с помощью трансформеров Hugging Face. Часть 2

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

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

Для того чтобы ознакомиться с начальными сведениями о реферировании текстов, чтобы почитать обзор этого руководства, узнать, из раздела 1, о том, что является точкой отсчёта для оценки эффективности моделей — обратитесь к первому материалу.

Сегодняшняя публикация состоит из трёх частей, представленных, с применением сквозной нумерации, 2, 3 и 4 разделами. Здесь мы, соответственно, поговорим о реферировании без подготовки (с использованием предварительно обученной модели), об обучении предварительно обученной модели на нашем наборе данных, об оценке эффективности обученной модели.

Читать далее

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