Обновить
1024K+

Python *

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

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

Пишем асинхронный парсер и скрапер картинок на Python с графическим интерфейсом

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

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

Читать далее

Метод K-ближайших соседей (KNN). Принцип работы, разновидности и реализация с нуля на Python

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

К-ближайших соседей (K-Nearest Neighbors или просто KNN) — алгоритм классификации и регрессии, основанный на гипотезе компактности, которая предполагает, что расположенные близко друг к другу объекты в пространстве признаков имеют схожие значения целевой переменной или принадлежат к одному классу.

Читать далее

Telegram bot для наших bmw G серии часть 3

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

В трех частях я постарался описать как создать Telegram Bot для BMW G серии и разместить его на VPS. В первой части рассмотрен процесс получения данных с BMW используя учетные данные Connected drive. Во второй части рассмотрен процесс создания телеграм бота. В третьей части рассказывается о размещении данных скриптов на VPS и конфигурация linux.

Читать далее

Дерево решений (CART). От теоретических основ до продвинутых техник и реализации с нуля на Python

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

Дерево решений CART (Classification and Regressoin Tree) — алгоритм классификации и регрессии, основанный на бинарном дереве и являющийся фундаментальным компонентом случайного леса и бустингов, которые входят в число самых мощных алгоритмов машинного обучения на сегодняшний день. Деревья также могут быть не бинарными в зависимости от реализации. К другим популярным реализациям решающего дерева относятся следующие: ID3, C4.5, C5.0.

Читать далее

Общее описание и реализация Word2Vec с помощью PyTorch

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

В данной статье даётся общее описание векторного представления вложений слов - модель word2vec. Также рассматривается пример реализации модели word2vec с использованием библиотеки PyTorch. Приведена реализация как архитектуры skip-gram так и CBOW.

Читать далее

Python, JavaScript или C++? Рассказываем, какие языки программирования изучать в 2024 году

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

Высокие зарплаты, отсрочка от армии, ипотека с пониженной процентной ставкой — хорошие IT-специалисты востребованы на рынке и могут рассчитывать на льготы от государства. Для тех, кто тоже хочет стать айтишником, рассказываем, какие языки программирования популярны в 2024 году. Что выбирают разработчики и на чем пишут в топовых компаниях — разбираем в статье.
Читать дальше →

GIL в Python: как его будут отключать

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

Python-разработчики, как правило, хорошо знают, что такое и для чего нужен GIL, вопросы по нему встречаются на большинстве собеседований, я и сам люблю их задавать. Но в CPython его скоро не будет. Да, core-разработчики CPython взяли курс на его удаление.

Разберём основные концепции того, как это будет произведено, с обзором соответствующего PEP 703.

Читать далее

А/Б тестирование на маленьких выборках. Построение собственного критерия

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

Хабр, привет! Сегодня рассмотрим кейс, в котором классические статистические критерии не работают, и разберёмся, почему так происходит. Научимся строить свои собственные критерии по историческим данным. Обсудим плюсы и минусы такого подхода.

Читать далее

Бэггинг и случайный лес. Ключевые особенности и реализация с нуля на Python

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

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

Читать далее

Основные типы распределений вероятностей в примерах

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

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

Читать далее

Классификация экзопланет (часть I обработка данных)

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

В космосе есть нечто завораживающее и прекрасное, в то же время человек устроен так, что ему если ему что то не известно, то стоит этого бояться (спасибо нашим мамам папам в n-ном поколении за столь широкий диапазон восприятия информации и реагирования на неё), тем не менее всегда находились безумцы исследователи, мечтатели и просто люди, которым в лом заниматься тем, что уже итак без них придумали и хорошо работает, поэтому они стремились придумать что то новое. Кто то занимается курсами по бесконечным саморазвитиям, открывает новые виды дыхания, а также наполняет свои чакры и чувствует прилив сил, а кто-то действительно пытается обнаружить то, что обычному человеку скорее всего в ближайшие лет 50 (а может и больше) не понадобится, ведь вряд-ли мы сможем покинуть нашу солнечную систему раньше этого срока. Однако в том чтобы смотреть в ночное небо и пытаться нарисовать у себя в голове линии, которые называют большой медведицей или тот же ковш, а может и повезет увидеть млечный путь во всей своей красе, есть нечто притягательное и необычное, то что заставляет одновременно почувствовать себя, как говорят некоторые маленькой точкой, но в то же время не забываем что у нас есть микромир, для которого человек, грубо говоря уже сам является целой вселенной. Как писала Лиза Рэндалл в 'достучаться до небес', человек, он где то посередине всего этого мира.

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

Читать далее

Предварительная обработка данных для машинного обучения

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

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

Читать далее

Open Source спутниковая интерферометрия PyGMTSAR (Python InSAR)

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

