Обновить
521.12

Python *

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

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

Аналитик на прокачку

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

Ни для кого не секрет, что область Data Science сегодня горяча, работы полно, рук не хватает, а 300 кк/сек можно начать зарабатывать даже раньше, чем конкуренты пройдут курсы по саморазвитию и созданию своего бизнеса от обладателей селфи со спорткарами. Мы в Х5 Group тоже активно помогаем молодым специалистам стать зрелыми мастерами, и можем заверить, что, пусть даже 300 кк/сек это утопия, но 300 к/мес – это вполне себе реальность.

Типовой кейс выглядит так: к нам приходит молодой стажер, получает ментора из числа старших сотрудников, проходит обучающие курсы в нашей Цифровой Академии Х5, наращивает компетенции, и в 3-4 месяца становится младшим аналитиком, а на самом деле Менеджером по Анализу Больших Данных, так эта позиция называется в штатном расписании. А кое-кто и сразу Старшим Менеджером, если затащил, заделиверил и продемонстрировал.

Читать далее

Пишем на Питоне сразу хорошо

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

Привет Хабр!

Сегодня я сниму костюм аниматора и вместо развлечений расскажу вам немного за питон.

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

Читать далее

Разработка большого проекта за 6 месяцев: как не облажаться

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

Я Леша Половинкин, работаю руководителем Python-разработки в AGIMA. Сегодня сказ будет о том, как разработать в очень короткие сроки с нуля классифайд для авто (а попросту огромную доску объявлений с кучей прикрученных к ней сервисов) и совершить те ошибки, которые неизбежны. 

Читать далее

DataScience Digest — 24.06.21

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

Приветствую всех!

Встречайте свежий выпуск дайджеста полезных материалов из мира Data Science & Machine Learning и не забывайте подписываться на наш Telegram-канал.

Читать далее

Mode on: Сравнить две лучшие системы автоматического оцветнения

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

image

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

Преподаватель: Петров! Как работает трансформатор?
Петров басом: У-у-у-у-у.


Google Colorizing Transformer vs Deoldify

Сравнение под катом

Выращивание Магических Квадратов с помощью Python

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

Всем доброго времени суток.

В этой статье я опишу метод получения нормальных магических квадратов порядка nm, где n и m - положительные натуральные числа, при условии, что нам известен нормальный магический квадрат порядка n

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

Читать далее

Декодирование сигнала с видеофона 1988 года выпуска

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

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

Однажды я увидел на YouTube обзор Sony PCT-15 — это устройство, сделанное в Японии, подключалось к обычной телефонной линии и позволяло не только разговаривать с собеседником, но также отправлять и получать изображения во время разговора. В то время высокоскоростная связь была доступна только для учреждений, военных и правительства, поэтому телефонная линия была единственным возможным способом связи с миром.

Читать далее

Наглядно о том, как работает NumPy

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

Есть тексты, похожие на вино или динамит: с годами они не стареют, а напротив приобретают вес и значимость. Сегодня, к старту флагманского курса о Data Science, мы решили поделиться переводом визуального учебного руководства о NumPy 2019 года, прочитав которое даже не слишком близкий к математике человек поймёт, как работает эта библиотека Python. Если вы не хотите долго объяснять NumPy, но делать это всё равно приходится, положите статью в закладки и она сэкономит ваше время.

Читать далее

Решаем систему линейных алгебраических уравнений с Python-пакетом scipy.linalg (не путать с numpy.linalg)

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


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

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

Я расскажу про один из таких инструментов — Python-пакет scipy.linalg из библиотеки SciPy, который позволяет быстро и эффективно решать многие задачи с использованием аппарата линейной алгебры.

В этом туториале вы узнаете:

  • как установить scipy.linalg и подготовить среду выполнения кода;
  • как работать с векторами и матрицами с помощью NumPy;
  • почему scipy.linalg лучше, чем numpy.linalg;
  • как формализовать задачи с использованием систем линейных алгебраических уравнений;
  • как решать СЛАУ с помощью scipy.linalg (на реальном примере).

