Обновить
512K+

Python *

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

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

Подбор важности фич для k-nearest neighbors (ну или других гиперпараметров) спуском похожим на градиентный

Время на прочтение18 мин
Охват и читатели5.5K
Истинный ерундук может не только исполнить неисполнимое, но и послужить предостерегающим примером

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

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

В Python и DS я, сказать мягко, новичок, и многие вещи, которые можно реализовать в одну команду по своей старой программистской привычке делаю кодом, за что Python наказывает замедлением даже не в разы, а на порядки. Поэтому весь свой код я выкладываю в репозиторий. Если знаете как реализовать сильно эффективнее — не стесняйтесь, правьте там, или пишите в комментариях. https://github.com/kraidiky/GDforHyperparameters

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

Коронавирус: мы все умрём?

Время на прочтение17 мин
Охват и читатели55K
Что мы говорим Богу смерти? — Не сегодня.
Сирио Форель, сериал «Игра престолов».


Насколько действительно опасен коронавирус COVID-19? Сколько людей умрёт от коронавируса в мире? А сколько – в России? Так ли необходимы жесткие меры, принимаемые для борьбы с коронавирусом в большинстве стран мира? Что принесет больше ущерба: смерть людей от коронавируса или падение экономики, вызванное ограничительными мерами?

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

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

Автоматизация обслуживания клиентов: An End-To-End решение от DeepPavlov

Время на прочтение7 мин
Охват и читатели4.1K
Сегодня мы все чаще используем приложения для обмена мгновенными сообщениями (Facebook Messenger, WhatsApp, Telegram и т. д.) и устройства в виде голосовых помощников (Amazon Echo и Google Home и т. д.), помогающих получать моментальный ответ на запрос. Поэтому современные компании закладывают значительный бюджет в разработку искусственных помощников, чтобы предоставлять своим пользователям наилучший клиентский сервис, когда это необходимо. В этой статье мы расскажем, как использовали технологию искусственного интеллекта DeepPavlov для расширения возможностей обслуживания клиентов компании Интерсвязь.


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

Как избавиться от размытых фотографий с помощью Python

Время на прочтение6 мин
Охват и читатели11K
Когда мы делаем большую серию снимков, часть из них получается нечеткими. С такой же проблемой столкнулась крупная автомобильная компания. Часть фотографий при осмотре авто получались размытой, что могло негативно влиять на продажи.

Некачественные снимки напрямую снижают прибыль.


  • Как приложению распознавать нечеткие фотографии на уровне алгоритма?
  • Как измерить четкость RGB-изображения?


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

Тестирование производительности Python ORM методом, основанном на бенчмарке TPC-C

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

При написании приложений на Python, для работы с базами данных часто используются объектно-реляционные мапперы (ORM). Примерами ORM являются SQLALchemy, PonyORM и объектно-реляционный маппер, входящий в состав Django. При выборе ORM довольно важную роль играет её производительность.


На Хабре, да и в интернете в целом, можно найти не один тест производительности. Как пример качественного бенчмарка python ORM можно привести бенчмарк от Tortoise ORM (ссылка на репозиторий). Данный бенчмарк анализирует скорость работы шести ORM для одиннадцати различных видов SQL-запросов.


В целом бенчмарк от tortoise хорошо позволяет оценить скорость выполнения запросов при использовании разных ORM, но у такого подхода к тестированию я вижу одну проблему. ORM зачастую используют в веб приложениях, где одновременно несколько пользователей могут посылать различные запросы, но я не нашел ни одного бенчмарка, оценивающего работу ORM при таких условиях. Вследствие этого я решил написать свой бенчмарк и сравнить с помощью него PonyORM и SQLAlchemy. За основу я взял бенчмарк TPC-C.

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

LDA на статьях LiveJournal + визуализация

Время на прочтение3 мин
Охват и читатели2.4K
Как-то раз стало интересно, какие темы выделит LDA (латентное размещение Дирихле) на материалах «Живого Журнала». Как говорится, есть интерес — нет проблем.

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


Картинка взята из Википедии
Читать дальше →

Применение библиотеки FuzzyWuzzy для нечёткого сравнения в Python. Расстояние Левенштейна (редакционное расстояние)

Время на прочтение5 мин
Охват и читатели87K
У него не было уверенности, что он правильно расслышал. От этого так много зависело! Но не переспрашивать же? (с) Борис Акунин. Весь мир театр.

Работая над голосовым помощником, который упоминается в предыдущей статье, понял, что просто не могу с вами не поделиться прекраснейшей библиотекой FuzzyWuzzy.
Читать дальше →

Прогнозирование временных рядов с помощью рекуррентных нейронных сетей

Время на прочтение16 мин
Охват и читатели117K
Удалённый режим работы на фоне всеобщей самоизоляции может привести к весьма дурным последствиям. И эмоциональное выгорание – это ещё куда ни шло: там ведь и до крыши недалеко. В этой связи, как и многие, попробовал «успокоить» себя выделением времени на другие занятия – и начал переводить наиболее интересные статьи с английского языка на русский: «Даёшь машинлёрнинг в массы!».) Нужно воздать должное: здорово отвлекает. Если у вас есть предложения как по смысловому наполнению, так и по переводу данного текста для русскоязычного читателя, присоединяйтесь к обсуждению.

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

Подборка статей о машинном обучении: кейсы, гайды и исследования за март 2020

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


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

9 лучших опенсорс находок за март 2020

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

Доброго карантинного апреля, дамы и господа. Подготовил для вас подборку самых интересных находок из опенсорса за март 2020.


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


В сегодняшнем выпуске.
Технологии внутри: Rust, TypeScript, JavaScript, Go, Python.
Тематика: веб разработка, тестирование, инструменты разработчика, администрирование и документирование.


