Обновить
778.69

Python *

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

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

Разработка фреймворка для автоматизации загрузок данных из источников: Case Study для металлургической компании

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели2.8K

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

Конечно, есть Apache NiFi, но с ним возникает много проблем при работе с большими объемами данных. Связка Python и Apache Airflow на сегодняшний день является одной из лучших практик в области управления данными не только для оркестрации данных, но и для извлечения, поэтому логично разрабатывать ETL-систему (Extract, Transform, Load) поверх Airflow. Это позволяет эффективно управлять процессами извлечения, преобразования и загрузки данных, обеспечивая надежность и гибкость в аналитической инфраструктуре.

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

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

Читать далее

Задача распознавания эмоций. Часть 1. Введение

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели4.6K

Распознавание эмоций.

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

Статья будет состоять из 3 частей:

1. Введение
Описание и постановка задачи распознавания эмоций.

2. Три кита качества
Данные;
Архитектура;
Гиперпараметры.

3. Запуск модели
Разбор моего ноутбука с работой по шагам.

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

Читать далее

SVG-виджеты для tcl/tk. Градиентная заливка и прозрачность. Часть II

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели2.7K

Продолжим знакомство с svg-виджетами для tcl/tk. Напомним, что рассматриваемые примеры, сам пакет svgwidgets и интерпретаторы tcl/tk с необходимыми пакетами можно найти на github-е. После выхода первой статьи все они претерпели изменения. Начнем мы статью с примера скрипт_button_PACK.tcl:

$/usr/local/bin64/tclexecomp140_svg_Linux64 скрипт_button_PACK.tcl

Читать далее

strtree — классификатор строк на основе регулярных выражений

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели2.3K

Вы хотите найти короткие регулярные выражения, полно и точно отделяющие один класс строк от другого? Это статья для вас. Мы поговорим про задачу классификации строк с помощью автоматически определяемых паттернов, а в конце я предоставлю пример такой процедуры с кодом на Python. Пользоваться мы будем небольшой open-source библиотекой strtree.

Читать далее

Обнаружение вторжений с применением технологий машинного обучения. Часть 1

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели7.6K

Привет Хабр! Меня зовут Татьяна Ошуркова, я главный аналитик департамента ИТ корпоративного, инвестиционного и депозитарного бизнеса Росбанка и автор телеграм-канала IT Talks.

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

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

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

Читать далее

Об ускорении некоторых тестов на нормальность из библиотеки SciPy

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели3.1K

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

Читать далее

Способы возведения в степень в Python

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели96K

В Дзене Python есть принцип, согласно которому "должен существовать один и, желательно, только один очевидный способ сделать это". Однако в Python есть как миниум три способа возведения числа в степень: оператор **, встроенная функция pow(), функция pow() модуля math.

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

Читать далее

Анимация доски Гальтона на Python и manim

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

Многие видели математические видео с канала 3blue1brown. Оригинальный стиль, отличные визуализации самых разных математических понятий. Как они были сделаны? Грант Сандерсон, автор канала 3blue1brown, написал специальную библиотеку на питоне, manim, для создания своих видео. Библиотека оказалась популярной, был сделан форк и сложилось сообщество для ее дальнейшего развития. Мне стало интересно и я захотел научиться делать похожие видео, для примера будет анимация доски Гальтона. Математика присутствует, анимация интересная, что из этого вышло - написано в статье.

Читать далее

Обнаруживаем атаки с помощью ML

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели2.2K

Использование искусственного интеллекта позволяет существенно увеличить эффективность работы различных средств обеспечения кибербезопасности.

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

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

Собственно, вредоносное ПО это не только пресловутые вирусы, но и различные хакерские инструменты, например знаменитый Metasploit Framework, который хотя и предназначен для проведения тестирований на проникновение белыми хакерами, тем не менее активно используется и обычными взломщиками.

Читать далее

Как освоить Streamlit для Data Science

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели49K

Перевод статьи "Как освоить Streamlit для Data Science",

Автор: Chanin Nantasenamat

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

Читать далее

Дообучение модели GPT-2 (RUS) для генерации описаний заведений на основании названия, рубрики и оценки

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели11K

В данной работе представлен процесс дообучения модели генерации текста на основе архитектуры GPT-2. Целью работы является демонстрация возможностей применения дообученной модели для генерации текстов, соответствующих определённым наименованиям заведений, рубрикам и оценкам, выставленных пользователями. Используя предварительно подготовленный датасет, который включал названия заведений, отношение к определённым рубрикам и рейтинг, мы обучили модель на генерацию описательных текстов, которые могли бы отражать характер и уровень заведений в зависимости от их оценочной характеристики.