Если можно — сделай тут habraCUT! Важно, чтобы этот ^^ список люди прочитали и заинтересовались

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

Если готовы к этому — приглашаю под кат. Хотя, честно говоря, некоторые разделы можно пропускать — например, основы работы с векторами и матрицами в NumPy (если вы хорошо знакомы с ним).
Читать дальше →

Андрей Карпати: Bitcoin на Python (часть 1)

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

Андрей Карпати — директор по искусственному интеллекту и Autopilot Vision в Tesla.

Я считаю, что блокчейн — классная штука, потому что он расширяет open source разработку софта до open source + state. Это кажется интересным нововведением в компьютерных парадигмах; Мы не просто делиться кодом, мы можем предоставить общий доступ к работающему компьютеру, и любой человек в любом месте может использовать его открыто и без разрешения. Семена этой революции, возможно, начались с биткойна, поэтому мне стало любопытно вникнуть в него более подробно, чтобы получить интуитивное понимание того, как он работает. И в духе «то, что я не могу создать, я не понимаю», что может быть лучше, чем реализовать биткойна с нуля?

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

(кстати, если визуальный формат этого поста вас раздражает, посмотрите версию jupyter notebook, у которой идентичный контент).

Шаг 1: создание крипто сущности


Для начала мы хотим создать совершенно новую криптографическую сущность, которая представляет собой всего лишь пару ключей: публичный и приватный. Биткойн использует криптографию на эллиптических кривых (Elliptic-Сurve Сryptography, ECC) вместо чего-то более распространенного, например RSA, для защиты транзакций. Я не собираюсь здесь углубляться в ECC, потому что другие проделали значительно лучшую работу, например, я считаю серию постов в блоге Андреа Корбеллини очень полезным ресурсом. Здесь мы просто напишем код, но чтобы понять, почему он работает математически, вам нужно прочитать эти посты.
Читать дальше →

Разработка платформы управления данными. Доклад Яндекса

Время на прочтение25 мин
Охват и читатели12K
Яндекс Go разрабатывает платформу управления данными (DMP) как сервис для офлайн- и near real-time-обработки данных. Я постарался рассказать, какая мотивация нужна для создания собственного ETL-инструмента, как ETL и Data Warehouse превратить в DMP, какие проблемы возникают в процессе разработки и как мы их решаем.

— Меня зовут Владимир Верстов, я руковожу разработкой DMP в Яндекс Go — той частью, которая относится к платформе. Не контентной частью, а универсальными инструментами, которые мы переиспользуем, чтобы удобным образом выстроить внутри Такси, Еды и Лавки потоки данных и другие процессы, связанные с дата-инжинирингом. Чтобы сделать сущность, позволяющую дата-инженерам, аналитикам и разработчикам бэкенда коммуницировать на уровне данных и процессов.

Начать рассказ проще всего с вопроса, что вообще такое DMP, потому что каждый под этим может понимать что-то свое: нет устоявшихся паттернов. Расскажу, как мы вообще пришли к текущему состоянию, покажу несколько примеров использования нашей платформы для Greenplum, для Spark, и постараюсь успеть подвести итоги.
Читать дальше →

ABBYY NeoML 2.0: Python и многое другое

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


Прошел почти год с тех пор, как мы опубликовали на GitHub библиотеку для машинного обучения NeoML. О чем, конечно же, была статья на Хабре. Мы обещали поддерживать и развивать ее. Свое обещание мы сдержали, и на днях свет увидела вторая версия библиотеки!

С первой версии в жизни проекта произошло много интересного: мы продолжили разработку на GitHub, освоили Azure DevOps для регулярных сборок, поддержали новые платформы, добавили немало новых и не столь новых, но очень нужных алгоритмов, добавили производительности и — самое главное — сделали для библиотеки Python интерфейс! Собственно, после окончания работ над Python оберткой библиотека и получила номер версии 2.0.

