Pull to refresh
36
0
Миша Генаев @genaev

User

Send message

Apache Airflow: делаем ETL проще

Reading time25 min
Views154K

Привет, я Дмитрий Логвиненко — Data Engineer отдела аналитики группы компаний «Везёт».


Я расскажу вам о замечательном инструменте для разработки ETL-процессов — Apache Airflow. Но Airflow настолько универсален и многогранен, что вам стоит присмотреться к нему даже если вы не занимаетесь потоками данных, а имеете потребность периодически запускать какие-либо процессы и следить за их выполнением.


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



Что обычно видишь, когда гуглишь слово Airflow / Wikimedia Commons

Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments28

Airflow — инструмент, чтобы удобно и быстро разрабатывать и поддерживать batch-процессы обработки данных

Reading time7 min
Views210K

image


Привет, Хабр! В этой статье я хочу рассказать об одном замечательном инструменте для разработки batch-процессов обработки данных, например, в инфраструктуре корпоративного DWH или вашего DataLake. Речь пойдет об Apache Airflow (далее Airflow). Он несправедливо обделен вниманием на Хабре, и в основной части я попытаюсь убедить вас в том, что как минимум на Airflow стоит смотреть при выборе планировщика для ваших ETL/ELT-процессов.


Ранее я писал серию статей на тему DWH, когда работал в Тинькофф Банке. Теперь я стал частью команды Mail.Ru Group и занимаюсь развитием платформы для анализа данных на игровом направлении. Собственно, по мере появления новостей и интересных решений мы с командой будем рассказывать тут о нашей платформе для аналитики данных.

Читать дальше →
Total votes 29: ↑26 and ↓3+23
Comments26

Жизнь замечательной картошки и современные технологии

Reading time24 min
Views18K
Поступая в аграрную академию, я не думал, что когда-нибудь стану сотрудником ИТ-компании. Подозреваю, что служба персонала ЛАНИТ тоже не ожидала, что будет собеседовать агрономов. И вот уже в штате «ЛАНИТ-Интеграции» у меня возникло желание написать в блог на Хабре и ближе познакомить коллег с сельскохозяйственной культурой, с которой мне довелось работать не один год и которая по праву называется «вторым хлебом». Хочется немного расширить представление об этом интересном растении, рассказать о современных технологиях, которые помогают получать хорошую урожайность.

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

На примере того, как цифровые технологии влияют на повышение урожайности картофеля, мы сегодня и рассмотрим положительную синергию растениеводства и ИТ.

Источник

Картофель! Что не специалист может сказать об этом растении? Овощ, происходит из Южной Америки, завезен в Россию Петром Алексеевичем из Голландии, нудно и скучно выращивается и собирается на приусадебных участках. На этом познания о картофеле у большинства заканчиваются. 
Total votes 82: ↑81 and ↓1+80
Comments56

Мелкая питонячая радость #11: реактивное программирование, парсинг страниц и публикация моделей машинного обучения

Reading time4 min
Views7K

image


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

Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments4

Самая сложная задача в Computer Vision

Reading time13 min
Views67K
Среди всего многообразия задач Computer Vision есть одна, которая стоит особняком. К ней обычно стараются лишний раз не притрагиваться. И, если не дай бог работает, — не ворошить.
У неё нет общего решения. Практически для каждого применения существующие алгоритмы надо тюнинговать, переобучать, или судорожно копаться в куче матриц и дебрях логики.

Статья о том как делать трекинг. Где он используется, какие есть разновидности. Как сделать стабильное решение.
Total votes 127: ↑127 and ↓0+127
Comments42

Склеиваем несколько фотографий в одну длинную с помощью компьютерного зрения

Reading time4 min
Views24K
В предыдущих статьях был описан шеститочечный метод разворачивания этикеток и как мы тренировали нейронную сеть. В этой статье описано, как склеить фрагменты, сделанные из разных ракурсов, в одну длинную картинку.
Читать дальше →
Total votes 101: ↑101 and ↓0+101
Comments30

Новая библиотека для уменьшения размерности данных ITMO_FS — зачем она нужна и как устроена

Reading time4 min
Views8.7K
Студенты и сотрудники лаборатории Машинного обучения Университета ИТМО разработали библиотеку для Python, которая решает ключевую задачу машинного обучения.

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

Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments8

Индексы в PostgreSQL — 4

Reading time26 min
Views100K

Мы уже рассмотрели механизм индексирования PostgreSQL и интерфейс методов доступа, а также один из методов доступа — хеш-индекс. Сейчас поговорим о самом традиционном и используемом индексе — B-дереве. Глава получилась большой, запасайтесь терпением.

Btree


Устройство


