Обновить
593.46

Python *

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

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

DANets: Глубокие абстрактные сети для классификации и регрессии табличных данных

Время на прочтение26 мин
Охват и читатели2.8K

Аннотация

Табличные данные широко распространены в различных реальных приложениях. Хотя многие широко используемые нейронные компоненты (например, свертки) и расширяемые нейронные сети (например, ResNet) были разработаны сообществом машинного обучения, только немногие из них показали свою эффективность для табличных данных, и лишь немногие проекты были релевантно адаптированы к табличным структурам данных. В этой статье мы предлагаем новый и гибкий нейро-компонент для табличных данных, называемый абстрактным слоем (ABSTLAY), который обучаем явно группировать коррелирующие входные объекты и генерировать объекты более высокого уровня семантической абстракции (формализации). Кроме того, мы разрабатываем метод репараметризации структуры для сжатия слоя ABSTLAY, тем самым значительно снижая вычислительную сложность на контрольном слое. Специальный базовый блок строится с использованием ABSTLAY, и мы создаем семейство глубоких абстрактных сетей (DANET) для классификации табличных данных и регрессии путем группировки (таксономии) таких блоков. В DANET введен специальный кратчайший путь для извлечения информации из необработанных табличных объектов, способствующий взаимодействию объектов на разных уровнях. Всесторонние эксперименты с семью реальными табличными наборами данных показывают, что наши ABSTLAY и DANET эффективны для классификации и регрессии табличных данных, а их вычислительная сложность не превосходит сложности конкурентных методов. Кроме того, мы оцениваем прирост производительности DANET по мере его углубления, проверяя модифицируемость нашего метода. Наш код доступен по адресу https://github.com/WhatAShot/DANet .

Читать далее

Рисуем красивые трейсбеки, перехватывая исключения в Python

Время на прочтение10 мин
Охват и читатели19K

Все мы тратим немало времени на отладку, копаясь в логах или читая трейсбеки (traceback, отчёты о трассировке стека). Любое из этих дел может оказаться сложным и длительным. Этот материал посвящён тому, как сделать трассировку стека и работу с исключениями как можно более простыми и эффективными.

На пути к этой цели мы узнаем о том, как реализовывать и использовать собственные перехватчики исключений (exception hook), которые позволяют убрать из трейсбеков весь «информационный шум». Мы поговорим о том, как улучшить читабельность отчётов о трассировке стека, как выводить в них лишь то, что нужно для решения проблем с Python-кодом и с возникающими в процессе его работы исключениями. Кроме того, мы посмотрим на несколько потрясающих Python-библиотек, в которых имеются готовые к использованию, хорошо сделанные перехватчики исключений. Их можно использовать без необходимости написания собственного кода перехватчиков.

Читать далее

Классификация текста с использованием моделей трансформеров

Время на прочтение6 мин
Охват и читатели21K

Модели трансформеров на данный момент являются state-of-the-art решениями в мире обработки естественного языка. Новые, более крупные и качественные модели появляются почти каждый месяц, устанавливая новые критерии производительности по широкому кругу задач. В данной статье мы будем использовать модель трансформера для бинарной классификации текста.

Читать далее

Безопасность веб-приложений

Время на прочтение10 мин
Охват и читатели27K

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

Читать далее

Geo data in Python

Время на прочтение3 мин
Охват и читатели13K

Понадобилось мне недавно нарисовать в Python данные на карте, благо в данных есть координаты. Казалось бы, что может быть сложного... Но обо всем по порядку.

Читать далее

Массовая загрузка, обработка и выгрузка изображений в Битрикс на Python3

Время на прочтение11 мин
Охват и читатели15K

В этой статье мы популярно объясняем на собственном опыте как организовать массовую выгрузку, обработку и загрузку фотографий товаров из Bitrix, используя Python и минимальное количество SQL. Для прочтения будет полезно людям, выполняющим схожие задачи, не будучи при этом знакомыми с Битриксом.

Читать далее

Парсинг контактов адресной книги Яндекс.почты в CSV на Python

Время на прочтение3 мин
Охват и читатели7.5K

Как-то в процессе работы возник вопрос как на корпоративном домене в Яндексе выгрузить все контакты организации из адресной книги Яндекс.почты в файл .csv или .xls, чтобы было красиво и потом удобно работать с этими данными в MS Excel.

