Обновить
512K+

Python *

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

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

Соглашение Эйнштейна и einsum

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

Удивительное дело, но в русскоязычном сегменте интернета почти нет материала, разъясняющего понятным языком соглашение Эйнштейна о суммировании. Не менее удивительно то, что материалов, позволяющих понять принцип работы функции einsum в русскоязычном интернете ещё меньше. На английском есть довольно развёрнутый ответ о работе einsum на stack overflow, а на русском только некоторое число сайтов, предоставляющих кривой перевод этого самого ответа. Хочу исправить эту проблему с недостатком материалов, и всех, кому интересно приглашаю к прочтению!

Погрузиться в einsum

Как ленивый работящему помог. Ещё один скрипт для релиза подкаста

Время на прочтение12 мин
Охват и читатели7.7K
Было время, когда у меня уже были дети, стабильная работа, камри, уроки английского и три раза в неделю бассейн. В общем такой себе состоявшийся мужчина. И я размышлял "Ну зачем мне питон? На работе совсем нет задач для автоматизации". Ни единого раза с того момента я не оказывался на столь высоком пике Даннинга-Крюгера (брата Баадера-Майнхофа, если что).

Но на курсы я тогда всё же сходил.

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

Ниже старая как кости мамонта история о появлении yet another убер-скрипта для механизации рутины. Началась она с попытки распарсить RSS, а закончилась системой полного релизного цикла подкаста.


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

Читаем telegram-каналы в виде новостной ленты (+ бонусом rss)

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

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

Одно время, когда ВК начал пихать в ленту свои рекомендации (неотключаемые вообще никак), я пользовался адблоком, альтернативными андроид-клиентами (kate mobile), но все эти полумеры напрягали.

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

Поэтому я решил написать свою ленту для телеграма, с репостом и стикерами.

Читать далее

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

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

Широкое распространение в последние годы получили программы, которые пытаются предсказать, какие объекты будут интересны пользователю, имея определенную информацию о его профиле. До 2006 года такие алгоритмы не пользовались популярностью. Но все изменилось осенью 2006 года, когда компания Netflix предложила разработчикам 1 000 000$ за лучший алгоритм предсказания. Конкурс продлился 3 года.

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

Читать далее

Python в Visual Studio Code – февральский релиз 2021

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

Мы рады сообщить, что стал доступен релиз расширения Python для Visual Studio Code от февраля 2021 года. Вы можете загрузить расширение Python из Marketplace или установить его прямо из галереи расширений в Visual Studio Code. Если у вас уже установлено расширение Python, вы также можете получить последнее обновление, перезапустив Visual Studio Code. Вы можете узнать больше о поддержке Python в Visual Studio Code в документации.

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

Больше подробностей под катом!

Читать далее

Порт GUI фреймворка с Python на Go. Анализ граблей и плюшек

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

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

Узнать почему и что вышло

Избегайте рекурсии в Python: вспомните о замыкании

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


Вот что получается, когда кандидат наук заморачивается рекурсией…

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

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

Приятного чтения!

Расширяющийся нейронный газ

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

При проведении проверок с использованием моделей машинного обучения одной из часто решаемых задач является задача кластеризации. Например, необходимо разбить на несколько кластеров отзывы клиентов на мобильное приложение (задача тематического моделирования). Для задач кластеризации часто используют модель k-means. Это обусловлено её простотой и понятностью. Однако, у этого алгоритма есть один большой недостаток - необходимость изначально задать число кластеров. Эта проблема прекрасно решается с помощью расширяющегося нейронного газа.

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

1)    Генерация первых двух нейронов случайным образом

2)    На каждом шаге итерационного процесса берется один элемент данных. Два ближайших к нему нейрона двигаются в его сторону

3)    Между наиболее часто перемещающемуся нейроном и его ближайшим соседом создается новый нейрон

4)    Удаляются связи, если соединенные им нейроны вместе не передвигаются, и нейроны без связей

Рассмотрим этот итерационный алгоритм на примере со следующими данными.

Читать далее

Поговорим о RFM-анализе

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

Добрый день уважаемые читатели! О данном методе сегментации клиентов по давности покупок, частоте и сумме сделок написано довольно много материалов. На просторах Интернета вы без труда найдете публикации с описанием теории и практики rfm-анализа. Он может выполняться как на платформе табличного редактора (при небольшом количестве данных), так и с помощью sql-запросов или силами тематических библиотек Python/R. Методология всех примеров одна и та же, расхождение будет только в деталях. Например, порядок присвоения номеров сегментам или принцип деления на группы. Ввиду всего вышеизложенного мне будет трудно привнести новизну в эту тему. В статье я лишь постараюсь заострить ваше внимание на некоторых моментах, которые могут помочь начинающим аналитикам данных.

