Обновить
815.4

Python *

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

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

Функция property() в Python: добавляем управляемые атрибуты в классы

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

Из этого руководства вы узнаете, как:

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

Мы также рассмотрим практические примеры, в которых property() используется для валидации входных данных, динамического вычисления значений атрибутов, логирования и других целей.

Читать далее

ИИ в Крипто-Торговле: Возможен ли Успех? (Часть 1)

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

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

Читать далее

Создание RESTful API с помощью Django и Django REST Framework

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

В современном мире веб-разработки API (Application Programming Interface) обеспечивает взаимодействия между различными приложениями и сервисами.
REST API, стали стандартом для создания веб-сервисов благодаря их простоте и гибкости.

Наша сегодняшняя цель - подробно разобраться в процессе создания REST API с использованием Django и Django REST Framework, разбираясь в каждом шаге и его значение. Мы также рассмотрим, почему создание API важно и как это может быть полезно в ваших будущих проектах.

Читать далее

Python REST API: Flask, Connexion и SQLAlchemy (часть 2)

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

Это перевод статьи от Philipp Acsany

В этой второй части серии вы узнаете, как:
- Использовать SQL-инструкции в Python
- Настраивать базу данных SQLite для вашего проекта Flask
- Использовать SQLAlchemy для хранения объектов Python в базе данных
- Работать с базой данных через REST API
- Сериализовывать и десериализовывать JSON в объекты Python через Marshmallow

Читать далее

Chronos от Amazon: революция в обработке временных рядов

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

Часть 1. Как создавался Chronos

Привет, Хабр. Для начала, разрешите представиться. Меня зовут Елисеев Сергей, работаю аналитиком в лаборатории ИИ компании ООО «ОЦРВ». В  рамках корпоративной деятельности нам часто приходится иметь дело с временными рядами. Нужно отметить, что мы исследуем не только решения и результаты применения классических методов машинного обучения, но и изучаем новые технологии и подходы к работе с большими данными.  В процессе  анализа SOTA решений, наткнулся на очень интересный фреймворк для прогнозирования временных рядов Chronos, который компания Amazon выкатила в опенсорс в мае 2024 года. С удивлением обнаружил, что на Хабре пока ничего про него нет и решил поделиться, так как инструмент вполне годный. Поскольку информации о нашем исследовании собралось довольно много, я решил разбить статью на две части: теоретическую и практическую. Сразу оговорюсь, изложенная в первой части информация это конспект переведенной мной официальной документации по Chronos, а во второй – результаты экспериментов с Chronos как на общедоступных данных с Kaggle (знаменитый Dow Jones Index), так и на корпоративных данных (предсказание инцидентов на различных участках  железной дороги).

 Итак, погнали…

Прогнозирование временных рядов.

Прогнозирование временных рядов является важным компонентом принятия решений в различных областях, включая розничную торговлю, энергетику, финансы, здравоохранение и климатологию. Традиционно прогнозирование доминировалось статистическими моделями, такими как ARIMA и ETS. Эти модели служили надежными инструментами, по крайней мере, до недавнего перехода к методам глубокого обучения (Hyndman & Athanasopoulos, 2018; Benidis et al., 2022). Этот переход можно объяснить доступностью больших и разнообразных источников данных временных рядов, а также возникновением операционных задач прогнозирования (Kolassa & Januschowski, 2019), которые подчеркивают сильные стороны моделей глубокого обучения, как пример, способность извлекать шаблоны из большого количества временных рядов. Несмотря на их впечатляющую производительность, модели глубокого обучения все еще работают в стандартном режиме обучения и прогнозирования на одном и том же наборе данных. Хотя были проведены работы, посвященные трансферному обучению (Ye & Dai, 2018) и адаптации к доменам (Jin et al., 2022) для прогнозирования, область еще не пришла к единой, универсальной модели прогнозирования, что остается важной целью для исследователей временных рядов.

Читать далее

Мой первый и неудачный опыт поиска торговой стратегии для Московской биржи

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

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

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

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

Раз мой торговый робот создан в среде исполнения JavaScript Node.js, то и тесты в идеале должны проводится на чём-то схожем. Но забегая немного вперёд скажу что получилось по другому - Python пришёл на помощь.

Разбираюсь и ищу 📈

Дообучаем языковую модель GPT2 с помощью Torch

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

Дообучаем языковую модель GPT2 с помощью Torch

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

Читать далее

Двусвязный список в Python: простой инструмент для сложных задач

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

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

Эта статья написана для новичков, которые только начинают осваивать структуры данных на Python. Сегодня мы рассмотрим замечательную и очень полезную структуру — двусвязный список.

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