Индекс btree, он же B-дерево, пригоден для данных, которые можно отсортировать. Иными словами, для типа данных должны быть определены операторы «больше», «больше или равно», «меньше», «меньше или равно» и «равно». Заметьте, что одни и те же данные иногда можно сортировать разными способами, что возвращает нас к концепции семейства операторов.
Читать дальше →
Total votes 32: ↑32 and ↓0+32
Comments14

Метрики качества ранжирования

Reading time7 min
Views102K
В процессе подготовки задачи для вступительного испытания на летнюю школу GoTo, мы обнаружили, что на русском языке практически отсутствует качественное описание основных метрик ранжирования (задача касалась частного случая задачи ранжирования — построения рекомендательного алгоритма). Мы в E-Contenta активно используем различные метрики ранжирования, поэтому решили исправить это недоразуменее, написав эту статью.

Метрики качества ранжирования


Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments3

50 оттенков matplotlib — The Master Plots (с полным кодом на Python)

Reading time39 min
Views365K
Те, кто работает с данными, отлично знают, что не в нейросетке счастье — а в том, как правильно обработать данные. Но чтобы их обработать, необходимо сначала проанализировать корреляции, выбрать нужные данные, выкинуть ненужные и так далее. Для подобных целей часто используется визуализация с помощью библиотеки matplotlib.



Встретимся «внутри»!
Читать дальше →
Total votes 67: ↑67 and ↓0+67
Comments15

Unix shell: абсолютно первые шаги

Reading time12 min
Views289K

Зачем и для кого статья?


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

Здесь не будет пересказа манов (документации), и статья никак не отменяет и не заменяет их чтение. Вместо этого я расскажу о главных вещах (командах, приемах и принципах), которые надо осознать с самого начала работы в unix shell-е, чтобы работа происходила эффективно и приятно.

Статья касается полноценных unix-подобных окружений, с полнофункциональным шеллом (предпочтительно zsh или bash)и достаточно широким набором стандартных программ.

Читать дальше →
Total votes 36: ↑29 and ↓7+22
Comments21

JSONB запросы в PostgreSQL

Reading time7 min
Views270K
Ранее я писал, как включить поддержку jsonb в postgres/psycopg2. Сегодня экспериментировал с тем, как запрашивать данные в колонках типа JSON.
На эту тему есть документация, но мне было не совсем понятно, как работают различные операции:

CREATE TABLE json_test (
  id serial primary key,
  data jsonb
);

INSERT INTO json_test (data) VALUES 
  ('{}'),
  ('{"a": 1}'),
  ('{"a": 2, "b": ["c", "d"]}'),
  ('{"a": 1, "b": {"c": "d", "e": true}}'),
  ('{"b": 2}');

Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments12

Как мы обучили нейронную сеть классифицировать шурупы

Reading time10 min
Views28K
Нейронная сеть может опознать котика на фотографии, найти диван, улучшить видеозапись, нарисовать картинку из щенят или простого наброска. К этому мы уже привыкли. Новости о нейросетях появляются почти каждый день и стали обыденными. Компании Grid Dynamics поставили задачу не обыденную, а сложную — научить нейросеть находить специфический шуруп или болт в огромном каталоге интернет-магазина по одной фотографии. Задачка сложнее, чем найти котика.



Проблема интернет-магазина шурупов — в ассортименте. Тысячи или десятки тысяч моделей. У каждого шурупа свое описание и характеристики, поэтому на фильтры нет надежды. Что делать? Искать вручную или искать в гипермаркете на полках? В обоих случаях это потеря времени. В итоге клиент устанет и пойдет забивать гвоздь. Чтобы помочь ему, воспользуемся нейросетью. Если она может находить котиков или диваны, то пусть занимается чем-то полезным — подбирает шурупы и болты. Как научить нейросеть подбирать для пользователя шурупы быстро и точно, расскажем в расшифровке доклада Марии Мацкевичус, которая в компании Grid Dynamics занимается анализом данных и машинным обучением.
Total votes 88: ↑84 and ↓4+80
Comments33

Реставрируем фотографии с помощью нейросетей

Reading time8 min
Views115K


Всем привет, я работаю программистом-исследователем в команде компьютерного зрения Mail.ru Group. Ко Дню Победы в этом году мы решили сделать проект по реставрации военных фотографий. Что такое реставрация фотографий? Она состоит из трех этапов:

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

В этой статье я детально пройдусь по каждому из этапов реставрации и расскажу, как и где мы брали данные, какие сети мы учили, что у нас получилось, на какие грабли мы наступили.
Читать дальше →
Total votes 119: ↑118 and ↓1+117
Comments43

Прорабатываем навык использования группировки и визуализации данных в Python

Reading time5 min
Views19K
image

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