Читать далее

Семейный бюджет, Google sheets и Python

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

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

Сегодня расскажу еще одну историю из своей жизни - в этот раз не про свой “чудо-сервер” в двух частях, а про что-то более приземленное, но так или иначе связанное с технологиями. По моему субъективному мнению подсчет личных финансов крайне полезное занятие и я очень надеюсь, что данная статья замотивирует вас или поможет вам начать “считать деньги” и не влезать в кредиты и т.п.

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

Где деньги, Билли?

Опыт написания IDL для embedded

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

Я при работе с микроконтроллерами часто сталкивался с бинарными протоколами. Особенно, когда есть несколько контроллеров. Или же используется bluetooth low energy и необходимо написать код для обработки бинарных данных в характеристике. Помимо кода всегда требуется понятная документация.

Всегда возникает вопрос - а можно ли описать как-то протокол и сгенерировать на все платформы код и документацию? В этом может помочь IDL.

Читать далее

Application performance management (APM) от Broadcom для мониторинга производительности приложений (включая мобильные)

Время на прочтение8 мин
Охват и читатели7.6K
Всем привет! В этой статье расскажем о возможностях мониторинга производительности приложений одного из лидеров квадранта Gartner c APM-решениями — Broadcom.

image

Appdynamics, Dynatrace и New Relic достаточно известны на российском рынке. Broadcom чуть менее знаком, этакая серая лошадка, однако, имеет не уступающий всем троим функционал мониторинга приложений. А использование APM-решения от Broadcom в комплексе с другим их продуктом, зонтичной AIOps-системой DX Operations Intelligence, позволит создать единое окно мониторинга для разнокалиберного ПО и инфраструктуры. Под катом текст и скриншоты.
Читать дальше →

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

Import or from import, that is the question

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

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


Например, что лучше: import module или from module import function?


Я решил разобраться в этом чуть поглубже, ответы на StackOverflow меня не удовлетворили.


Для тех, кому лень читать: все варианты хороши.


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

Мой опыт работы с EEG гарнитурой EMOTIV EPOC+

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

Я студент третьего курса и меня всегда интересовала работа мозга. В ноябре по счастливому стечению обстоятельств появилась возможность поработать с нейрогарнитурой Emotiv Epoc+. Данную статью можно рассматривать как краткий список того, на что стоит обратить внимание при работе с ЭЭГ и Emotiv Epoc+ в частности.

Читать далее

Как написать простого бота для ВК и Телеграм

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


Мы уже упоминали, как мы предоставляем бесплатные VPS для студентов, чтобы они учились программировать. Один из наших подопечных Павел сделал простеньких телеграм и ВК ботов для FAQ. Они очень простые, тем не менее, начинающему программисту не помешают комментарии опытных ребят — поэтому публикуем его рассказ — Павел будет рад, если в комментариях ему дадут советы.
Читать дальше →

Как я сделал веб-фреймворк без MVC — Pipe Framework

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

Проработав фулстек разработчиком около 10 лет, я заметил одну странность.


Я ни разу не встретил не MVC веб-фреймворк. Да, периодически встречались вариации, однако общая структура всегда сохранялась:


  • Codeigniter — мой первый фреймворк, MVC
  • Kohana — MVC
  • Laravel — MVC
  • Django — создатели слегка подменили термины, назвав контроллер View, а View Template'ом, но суть не изменилась
  • Flask — микрофреймворк, по итогу все равно приходящий к MVC паттерну

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

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

Языку программирования Python исполнилось 30 лет

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


Время идет быстро, и Python, одному из самых популярных языков программирования современности, исполнилось 30 лет. Впервые о нем стало известно в конце февраля 1991 года, когда Гвидо ван Россум опубликовал первый выпуск Python в группе alt.sources.

Работа над языком велась два года, изначальной задачей было создание скриптового языка для работы с операционной системой Amoeba. Язык этот должен был быть более высокого уровня, чем Си, плюс представлял бы удобный доступ к системным вызовам операционной системы.
Читать дальше →

Pythonista. Привет, Python

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

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

Читать далее

Краткость — сестра таланта: Как сделать Transformer/Summarizer на Trax

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

В новой курсеровской специализации «NLP» от deeplearning.ai в качестве библиотеки глубокого обучения используется Trax. В последнем курсе подробно разбирается механизм внимания и его использование в архитектуре Transformer, в том числе в таких «новеллах» как BERT и T5. Имея немного свободного времени, специализацию можно пройти за несколько недель, что я собственно и сделал, соблазнившись возможностью построить собственный трансформер с нуля. Очень хотелось сделать модель, которая может работать с текстами на русском языке.

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

Читать далее