Оказывается, что стандартными средствами Яндекс.почты можно выгрузить только в Vcard формат, что мне совсем не подходит. Нужно потом его как-то конвертировать сторонними средствами. Такие попадались на просторах интернета, что совсем неудобно.

На помощь пришел Python.

C помощью библиотеки BeautifulSoup очень удобно и быстро парсить html и вынимать всю нужную нам информацию.

Проведя анализ исходного кода страницы и выведя особые закономерности в представлении на ней информации было решено “В бой!”.

Для парсинга нам понадобится Python 3, библиотека BeautifulSoup и браузер с инспектором кода.

Читать далее

Применение exception при накате Python-скрипта на Huawei

Время на прочтение4 мин
Охват и читатели5.4K

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

Весь код приведу в конце статьи, а его запуск можно посмотреть на видео демонстрации.

Читать далее

Аналитика чат-ботов на Python

Время на прочтение3 мин
Охват и читатели10K

В 2020 году я написал статью Аналитика для Telegram-ботов с достаточно простым решением, с 2 метриками и неоптимальным хранением данных. После появления рекламы в Telegram, аналитика стала ещё более необходима, так как теперь можно рекламировать ботов напрямую пользователям. Плюсы моего нового решения в сравнение с другими на рынке: оно бесплатно, легко внедряется, 20 метрик для аналитики, можно создавать свои метрики, данные хранятся только у вас, подходит для любого количества сообщений в месяц, хранит историю за всё время подключения, может хранить данные по любому количеству ботов в одном месте. Также это решение можно внедрить не только для чат-ботов Telegram, а и для любых других чат-ботов(Slack, Discord, Vk и так далее).

Читать далее

Доверять Джини или нет: вот в чем вопрос

Время на прочтение5 мин
Охват и читатели8.2K

Коэффициент Джини (или индекс Джини), кривая Лоренца, TPR (true positive rate) и FPR (false positive rate) – одни из самых популярных атрибутов экономических задач, решаемых с помощью машинного обучения. Все они используются для оценки качества модели и, так или иначе, связаны друг с другом. Предлагаю вспомнить, как они рассчитываются.

Читать далее

Анонимизация базы данных или как быть уверенным, что ты не нарушаешь закон “О персональных данных”

Время на прочтение22 мин
Охват и читатели15K

В настоящее время практически все ИТ-продукты работают с персональной информацией пользователя: ФИО, телефон, e-mail, паспортные и другие идентифицирующие данные. Для  обеспечения защиты прав и свобод, человека и гражданина при обработке его персональных данных в Российской Федерации существует Федеральный закон от 27.07.2006 N 152-ФЗ “О персональных данных”.

Согласно пункту 2 статьи 5 обработка персональных данных должна ограничиваться достижением конкретных, заранее определенных и законных целей, а в статье 6 установлено, что обработка персональных данных осуществляется с согласия субъекта персональных данных. Все это накладывает определенные ограничения на разработку программных продуктов и заставляет разработчиков думать о возможных последствиях несоблюдения норм законодательства.

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

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

Читать далее

Уроки компьютерного зрения на Python + OpenCV с самых азов. Часть 3

Время на прочтение4 мин
Охват и читатели41K

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

Сегодня продолжим тему обработки изображений. На прошлом уроке мы пытались при помощи размытия удалить из изображения такие дефекты, как гауссовский шум и царапины. С первым что-то более-менее получилось, а вот с царапинами ничего не вышло. Да, кстати, в комментах мне был задан вопрос: «Откуда берется гауссовкий шум?»

Отвечаю:

Гауссовский шум может возникнуть, например, от помех. Или, если у нас было плохое освещение, картинка получилась темная, и мы попытались как-то исправить это, например, увеличить контрастность. Шумы при этом тоже усилятся.

Ладно. Идем дальше. Как же нам быть с царапинами? А для их удаления можно воспользоваться медианным фильтром:

Читать далее

Оптимизация использования памяти в Python-приложениях

Время на прочтение13 мин
Охват и читатели22K

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

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

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

Читать далее

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

Скриптинг без скриптинга

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

Уже давно считается, что многие (если не все) игры или приложения можно улучшить, добавив в них поддержку скриптов.

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

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

Читать далее

Новая Rеальность

Время на прочтение2 мин
Охват и читатели84K


Анекдот