Ниже я подробнее расскажу о том, как это все происходило.
Читать дальше →

EDA становится проще, если есть SWEETVIZ

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

Sweetviz — это библиотека Python с открытым исходным кодом, которая генерирует отчеты с удобной визуализацией для выполнения EDA с помощью всего двух строк кода. Библиотека позволяет быстро создать подробный отчет по всем характеристикам набора данных без особых усилий. В возможности Sweetviz также входит целевой анализ, сравнение двух датасетов, сравнение двух частей датасета, выделенных по определенному признаку, выявление корреляций и ассоциаций, также sweetviz создает позволяет создавать и сохранять отчет как HTML файл.

Использование библиотеки

Установить библиотеку можно с помощью менеджера пакетов pip следующей командой:

Читать далее

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

Что вернёт эта функция в Python?

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

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

def foo():
try:
return 1
finally:
return 2

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

Читать далее

Нейрозапятые, или как мы оставили своих редакторов без работы (ну почти)

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

Всем привет, меня зовут Владислав Соболев – ML-инженер в компании “БАРС Груп”. Сегодня я хотел бы рассказать о том, зачем и как мы расставляем знаки препинания в текстах, сравним аналоги, и посмотрим на то, как устроена работа инструмента, который мы написали, чтобы обучать такого рода модели (ссылочка в самом конце). Начнем!

У нас в компании есть ряд ML-проектов, внутри которых используется анализ текста, в том числе и надиктованного голосом. Мы командой долго думали над тем, как можно реализовать данные проекты.

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

Читать далее

Python-скрипт для импорта банковских расходов в Splitwise

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

Если для вас важен вопрос ведения личного или семейного бюджета, или если вы часто ездите в совместные поездки с друзьями, то вы либо уже слышали про Splitwise, либо вам может быть полезно про него услышать. Splitwise - это довольно удобный сайт + приложения для iOS и Андроид, которые позволяют вести учёт совместных расходов.
В статье я рассказываю про написанную на коленке программу, которая позволяет мне упростить внесение своих трат, используя выгрузку операций из интернет-банка в формате CSV.

Читать далее

Автоматизация машинного обучения

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

Datascience – это не только fit-predict

Представим, что вы начали работать в компании, которая производит однообразные операции с бесконечными таблицами. Например, в крупном ретейлере или у ведущего оператора связи. Ежедневно перед вами ставят задачу выяснить, останется ли клиент с вами или хватит ли товара на полках до конца недели. Алгоритм выглядит просто. Вы берете выборку, изучаете бесконечные ряды признаков, удаляете мусор, генерируете новые признаки, собираете сводную таблицу. Подаете готовые данные в модель, настраиваете параметры и с нетерпением ждете заветных цифр итоговой метрики. Это повторяется день за днем. Затрачивая каждый день всего 60 минут на генерацию фич или подбор параметров, за месяц вы израсходуете минимум 20 часов. Это, без малого, целые сутки, за которые можно выполнить новую задачу, обучить нейросеть или прочесть несколько статей на arxiv’e.

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

Читать далее

22 полезных примера кода на Python

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

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

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

Ищем уязвимости в Python-коде с помощью open source инструмента Bandit

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


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

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

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

В этом туториале мы рассмотрим, как даже в очень простом коде могут появиться уязвимости и как использовать утилиту Bandit для их поиска.
Читать дальше →

Управляем звуком ПК от активности пользователя с помощью Python

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

Прочитав много статей про "распознавание лиц всего за n-ое количество строк" (например: раз, два, или даже видео), я решил повторить данные эксперименты, но уже под свою задачу. А задача очень простая - если пользователь работает за ПК (сидит перед веб-камерой, управляет мышкой), то системная громкость равна 50%, иначе если он отошёл/бездействует - выставляем 100%, чтобы не пропустить все уведомления с ПК.

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

Читать далее

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