Начнем с основ, разберемся, как они работают, где их реально стоит применять и как реализовать двусвязный список с нуля (да, на время забудем про библиотеку collections и её deque).

Читать далее

Увеличиваем размер выборки и прокрашиваем серые метрики: неочевидная ошибка при проведении А/B — тестов

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

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

Читать далее

Что такое Puppeteer и как его использовать для веб-скрапинга | Полное руководство 2024

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

Это полное руководство расскажет о том, что такое Puppeteer и как эффективно использовать его для веб-скрапинга

Читать далее

7 продвинутых приемов pandas для науки о данных

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

Pandas — это основная библиотека для работы с данными. Вот несколько приёмов, которые я использую, чтобы быстрее и проще выполнять повторяющиеся задачи по работе с данными.

Читать далее

Дополнение к Litchi

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

Почитав эту статью: https://habr.com/ru/articles/684858 (особенно заинтересовали Waypoints) и обзаведясь коптером DJI, пришел к выводу - да, классно, здорово, но не удобно. Если стоит задача облететь и снять видео поля площадью пару десятков гектаров, то ставить ручками точки маршрута не очень удобно. Занимает много времени.
///

Читать далее

Телеграм не бот, REST API wrapper для управления аккаунтом но не ботом

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

Давно пишу ботов для телеграмм, использую golang. Понадобился функционал - сканировать каналы по ссылке. Бот такое не может, это уже более сложное апи, порылся - нашел библиотеку на golang, попробовал - сложно. Нашел на питоне - проще. Но на питоне не хочется. Так родилась идея сделать простую обертку REST API для основного функционала: вступить в группу, прочитать сообщения, узнать информацию о группе, написать сообщение, и чтобы курлом все работало...

Читать далее

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

Разбей и властвуй: как создать кастомный токенизатор в SpaCy

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

Привет, Хабр! В этой статье расскажем вам о том, как создавать собственные токенизаторы с SpaCy. Да-да, тот самый SpaCy, который мы все знаем и любим.

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

Читать далее

30k аудиозаписей: наводим порядок

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

Зачем писать дневник, если можно его надиктовывать? Казалось бы, здравая мысль, но как потом с ним работать? И нужен ли он вообще в таком виде? Сейчас есть довольно большое количество программ, которые сразу сделают speech‑to‑text, и проблемы не будет. А что, если такая идея возникла «‑дцать» лет назад, когда деревья были большими, а в телефонах только‑только появилась функция «диктофон»? За многие годы в нашей домашней видеотеке накопилось более 30 000 таких записей. Пришла пора разложить всё по полкам, конечно же, с «преферансом и куртизанками».

Читать далее

Кроссплатформенные приложения на Python с Flet и FastAPI: Полное руководство по разработке

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

Сегодня я покажу вам, что для создания полноценных кроссплатформенных приложений достаточно одного языка — Python. С помощью всего нескольких библиотек и фреймворков можно легко обойтись без JavaScript для веб-разработки, без Kotlin и Swift для мобильных приложений и даже без C++ для десктопных программ. В этой статье разберем, как, используя Flet и FastAPI, можно создавать мощные и удобные решения для любой платформы!

Читать далее

MoexBuilder: как я создаю библиотеку на Python. Часть 3

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

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

Читать далее

Pygame для начинающих программистов. Статья вторая. События

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

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

Разделим его на три условных раздела:

Читать далее

Tech каналы Telegram

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

Телеграм сейчас является основным источником контента для многих. У Хабра тоже есть канал t.me/habr_com, его читает более 100 000 подписчиков. Кроме этого, о технологиях есть тысячи других каналов. Сколько их? Какая у них аудитория? Где найти данные? Разберемся в статье.

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

Существуют агрегаторы данных телеграм типа tgstat (https://tgstat.ru/). Один из способов - парсинг данных агрегаторов. Варианты с ботами, виртуальными аккаунтами показались более затратными, поэтому парсил несколько агрегаторов.

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

Сегодня расскажу про tech каналы с этой страницы (https://tgstat.ru/tech). Это каналы категориии 'Технологии', Россия. Периодически читаю каналы этой категории, ну и канал Хабра там есть. Поэтому, реллевантно будет здесь расказать именно о технологических каналах.

Читать далее

Автоматизированное тестирование API с использованием Python. Работа с JSON и JsonPath

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

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

В этой статье я даю краткий обзор: в основном это структура данных вида key: value, содержащая примитивные типы данных, такие как строка, логическое значение, числа, а также массивы. JSON очень похож на словарь в Python. 

Читать далее

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