Обновить
512K+

Python *

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

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

Как улучшить точность ML-модели используя разведочный анализ

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

Привет, Хабр! Меня зовут Кирилл Тобола, я Data Scientist и сегодня я расскажу об опыте применения EDA (Exploratory Data Analysis) для улучшения точности ML‑модели.

Добро пожаловать в год 2912, где ваши DS навыки понадобятся для решения космической загадки. Мы получили сообщение с корабля на расстоянии 4 световых лет, и ситуация выглядит плохо.

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

Следуя через Альфа Центавру на пути к первому пункту назначения жаркой 55 Кансри Е, крейсер Титаник столкнулся с пространственно‑временной аномалией, скрывшейся за облаком космической пыли. К сожалению, крейсер постигла та же участь, что и одноименный корабль ровно 1000 лет назад. В то время как корабль не пострадал, почти половина пассажиров переместились в альтернативное пространство.

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

Узнать, как решить задачу!

Особенности автоматического дифференцирования в PyTorch. Часть 1

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

Привет! На связи команда «БАРС Груп». Мы разработали и совершенствуем российскую BI‑платформу Alpha BI. Это возможно благодаря таким фреймворкам, как PyTorch.

PyTorch активно развивается более пяти лет и представляет собой целую экосистему для создания моделей машинного обучения на основе глубоких нейронных сетей. У подобных ИТ‑продуктов широкий спектр применения. В частности, они помогают научному и бизнес‑сообществу проводить исследования, вести разведку данных и проверять гипотезы. Несмотря на то, что на сегодняшний день это один из самых популярных фреймворков машинного обучения в мире, в рунете пока довольно мало статей о его технических особенностях. Попытаемся это исправить.

Читать далее

О «раздутом пузыре» нейросетей

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

На днях я наткнулся на одно любопытное видео.

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

Утверждения:

1. Закон Мура больше не выполняется из-за фундаментальных физических ограничений ⇒ масштабирование нейросетевых моделей по вычислительному бюджету невозможно.

2. Нейросетевые модели внедряются слишком медленно.

3. Ответы нейросетевых моделей неконтролируемы и неинтерпретируемы.

Дальше обсудим каждое из них.

Читать далее

Как при помощи Rust в 150 раз ускорить код на Python

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

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


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


Обзор


Проблему решим в 6 шагов:


  1. Решим вопрос о том, почему функция медленная.
  2. Подготовим проект.
  3. Перепишем функцию в Rust.
  4. Скомпилируем код на Rust и разместим его в пакете Python.
  5. Импортируем пакет Python в проект.
  6. Выполним бенчмарк чистого Python и функции на Rust.

Пакет maturin скомпилирует Rust-код и преобразует его в готовый к работе пакет Python.


1. Решим вопрос о том, почему функция медленная


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

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

10 первых ошибок в карьере ML-инженера

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

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

Богдан Печёнкин, автор Симулятора ML, собрал 10 ошибок специалистов, которые зачастую встречаются в первые годы карьеры.

Узнать больше

Создание модуля WebAssembly с помощью Emscripten, AssemblyScript и Rust

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

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

Emscripten для компиляции кода, написанного на С++

AssemblyScript для компиляции кода, написанного на, собственно, AssemblyScript

wasm-pack для компиляции кода, написанного на Rust

План такой:

Во введении мы обсудим постановку задачи и немножко поговорим о технологии WebAssembly

В программной части мы реализуем функциональность модуля на трёх языках: c++, AssemblyScript и Rust. Поговорим о том, какие при этом возникают сложности и как их можно обойти

Подведём небольшой итог. Станет видно, какая технология хорошая, а какая не очень

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

Читать далее

Как сократить time2market с помощью coding kata?

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

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

За время проекта два раза поменяли команду и заказчика.

Аудит процесса производства с точки зрения time2market показал, что: долго вносятся изменения в код, долго выполняется ручное тестирование и часто после тестирования код возвращается на доработку

Первопричиной низкого time2market являлось то, что команда не владела практикой coding kata, о которой я подробно расскажу в данной статье на примере задачи "Позолоченная роза".

После применения приемов, описанных в этой статье, оставшиеся 95% проекта команда реализовала и сдала за 6 месяцев вместо прогнозируемых 48 лет, что эквивалентно сокращению time2market в 96 раз.

Читать далее

Python модули и пакеты

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

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

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

Читать далее

Python для детей

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

До того, как стать преподавателем в университете, я вёл программирование в детском технопарке Кванториум. Это такой центр дополнительного школьного образования куда дети приходили после уроков и изучали программирование, робототехнику, биологию и т.д. Конкретно я вёл занятия по Python, C++ и Arduino.

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

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

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

Читать далее

Пишем сервис для сокращения ссылок на Django, DRF

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

В этой статье мы напишем сервис для сокращения ссылок на Django, DRF.

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

Итак, что мы имеем.

Читать далее

Как разработать Telegram-бота для генерации сложных паролей

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

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

Ipynb — кто это и с чем его есть?

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

Статья о jupyter notebook.

К сожалению я не нашёл на Хабре не одной статьи о jupyter для python, собственно решил и написать. Всем добра!

Читать далее

ТОП горячих клавиш VS Code для начинающего джуна

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

«Поговорим не про Vim», олдам, сеньорам и тру-си-разработчикам на проверку: пользуетесь ли вы такими сочетаниями VS Code? Если же вы только начинаете программировать, влетаете в айти на реактивном самолете курсов по Питону, или просто не знаете ничего про хоткеи VS Code, возможно вам точно пригодится парочка сочетаний :)

Читать далее

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

Об экшн-трансформере как следующем этапе развития модели трансформер и не только

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

В последний год многие интересующиеся технологиями искусственного интеллекта замерли в ожидании и следят за развитием интересного стартапа. Он собирается предложить миру новый способ взаимодействия с компьютером и радикально усовершенствовать этот процесс…
Читать дальше →

Обработка естественного языка (NLP). Личный опыт — мой первый запуск BERT

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

BERT — Bidirectional Encoder Representations from Transformers

Здесь не будет рассказываться о том, что такое BERT, как это работает и для чего применяется — в сети об этом достаточно информации.

Это статья про личный опыт — как конкретно у меня получилось запустить BERT с чистого Colab по конкретным описаниям.

Читать далее

Как изучать язык Python для веб-разработки в 2023 году. Общие ориентиры

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

Привет, Хабр! Меня зовут Тимофей, я Python Engineer с опытом в 3+ года.

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

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

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

Мой алгоритм шифрования «маской» на Python

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

Всем хаброчитатилям привет, для начала расскажу что из себя представляет алгоритм "маской" (название придумал я).

Читать

Методы анализа A/B тестов: как выбрать правильный метод для каждого типа метрик и размера выборки

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

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

Читать далее

Топ вопросов на Junior собеседованиях

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

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

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

Читать далее

Сколько стоит содержать виртуальную девушку? Создаем подругу, записывающую кружочки в Telegram, с помощью 4 нейросетей

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

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

Поговорим о технической стороне. Как повторить этот шедевр и можно ли обойтись без сервисов OpenAI, которые сложно оплатить в России? И главное — сколько придется инвестировать в виртуальную подругу.
Читать дальше →