С тех пор, как я рассказывал на хабре про мой открытый проект спутниковой интерферометрии PyGMTSAR (Python InSAR библиотека) для обработки и анализа радарных данных спутников Sentinel-1, прошло много времени и сегодня PyGMTSAR представляет собой наиболее мощный инструмент среди всех открытых InSAR. Притом, PyGMTSAR действительно общедоступен, поскольку не требует скачивать огромные данные, устанавливать программное обеспечение и так далее — достаточно просто открыть ссылки на Google Colab в браузере и посмотреть и запустить готовые примеры или адаптировать их для своей территории и области интереса. Предлагаемые Google Colab примеры включают в себя создание отдельных интерферограмм для анализа результатов сейсмических событий (землетрясений) и наводнений, создание рельефа, анализ серий интерферограмм для мониторинга оползней и проседаний грунта. И все эти возможности доступны в один клик онлайн на Google Colab и в Docker контейнерах. Для профессионалов предоставляется полностью программируемая среда для выполнения InSAR задач и интерактивной 3D визуализации, доступная на Google Colab, в Docker контейнерах, на GitHub Action runners, и, конечно, на локальных компьютерах и на облачных хостах.


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

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

Валидируйте это немедленно

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

Как говорилось в одном сериале: “Все врут”. Поэтому валидация данных является контрактом – этаким камнем в фундаменте бизнес-логики программы.

def handler_create_user(r: Request):
input_data = r.post()
name, email = input_data. get('name'), input_data.get('email')
if not name or not email:
raise HTTPBadRequest('name & email must have values')
return User.create(name=name, email=email, password=uuid4())

Узнали? Не согласны? Если на оба вопроса ответили “да” или просто хотите почитать размышления про валидацию в целом (и в Python в частности), то добро пожаловать под кат.

Читать далее

Две новых книги по Python от американского и российского авторов с промокодом

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

Привет, Хабр!  Мы с почином — в блоге SSP SOFT стартует новая рубрика с анонсами выхода книг по программированию и операционным системам от издательства «БХВ-Петербург». Узнав об этой инициативе, издатель подарил всем читателям Хабра специальную скидку по промокоду, который вы найдете в тексте. Начнем рубрику, пожалуй, с пары новых книг про Python, которые вышли за последний месяц. Ревью книг — не копия текста с сайта издательства, а сугубо наше мнение, после прочтения.

Читать далее

Как делить пользователей на группы в АБ-тестах: ошибки и рекомендации

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

В предыдущих статьях статья 1, статья 2, статья 3 мы рассмотрели основные подводные камни автоматизации и анализу АБ тестов, привели подробный обзор статей по этой теме, а так же рассмотрели типичные задачи аналитика данных. В контексте АБ-тестов одним из ключевых аспектов является механизм разделения на группы, который в терминологии специалистов часто называется сплитовалкой.

Может показаться, что задача элементарная - сгенерировать случайное целое число каждому пользователю с вероятностью 1/n, где n - число групп в АБ тесте. Но на практике, особенно для высоконагруженных сервисов, таких как Ozon, возникает множество архитектурных и платформенных сложностей. В данной статье мы сконцентрируемся на основных принципах деления на группы, принятых в индустрии.

Читать далее

Телеграм бот + LLM (GigaChat)

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

В данном посте я расскажу о своем опыте общения с gigachat. Меня просто утомило это американское OpenAI: vpn, проблема с пополнением и т.д. В общем, после определенного количества экспериментов с chatGPT я решил попробовать GigaChat. Во-первых это патриотично, во-вторых Сбер собрал действительно крутую команду нейронщиков, которые идут в правильном направлении, в-третьих нейро-сотрудники это сейчас топ для бизнеса основанного на консалтинге, в-четвертых Сбер дает много бесплатных токенов каждый месяц, в-пятых скорость ответа пугает даже спамеров ВКонтакте ;)) Честно говоря, Сбер самым первым из банков «поехал» на big data, что сразу дало понять о работе в сфере Ai.

Читать далее

Алгоритмы AdaBoost (SAMME & R2). Принцип работы и реализация с нуля на Python

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

Следующим мощным алгоритмом машинного обучения является AdaBoost (adaptive boosting), в основе которого лежит концепция бустинга, когда слабые базовые модели последовательно объединяются в одну сильную, исправляя ошибки предшественников.

В AdaBoost в качестве базовой модели используется пень решений (могут использоваться другие модели) — дерево с небольшой глубиной, которому присваивается вектор весов размера N, каждое значение которого соответствует определённому значению y_train и изначально равно 1 / N, где N — количество образцов в обучающей выборке. Каждый следующий пень обучается с учётом весов, рассчитанных на основе ошибок предыдущего прогноза. Также для каждого обученного пня отдельно рассчитывается вес, используемый для оценки важности итоговых прогнозов.

Читать далее

Кратко про Nameko Python

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

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

Nameko, как фреймворк для Python, предлагает удобные абстракции и инструменты для создания микросервисов, ориентированных на сообщения и события.

С Nameko можно получить не только инструмент для создания микросервисов, но и платформу для реализации распределенных систем с поддержкой Dependency Injection, позволяющей легко интегрировать различные компоненты приложения.

Читать далее

Краткий обзор токенизаторов: что это такое и зачем это надо?

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

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

Так как это сделать?

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

Но это вы так можете, а вот компьютеры — нет.

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

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

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

Читать далее