Обновить
81.95

Data Engineering *

Обсуждаем вопросы сбора и подготовки данных

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

Массивный курс по управлению данными и обзор новинок от NVIDIA. Дайджест полезных текстов про ML и дата-аналитику

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

Привет, Хабр! Делюсь новым уловом текстов, которые помогут вам лучше разобраться в темах ML, искусственного интеллекта и дата-аналитики. В этой подборке — смесь фундаментальных трудов и более «популярных» статей. Начнем с красочного лонгрида, а закончим — сводом знаний по управлению данными в 10 главах (не пугайтесь).

Еще больше полезных подборок по DataOps и MLOps публикуем в Telegram-сообществе «MLечный путь». Там обсуждаем проблемы и лучшие практики организации production ML-сервисов, а также обмениваемся опытом. Присоединяйтесь к более 1 000 специалистов, развивающим ML- и Data-направления в российских и зарубежных компаниях.

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

Как создать таблицы в БД ClickHouse на основе CSV

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

Когда я впервые начал знакомиться с колоночно-ориентированной СУБД ClickHouse, я не смог найти подходящий инструмент (кроме встроенного в веб-интерфейс ClickHouse Cloud) для создания таблиц с нужными столбцами и типами данных на основе CSV файлов или Pandas датафреймов. Ни clickhouse-connect, ни clickhouse-driver не обладали такой функциональностью, как метод to_sql в SQLAlchemy.

Я хотел загрузить свой любимый набор данных о чемпионатах мира по автогонкам класса Формула-1 в ClickHouse, но вручную создавать 15 таблиц было слишком лениво. Хотелось просто скормить нужные CSV файлы скрипту и на выходе получить БД с нужными таблицами и данными внутри.

Когда я ранее знакомился с PySpark, я заметил, что многие data-профессионалы используют Pandas для определения схемы данных перед загрузкой файлов CSV в PySpark. И я подумал, почему бы не использовать Pandas для определения типов данных по столбцам?

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

Я не уверен в полной совместимости типов данных между Pandas и ClickHouse: быстрый поиск дал противоречивые результаты, поэтому поправьте меня, если найдете какие-либо расхождения.

И будьте осторожны с replace_flag - если установлено значение True, то скрипт пересоздаст таблицы с тем же именем, если они уже существуют, поэтому вы можете потерять существующие данные в своей базе данных. Чтобы избежать этого, но также избежать дублирования данных, я рекомендую указать несуществующее имя базы данных в качестве database_name. Если установлено значение False в replace_flag, данные из ваших файлов CSV будут добавляться в существующие таблицы с тем же именем (конечно же, число столбцов и их типы данных должны совпадать).

Читать далее

Autobinary: библиотека для простого обучения «деревяшек» — Part 2

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

С ростом количества источников данных, методов генерации и извлечения признаков возникает вопрос: «А надо ли нам столько информации? Не ухудшит ли каждый новый фактор предсказательную силу модели?» И правда, для решения большинства задач нет необходимости использовать все доступные нам признаки в финальной модели, так как часть из них не несет в себе никакой информации и даже может запутать алгоритм. Для того, чтобы решить эту проблему и сократить признаковое пространство, были придуманы методы отбора факторов в задачах машинного обучения. О некоторых методах, которые мы внедрили в библиотеку Autobinary расскажем в этой статье.

Поехали

Основные инструменты для работы в Data Engineering: введение для начинающих Data Engineer'ов

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

Всем привет!

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

Читать далее

10 типичных ошибок в LinkedIn, которые пора исправить

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

Когда пользователи откликаются на Remote вакансии в LinkedIn, они часто не получают ответов. Есть подходы, которые помогают увеличить количество ответов на запросы, например, прямое общение с работодателями через Inmails. Но для верного и результативного общения требуется сделать ряд подготовительных действий. Первое из которых - обновление профиля в LinkedIN и исправление наиболее частых ошибок.

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

Не стоит повторять одни и те же ошибки. Здесь мы рассмотрим 10 типичных ошибок, которые совершают многие пользователи LinkedIN при создании профиля и поясняем, как повысить эффективность профиля за счет их исправления.

Читать далее

Оптимизируем NiFi Flow. Настройка Load Balancing, подходы к Scheduling и выбор метода merge

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

Если вы используете в своей работе NiFi, то наверняка не раз задумывались об оптимизации, а может быть и делали ее. В этом посте я поделюсь своими наработками в области настроек NiFi, благодаря которым мы получили позитивные результаты и улучшили работу наших собственных сервисов. А если конкретно, речь пойдет про выбор стратегии балансировки нагрузки между нодами кластера (load balancing), настройке работы процессоров NiFi в рамках одной ноды (Concurrent tasks, Run Duration), а также о том, что делать с косяками Merge Record. Если интересно, ныряйте под кат и давайте обсудим, что еще хорошего можно сделать с NiFi. 