Сегодня будем прорабатывать навык использования средств группирования и визуализации данных в Python. В предоставленном датасете на Github проанализируем несколько характеристик и построим набор визуализаций.

По традиции, в начале, определим цели:

  • Сгруппировать данные по полу и году и визуализировать общую динамику рождаемости обоих полов;
  • Найти самые популярные имена за всю историю;
  • Разбить весь временной промежуток в данных на 10 частей и для каждой найти самое популярное имя каждого пола. Для каждого найденного имени визуализировать его динамику за все время;
  • Для каждого года рассчитать сколько имен покрывает 50% людей и визуализировать (мы увидим разнообразие имен за каждый год);
  • Выбрать 4 года из всего промежутка и отобразить для каждого года распределение по первой букве в имени и по последней букве в имени;
  • Составить список из нескольких известных людей (президенты, певцы, актеры, киногерои) и оценить их влияние на динамику имен. Построить наглядную визуализацию.

Меньше слов, больше кода!

И, поехали.
Читать дальше →
Total votes 44: ↑42 and ↓2+40
Comments5

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

Reading time6 min
Views143K
Привет, читатель!

Меня зовут Рушан, и я автор Telegram‑канала Нейрон. Не забудьте поделиться с коллегами или просто с теми, кому интересны такие статьи.

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

Меньше слов, больше данных.

image

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


Читать дальше →
Total votes 66: ↑64 and ↓2+62
Comments6

Конкурс Topcoder «Konica-Minolta Pathological Image Segmentation Challenge». Заметки участника

Reading time5 min
Views4.3K

Привет! Пока мы ждём субботу и Avito Data Science Meetup: Computer Vision, расскажу вам про моё участие в соревновании по машинному обучению KONICA MINOLTA Pathological Image Segmentation Challenge. Хотя я уделил этому всего несколько дней, мне повезло занять 2 место. Описание решения и детективная история под катом.


Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments4

Lenovo заплатит владельцам ноутбуков компенсацию $8,3 млн за установку зловреда Superfish

Reading time3 min
Views42K

CA-сертификат Superfish в хранилище ключей Windows

В феврале 2015 года компанию Lenovo уличили в установке на ноутбуки вредоносной программы VisualDiscovery, разработанной Superfish. При подробном рассмотрении это оказался типичный зловред, который прослушивает трафик, анализирует поисковые запросы и внедряет рекламу на страницы сторонних сайтов. Приложение перехватывает, в том числе, HTTPS-трафик. Для этого, оно устанавливает корневой CA-сертификат Superfish в хранилище ключей Windows (с приватным ключом к нему) и проксирует весь трафик между хостом и браузером, подменяя сертификат на свой. Простой брутфорс по словарю из 2203 слов с помощью взломщика сертификатов pemcrack определил пароль для приватного ключа komodia.

В общем, история вышла крайне неприятная. Выяснилось, что данный зловред устанавливается на ноутбуки Lenovo с сентября 2014 года.
Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments109

На переднем крае науки: анализ статей arxiv.org

Reading time11 min
Views25K
image

Моя специальность — физика конденсированного состояния. Разумеется, в процессе погружения в нее требуется изучать много научных статей, однако на разбор хотя бы одной может уйти немало времени. На arxiv в разделе cond-mat публикуется более тысячи статей в месяц. Складывается ситуация, когда многие исследователи, особенно начинающие, не обладают целостным видением своей области науки. Описанный в этой статье инструмент резюмирует содержимое базы научных статей и призван ускорить работу с литературой.
Читать дальше →
Total votes 66: ↑65 and ↓1+64
Comments31

Специалист по разметке данных

Reading time3 min
Views30K
Сегодня замечательный день (if you know what I mean), чтобы анонсировать нашу новую программу — Специалист по разметке данных.

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

Железо, в общем-то, доступно каждому через облака. Да, оно может быть недешевым, но GPU-инстансы на EC2 вполне по карману большинству исследователей. Софт опенсорсный, большинство фреймворков можно скачать себе куда-то и работать с ними. Некоторые сложнее, некоторые проще. Но порог для входа вполне приемлемый. Остается только последний компонент — это данные. И вот здесь и возникает загвоздка.

Deep learning требует действительно больших данных: сотни тысяч–миллионы объектов. Если вы хотите заниматься, например, задачей классификации изображений, то вам, помимо самих данных, нужно передать нейронке информацию, к какому классу относится тот или иной объект. Если у вас задача связана еще и с сегментацией изображения, то получение хорошего датасета — это уже фантастически сложно. Представьте, что вам нужно на каждом изображении выделить границы каждого объекта.


В этом посте хочется сделать обзор тех инструментов (коммерческих и бесплатных), которые пытаются облегчить жизнь этих прекрасных людей — разметчиков данных.
Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments4

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Registered
Activity