Как стать автором
Обновить
457.79

Python *

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

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

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

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

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

Читать далее
Всего голосов 21: ↑21 и ↓0 +21
Комментарии 1

Новости

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

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 719

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

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

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

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

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

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

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 1

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

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

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


Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Истории

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

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

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

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 в частности), то добро пожаловать под кат.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 1

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

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

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

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 8

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

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

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

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

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 1

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

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

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

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 15

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

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

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

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

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 2

Кратко про Nameko Python

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

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

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

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

Читать далее
Всего голосов 14: ↑12 и ↓2 +10
Комментарии 2

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

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 2

Выжимаем из Random Forest максимум: увеличиваем полноту при 100% точности

Уровень сложности Средний
Время на прочтение 16 мин
Количество просмотров 2.5K

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

И вот, просматривая отдельные деревья решений, меня осенило — попробую-ка я обрезать все деревья, используемые в Random Forest, до одной, но самой эффективной ветки. И — о чудо! — заметно выросла как точность (precision), так и полнота (recall). И особенно полнота выросла на высоких уровнях точности.

Проверил этот способ на других задачах. И везде при 100% точности заметно выростала полнота. Что же я сделал?

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 4

Упорядочиваем закладки

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

У меня много статей в закладках. Многие из них я добавил, чтобы прочитать позже. Это статья не про то, почему так произошло и как с этим бороться, а про то, как выбрать статью для удаления чтения. Давайте найдем самые лучшие статьи. Критериями могут быть, например, рейтинг, просмотры и т.д. И красиво оформим в виде HTML-файла.

Пример закладок @alizar: 800+ статей.

Упорядочить!
Всего голосов 15: ↑15 и ↓0 +15
Комментарии 7

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

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн

Её величество Плоская таблица

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 7.2K

Слева красиво! Но ничего не понятно. Куча объектов с непонятными связями. Каша, какая-то.

Справа техническая красота :) Всё разложено по полочкам, всё находится под контролем. Никакие детали не могут ускользнуть от нашего внимания.

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

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 8

Аннотировать или да?

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

Что такое аннотации типов в Python?

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

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 58

Замыкания и декораторы в Python: часть 2 — декораторы

Уровень сложности Простой
Время на прочтение 11 мин
Количество просмотров 5.6K

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

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

Читать далее
Всего голосов 9: ↑7 и ↓2 +5
Комментарии 4

Градиентный бустинг. Реализация с нуля на Python и разбор особенностей его модификаций (XGBoost, CatBoost, LightGBM)

Уровень сложности Сложный
Время на прочтение 28 мин
Количество просмотров 4.4K

На сегодняшний день градиентный бустинг (gradient boosting machine) является одним из основных production-решений при работе с табличными, неоднородными данными, поскольку обладает высокой производительностью и точностью, а если быть точнее, то его модификации, речь о которых пойдёт чуть позже.

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

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 7

Безопасность веб-приложений: анализ методов защиты от атак на уровне Backend

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

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

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

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

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 2

Разбираем использование open-source Wunjo AI в ваших проектах с искусственным интеллектом и просто нейронные сети

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

Привет, дорогой Хабр! Давно не общались. Сегодня мы рассмотрим проект с открытым исходным кодом, позволяющий создавать дипфейки, клонировать речь, генерировать видео, удалять текст и объекты, а также получать изображения без фона, прямо на вашем компьютере. Поговорим о Wunjo AI и его возможностях для тех, кто еще не в курсе. В начале статьи ссылки на открытый код GitHub и установочные файлы, чтобы воспользоваться готовыми сборками. А в конце статьи я добавлю видео, в котором расскажу, какие нейронные сети применяются для работы с видео или со звуком, и как эти нейронные сети устроены и работают, либо можно спросить бота в блоге и получить ответ текстом.

Почитать
Всего голосов 13: ↑12 и ↓1 +11
Комментарии 6

Генерация коротких текстов в жанре фэнтези, по заданным параметрам

Уровень сложности Простой
Время на прочтение 10 мин
Количество просмотров 959

Добрый день! Меня зовут Александр. Меня очень интересует тематика нейронных сетей, связанных с работой с текстом. И по этому я решил пройти курс от OTUS «Natural Language Processing». В рамках выпускной работы на этом курсе, я хотел попробовать расширить знания в сфере генерации текстов и использовании различных стратегий генерации. А так как мне еще нравится стилистика жанра фэнтези, то выбор пал на генерацию текстов этого жанра. При этом хотелось попробовать генерировать не только тексты выбранной стилистики но и по заданным параметрам, например имя главного героя, место действия и др.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 3

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

Работа

Data Scientist
58 вакансий
Python разработчик
128 вакансий