Читать далее

От рандома до модели: как мы улучшали мэтчинг в Random Coffee

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

Дано: сервис для профессиональных и дружеских знакомств. Основной продукт Random Coffee — встречи один на один внутри тематических сообществ на базе Телеграма. Каждый понедельник боты сообществ распределяют внутри них пользователей по парам, чтобы те самостоятельно списались и договорились о встрече вживую или онлайн.

Пользователей становилось больше, и нужно было уходить от случайного распределения пар, чтобы увеличить количество успешных состоявшихся встреч.В этой статье я, кофаундер Random Coffee Паша Козлов, и Пётр Пушкарь из компании ACMetric рассказываем, как мы перешли к умному мэтчингу, какие данные используем при подборе собеседников и что из этого вышло.

Читать далее

Ретеншен — основная метрика F2P игры, вероятностный подход

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

Ретеншен - основная метрика качества итернет-сервиса.

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

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

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

Читать далее

Как упростить анализ данных? Запуск и сценарии использования готовой виртуальной машины для аналитики

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

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

Небольшой команде, которая работает с ML-моделями и анализом данных, тоже хочется иметь готовое решение базовых задач. Собирать его самостоятельно из отдельных компонентов не всегда удобно, а еще это бывает дорого. Вот бы существовало какое-то компактное решение, в котором сразу был бы весь набор инструментов и настроек. Что ж, усаживайтесь у костра поудобнее, пришло время рассказать про Data Analytics Virtual Machine (DAVM).
Читать дальше →

Фотореализм без Midjourney: тестируем новую нейросеть

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

Бесплатных генераций в Midjourney больше нет и пришлось искать альтернативы.

Нейросеть Midjourney покорила сотни тысяч пользователей по всему миру качеством генерации картинок. Изображения, созданные там, многие путают с реальными рисунками или фотографиями. Лично для меня в Midjourney нашлись недостатки — необходимость работать в Discord (редко пользуюсь в повседневной жизни) и стоимость попыток генерации (200 попыток стоят $10, а подписка $30), а еще писать запросы можно только на английском.

Можно попробовать запустить Automatic111 или Dreambooth для генерации, но взять именно эту нейросеть не получится, а с CivitAI или Huggingface не каждый умеет работать. Преимуществом работы в Telegram‑боте является отсутствие необходимости в своём «железе», ведь для запуска подобной нейросети потребуется минимум 12 Гб видеопамяти, а ещё это всё настроить самому надо. В общем, когда за тебя уже всё сделали и бесплатно дают воспользоваться, то это круто. Да, есть и сайты, на которых можно генерировать изображения, но мессенджер всегда под рукой и это стало ещё одним плюсом для меня.

Авторы указывают, что нейросеть обучалась на базе архитектуры Stable Diffusion. Сравнивая с моделями из CivitAI и HuggingFace, убедился, что синтаксис запросов у данной модели намного проще, хоть и не без грехов.

Учитывая минусы Midjourney, решил попробовать другую нейросеть для генерации изображений от российских разработчиков — TurboText. Первое, что меня интересовало, смогу ли я получать реалистичные картинки, не хуже чем в MJ. Также обращал внимание на скорость работы, стоимость тарифов и удобство использования. Сначала покажу свои примеры, которые удалось сгенерировать по простым запросам, а после озвучу собственные выводы.

Посмотреть примеры

Autobinary: библиотека для простого обучения «деревяшек» — Part 1

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

Рождение autobinary, как и многих других фреймворков, началось с автоматизации рутинных задач. На тот момент мы создавали много look-alike моделей (в основе - модель бинарной классификации) по разным продуктам банка. Одни и те же скрипты писать было скучно. Более того – накопилось много разрозненных скриптов, которые хотелось привести к единому формату.

Что из этого получилось

Ультимативная дорожная карта для изучения SQL и баз данных в 2023 году + источники для знаний

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

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

Читать далее

Как мы катили roBERT'у в прод по полю граблей

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

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

Читать далее

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

NULL в SQL: Что это такое и почему его знание необходимо каждому разработчику

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

NULL - это специальное значение, которое используется в SQL для обозначения отсутствия данных. Оно отличается от пустой строки или нулевого значения, так как NULL означает отсутствие какого-либо значения в ячейке таблицы.

История появления NULL в SQL довольно интересна и длинна. В начале 1970-х годов Д. Камерер (D. Chamberlin) и Р. Бойд (R. Boyce) предложили использовать реляционную модель для полной замены иерархических и сетевых моделей данных, которые были актуальны в то время. Полная замена предполагала возможность хранения значений NULL в таблицах структуры базы данных.