Читать далее

Кратко про Multi-Head RAG: решение многоаспектных задач с помощью LLM

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели1.9K

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

Современные языковые модельки обладают огромным потенциалом, но они часто сталкиваются с трудностями, когда дело доходит до решения комплексных задач, требующих доступа к разнообразным источникам данных. Multi-Head RAG объявился на нашем свете для того, чтобы изменить эту ситуацию. Эта модель сочетает генерацию и поиск информации, что позволяет ей справляться с многогранными задачами, которые традиционно сложны для обычных LLM.

Читать далее

Книжная полка разработчика в эпоху интернета и искусственного интеллекта

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели31K

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

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

Читать далее

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

Мега-Учебник Flask Глава 15: Улучшенная структура приложения (издание 2024)

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели17K

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

Начать изучение

Netmiko: упрощение сетевой автоматизации на Python

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели24K

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

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

Netmiko — это обертка над библиотекой Paramiko, разработанная для сетевых инженеров. Она упрощает работу с SSH-соединениями и добавляет ряд методов и интерфейсов для взаимодействия с сетевыми устройствами.

Этот модуль поддерживает большой спектр сетевых устройств — от Cisco и Juniper до Arista и HP. Всё, что нужно, это определить параметры устройства в виде словаря, и Netmiko позаботится обо всем остальном.

Читать далее

Алгоритм Backpropagation на Python

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

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

Алгоритм backpropagation, или обратное распространение ошибки, является некой базой для тренировки многослойных перцептронов и других типов искусственных нейронных сетей. Этот алгоритм впервые был предложен Полем Вербосом в 1974 году, а позже популяризирован Дэвидом Румельхартом, Джеффри Хинтоном и Рональдом Уильямсом в 1986 году.

Читать далее

Python logging — вывод лога на QTextWidget (PyQt6)

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели6.5K

Было консольное Python приложение, в котором пишутся логи через стандартный модуль logging. Затем прикрутил GUI на PyQt6, конечно, хочется продублировать логи в какой-нибудь виджет в уголочке. Категорически не хочется ничего менять в консольной части, и спокойно использовать дальше стандартный logging.

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

Читать далее

Telegram Боты на Aiogram 3.x: Деплой бота через Docker

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели41K

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

Дисклеймер

Цель данного руководства — не обучение Docker, а пример использования этой технологии в контекте телеграмм ботов на aiogram 3. Я не буду сильно акцентировать внимание на таких вещах, как слои, volume, docker-compos, bridge и прочей технической информации более глубокого уровня, чем необходимо для деплоя ботов на VPS сервере.

Далее вы получите пример использования Docker и общее описание методов (команд). Если вам нужны мои обучающие публикации по Docker, сообщите мне об этом любым удобным способом.

Подготовка

Для начала вам нужно обзавестись базой данных PostgreSQL. О том, как развернуть ее на VPS сервере, я писал ТУТ. Также потребуется установить Docker. Новичкам будет удобнее поставить Docker Desktop, если с технологией уже знакомы, используйте консольный вариант.

Читать далее

Руководство по началу с нуля настройки решений речевой аналитики Яндекс SpeechSense и документации по платформе

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели3.7K

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

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

В принципе в документации описан функционал, который мало отличается от других систем речевой аналитики, и это только на первый взгляд. Сюрпризом стало полное отсутствие собственных средств загрузки аудиофрагментов в систему. Всю загрузку необходимо реализовать самостоятельно. В документации описан только один способ, при помощи bash и Python под unix. Поэтому в этой статье я еще и опишу, как такие инструкции адаптировать под Windows и PowerShell.

Сама инструкция довольно короткая https://yandex.cloud/ru/docs/speechsense/operations/data/upload-data я рассчитывал справиться за пару часов, это мне не удалось. Так что Ваша выгода от прочтения статьи может составлять 2-3 рабочих дня. Или больше.

Прочитать

Он победил LLM RAG: реализуем BM25+ с самых азов

Уровень сложностиПростой
Время на прочтение18 мин
Охват и читатели36K

Привет, меня зовут Борис. Я автор телеграм канала Борис опять. Периодически мне на глаза попадается что-то интересное и я глубоко в этом закапываюсь. В данном случае это алгоритм поиска BM25+, который победил продвинутые методы векторного поиска на LLM.

Разберемся, что это за зверь и почему он так хорошо работает. В этой статье мы реализуем его на Python с нуля. Начнем с самого простого поиска, перейдем к TF-IDF, а затем выведем из него BM25+.

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

Код доступен в Google Collab.

Читать далее