Буквально за неделю ИТ ландшафт изменился до неузнаваемости. Каждый день появляются новости об уходе или «приостановке работы» той или иной международной ИТ компании. Одномоментно кончились серверные мощности. И если кто-то прикупил с запасом (что делали достаточно редко), то тот оказался молодцом. Стиль работы надо экстренно и радикально менять. Если раньше можно было полгода играть в RFI, потом полгода в RFP, потом полгода бюджетировать, то теперь все схлопнулось до «одного дня» и не на кого возложить ответственность, вендоры исчезли.


Ситуация стабилизируется, но время стабилизации и новая конфигурация пока неизвестны. Очевидно, что новая конфигурация будет отличаться от той, что была последние лет 10-20.

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

«Что я получу, если смешаю корень златоцветника и настойку полыни?» или 10 вопросов для Junior Python-разработчика

Время на прочтение7 мин
Охват и читатели26K

12 разных издательств отказывали Джоан Роулинг в публикации первой части Гарри Поттера. Многим программистам отказывали не меньше.

Читать далее

Доклады на PyCon Weekend 2022: об ускорении кода, векторах атак API, некрасивой рыбе на конвейере и не только

Время на прочтение7 мин
Охват и читатели2K

Нам кажется, что сейчас такое время, когда особенно важно поддержать it-community. Конференции - это про людей, добро и знания. Поэтому, несмотря на тревожную повестку, мы приняли решение продолжать свои проекты, объединяющие профессиональное сообщество

В этом году PyCon Weekend состоится 25-26 марта в Красной Поляне. 

12 классных спикеров последние несколько месяцев готовятся к выступлениям и ждут участников, чтобы поделиться практическими кейсами и обсудить тренды в python, ML, Data Science. 

В конце первого дня мы устроим традиционные lightning talks, где каждый сможет попробовать себя в роли спикера. Не забудем про нетворкинг и склоны Красной Поляны, которые приглашают переключиться на спорт: трассы разной сложности и прокат снаряжения работают в своём обычном режиме. 

Читать далее

Элементарный счет звездного года (365 дней и 369 минут [365.25634])в радиоактивном распаде

Время на прочтение2 мин
Охват и читатели2.1K

Есть данные за 2 дня мая 2005 года 2 дня мая 2006 года. Цель найти в сумме 1440 сравнений[60*24] звездный год.

Читать далее

Основы теории вероятностей с помощью Python

Время на прочтение8 мин
Охват и читатели37K

Привет, Хабр! Я очень долго собирался с мыслями, чтобы попробовать опубликовать свою статью в вашем сообществе, это дебют, поэтому буду рад услышать в комментариях обратную связь по поводу содержимого материала. Тематика сегодняшнего сообщения – это разбор базовых понятий в теории вероятности с помощью языка программирования Python.

Прежде чем приступить к изложению базовых понятий немного расскажу о себе, о профессиональном опыте, чтобы вы могли иметь представление об авторе. Я окончил Уральский Федеральный Университет по направлению бизнес-информатика и сейчас работаю младшим научным сотрудником в Институте экономики Уральской Академии наук (г. Екатеринбург). В основном направление, по которому я обучался, опиралось на моделировании бизнес процессов. Было конечно немного статистики и теории вероятности, но по мере своего профессионального роста знаний, полученных в университете, мне оказалось недостаточно, поэтому сейчас я вспоминаю изученный материал и постепенно изучаю новый. В качестве такого своеобразного отчёта о проделанной работе принял решение публиковать небольшие статьи здесь. Надеюсь для новичков, которым собственно я и являюсь по сегодняшний день данный материал будет полезен.

За основу для изучения взял оксфордский учебник на английском языке «Bayesian Statistics for Beginners» (автор Therese M и Ruth M.Mickey). Если у вас есть какие-то базовые знания по математике, которые вы хотите углубить или вспомнить данная книга как раз для вас. Мне очень понравилось её необычное изложение в форме интервью, достаточно простой английский (для уровня B1-B2). Думаю, если вы часто читаете документацию на английском языке или ещё лучше научную литературу, учебник можно осилить практически без словаря. Сама книга – цветная, читать формулы – одно удовольствие. В общем зарекомендовал как мог.

Читать далее

Как сделать интерактивную карту с маршрутами на Python

Время на прочтение7 мин
Охват и читатели41K

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

Читать далее

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