Первоначально, NULL был создан как интегральный элемент реляционной модели данных. Это означало, что NULL мог быть использован в качестве значения для любого типа данных (целого числа, строки и т.д.) или даже целой строки (например, таких значений как "неизвестно" или "нет данных").

Когда была разработана SQL, NULL был реализован как специальное значение или маркер, который указывает на отсутствие значения в столбце. Таким образом, в SQL NULL означает отсутствие значения или неопределенное значение.

Однако, NULL создал некоторые проблемы при работе с данными в SQL. Например, если вы выполняете операцию на столбце, содержащем NULL значение, результат операции также будет NULL. Это означает, что использование NULL может приводить к нежелательным результатам, таким как непредсказуемое поведение.

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

Читать далее

SQRT.app или о том как, сократить затраты в автоматизации тестирования

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

Всем привет, меня зовут Виталий, я являюсь Test automation engineer и по совместительству один из создателей библиотеки который называется sqrt.app. В IT-сфере я около 6 лет и успел повидать много говна решений но сегодня я бы хотел рассказать про то - зачем любому инженеру будет полезно использовать данный тул.

узнать про sqrt.app

«Midjourney на коленке». Как развернуть нейросеть в облаке за 5 минут, или начало работы с Diffusers

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

Построить свою конвейерную ленту по разработке нейронок не так сложно. Нужен «всего лишь» сервер с GPU и настроенное окружение с библиотекой Diffusers. Если вам интересно, что это такое, как создать свою «Midjourney на коленке» и генерировать вайф в режиме 24/7, добро пожаловать под кат!
Читать дальше →

Чем ChatGPT похож на человека и почему к этому надо относиться серьезно

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

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

Я соглашусь с вами в том, что ChatGPT — это всего лишь виртуальный собеседник. Это чисто программный продукт, и поэтому пообщаться с ним можно только в интернете. Не идет никакой речи о том, чтобы он управлял роботом, наподобие тех, которые разрабатывает Boston Dynamics. В реальном мире такие системы еще долго не будут составлять нам конкуренции. На роль дворника способного убирать улицу эта разработка точно не претендует. А вот в виртуальной сфере все не так однозначно. Уже сейчас, на текущей стадии развития ChatGPT способен создавать несложные части программного кода, но на этом его возможности не ограничиваются. Этот бот может придумывать интересные тексты и эссе. Так что со временем он вполне cможет вписаться в нишу квалифицированного интеллектуального труда, в котором на данный момент находится достаточное количество высокооплачиваемых людей. Поэтому я надеюсь что вы начинаете понимать каким людям в будущем этот бот будет составлять настоящую конкуренцию.

Читать далее

PowerShell и LiveJournal (ЖЖ): скачивание постов журнала

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

У блог-платформы «LiveJournal» есть набор удалённых функций и протокол их вызова для сторонних веб-клиентов. В этой статье я описываю, какие из этих функций удобно использовать для загрузки к себе на компьютер всех постов своего журнала (блога). Также я даю пояснения к алгоритму загрузки всех постов, показанному в виде псевдокода в документации к клиент-серверному протоколу «LiveJournal», и привожу его перевод на русский язык с некоторыми изменениями.

В конце статьи я описываю свою практическую реализацию алгоритма загрузки постов на языке PowerShell. В статье есть иллюстрация работы полученного скрипта и ссылка на его исходный код на веб-сервисе «GitHub».

Читать далее

Почему эксель уже не топ. Эволюция от Excel до BI систем

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

Не нужно много времени, чтобы объяснить, что такое excel, зачем он нужен и чем он полезен. Этот, если можно так сказать, All-on-one инструмент вошел в обиход уже очень давно и применяется не только в рамках аналитической работы. Компания Microsoft проделала большую работу и подарила нам tool неописуемый в своем многообразии. VBA (Visual basic for applications) и возможность интеграции Add-ins только усилила это многообразие, сделав его чуть ли не уникальным.

Но, как и во всем, дьявол кроется в деталях, и когда речь о более, скажем так, «тонкой» аналитической работе или обработке big data, мы сталкиваемся с трудностями.

Читать далее

Полезные материалы по Data Science и машинному обучению, которые помогут пройти сквозь джунгли из терминов

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

Привет, Хабр! Меня зовут Ефим, я MLOps-инженер в Selectel. В прошлом был автоматизатором, ML-инженером, дата-аналитиком и дата-инженером — и уже несколько лет падаю в пропасть машинного обучения и Data Science. Это буквально необъятная сфера, в которой почти нет ориентиров. Основная проблема в том, что разделов математики довольно много и все они, на первый взгляд, нужны в том же машинном обучении.

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