Прошлый выпуск (аж ноябрь 2019!).

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

Covid-19: зачем мы сидим на карантине, и ответы на другие вопросы

Время на прочтение7 мин
Охват и читатели53K
Привет Хабр.

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

КДПВ не будет, картинка с вирусом уже наверно и так всем надоела.

Статья рассчитана на широкую аудиторию, те кто всё это уже знают, могут не тратить свое время, вряд ли они найдут что-то новое. Я знаю, что многим не нравятся статьи формата «для чайников», но готов рискнуть. Тех кому интересно, приглашаю под кат. Как хабрабонус, в конце будет Python-код для желающих поэкспериментировать с графиками самостоятельно.
Читать дальше →

Почему будущее не за Python

Время на прочтение6 мин
Охват и читатели37K
Хотя, безусловно, этот язык программирования будет востребован ещё много лет.



Сообществу программистов понадобились десятилетия, чтобы по достоинству оценить Python. С начала 2010-х годов он переживает бум — и в итоге превосходит C++, C#, Java и JavaScript по популярности.

Но до каких пор эта тенденция будет сохраняться? Когда Python в конечном итоге будет заменён другими языками и почему это неизбежно произойдёт?
Читать дальше →

Как на Python подобрать экипировку для игрового перса

Время на прочтение18 мин
Охват и читатели11K
Учимся находить лучшее для своего разбойника при помощи программирования. Также разбираемся, не водит ли нас программа «за нос».

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

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

ETL процесс получения данных из электронной почты в Apache Airflow

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


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

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

Создание Python-обвязки для библиотек, написанных на C/C++, с помощью SIP. Часть 2

Время на прочтение24 мин
Охват и читатели6.7K
В первой части статьи мы рассмотрели основы работы с утилитой SIP, предназначенной для создания Python-обвязок (Python bindings) для библиотек, написанных на языках C и C++. Мы рассмотрели основные файлы, которые нужно создать для работы с SIP и начали рассматривать директивы и аннотации. До сих пор мы делали обвязку для простой библиотеки, написанной на языке C. В этой части мы разберемся, как делать обвязку для библиотеки на языке C++, которая содержит классы. На примере этой библиотеки мы посмотрим, какие приемы могут быть полезны при работе с объектно-ориентированной библиотекой, а заодно разберемся с новыми для нас директивами и аннотациями.
Читать дальше →

Перспективны ли просевшие акции? Проанализируем с помощью python

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

Проанализируем динамику акций аутсайдеров и лидеров


Недавно прочитал статью о том, что акции-аутсайдеры (те, что максимально упали в цене за месяц) индекса Мосбиржи имеют бОльшие перспективы роста, нежели в среднем по индексу.

В данном исследовании рассмотрю


  1. динамику акций аутсайдеров и лидеров роста (период 30 дней)
  2. Имеет ли смысл покупать на просадках и играть на понижение после значительного роста

Важно! Я буду рассматривать абсолютно каждый день по всем акциям, соответственно многие просадки будут дивидендными гэпами (идея — рассмотреть все отклонения).

Буду рассматривать акции индекса Мосбиржы (только акции с долей в индексе >0,5%), а именно:
Читать дальше →

Начни зарабатывать на софте: cоздание mini-digital-business

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


Сидя на freelance видел много раз задачи по сбору БД. Чаще всего просят собрать информацию о компаниях или специфические запросы на Google, Yandex картах.

Есть спрос, давайте создавать предложения, но обо всём по порядку.
Читать дальше →

Самоходная платформа на МК esp8266 с micropython

Время на прочтение5 мин
Охват и читатели12K
Привет, Хабр!

Эта статья описывает страдания начинающего процесс изготовления самоходной платформы на базе МК esp8266 с micropython, управляемой через встроенный веб-сервер.

КДПВ:



Интерфейс:
image

Создание Python-обвязки для библиотек, написанных на C/C++, с помощью SIP. Часть 1

Время на прочтение29 мин
Охват и читатели25K
Иногда во время работы над проектом на языке Python возникает желание использовать библиотеку, которая написана не на Python, а, например, на C или C++. Причины для этого могут быть разные Во-первых, Python — язык замечательный, но в некоторых ситуациях недостаточно быстрый. И если вы видите, что производительность ограничена особенностями языка Python, то имеет смысл часть программы написать на другом языке (в этой статье мы будем говорить про C и C++), оформить эту часть программы в виде библиотеки, сделать Python-обвязки (Python bindings) поверх нее и использовать полученный таким образом модуль как обычную Python-библиотеку. Во-вторых, часто случается ситуация, когда вы знаете, что есть библиотека, которая решает требуемую задачу, но, к сожалению, эта библиотека написана не на Python, а на тех же C или C++. В этом случае также мы можем сделать Python-обвязку над библиотекой и пользоваться ей, не задумываясь о том, что библиотека изначально не была написана на Python.
Читать дальше →

Как я сгенерировал на Python тысячу лиц для своей игры

Время на прочтение3 мин
Охват и читатели32K
На определённом этапе разработки своей игры я осознал, что мне нужна система диалогов с лицами-аватарами.

Поэтому я решил создать генератор лиц на основе знаменитой игры Papers, Please.


Генератор лиц Dukope (из Papers, Please)

Сбор данных


Я скачал примерно 50 портретов с pixabay.com (все изображения имеют лицензию CC и не требуют указания авторства).

Затем я вырезал фон каждого изображения в Photoshop (просто выбрал всё инструментом выделения многоугольника и нажал на Delete). В дальнейшем я планировал воспользоваться эффектом cutout , чтобы скрыть все недочёты.


Изображения с удалённым фоном
Читать дальше →