GraphSAGE: как масштабировать графовые нейронные сети до миллиардов соединений
GraphSAGE - это алгоритм обучения с индуктивным представлением, который применяется для работы с графами. Посмотрим, как он работает, и сравним его с аналогичными инструментами, чтобы выявить преимущества и недостатки.
Пять направлений применения исследования операций
В последние годы область исследования операций процветала наряду с развитием вычислительной мощности. Сейчас многие организации используют этот подход, чтобы разрабатывать оперативные, тактические и даже...
Почему в базе данных происходит взаимоблокировка?
Круг вопросов для обсуждения
Попробуем объяснить, что такое взаимная блокировка и почему она возникает в базе данных.
Напишем SQL-инструкции и искусственно вызовем взаимоблокировку, а также обсудим...
10 трюков для мастеров Python
На первый взгляд Python может показаться простым языком, который любой может освоить, и многих удивляет, какого мастерства можно достичь в этом языке. Python один...
Тестирование больших данных: руководство для начинающих
Что такое тестирование больших данных, и с какими проблемами можно столкнуться в этом процессе? Расскажем про основные типы, способы и инструменты тестирования больших данных.
Redis и Memurai для кэширования SQL-запросов
Кэширование запросов совсем не такой простой процесс, как кажется на первый взгляд. Рассмотрим разные подходы, признаки хорошего кэша, кэширование с помощью Redis и его альтернативу Memurai для Windows.
6 SQL-запросов, о которых должен знать каждый дата-инженер
SQL уже больше 45 лет, но он по-прежнему в деле и незаменим для быстрого анализа данных с написанием сложных запросов. Попрактикуемся в этом с продвинутым синтаксисом SQL для решения многих бизнес-задач.
Лассо- и ридж-регрессии: интуитивное сравнение
Регуляризация размерности данных - важнейший навык в машинном обучении, позволяющий повысить эффективность модели. Чтобы овладеть им, необходимо понять различие между лассо- и ридж-регрессиями. Попробуем разобраться с этими методами статистического обучения.
8 способов “настроить” Data-команду на успех. Часть первая
Мы живем в золотой век Data-ориентированных организаций. Алгоритмы! Большие Данные! У вас вероятно, даже есть Data Scientist в штате или два! Но …
Если ваши Data-специалисты тратят...
Создание модели машинного обучения с помощью Google Colab без дополнительных настроек
Машинное обучение позволяет разрабатывать модели, способные выдавать точные прогнозы. Сегодня рассмотрим, как можно создать модель МО, используя такой инструмент, как Google Colab.
5 неочевидных истин науки о данных
Хотите открыть для себя красоту машинного кода, скрывающуюся за нулями и единицами? Для начала узнайте 5 неочевидных истин науки о данных. Они помогут вам ступить на путь постижения этой увлекательной дисциплины со свежим взглядом.
Эйнштейн и самая красивая из всех теорий
Британский физик-теоретик Поль Дирак (1902–1984), один из основоположников квантовой механики, однажды написал:
«Было трудно примирить ньютоновскую теорию гравитации, в соответствии с которой гравитационное взаимодействие распространяется...
6 функций Pandas для быстрого эксплораторного анализа данных
Познакомьтесь с 6 функциями, лежащими в основе любого эксплораторного анализа данных. Они позволят сделать первый шаг в исследовании данных в Pandas.
Наука о данных — что она изучает на самом деле?
Данные окружают нас повсюду. Это незаменимый инструмент в руках современного человека. “Данные действительно помогают нам во всем”, — когда-то признал Джефф Вейнер, гендиректор LinkedIn. Что же собой представляет наука о данных и каковы были предпосылки ее стремительного развития?
7 советов для эффективной визуализации данных
Одним из важных аспектов работы в области науки о данных является способность эффективно передавать результаты анализа с помощью разных способов визуализаций.
Данные — это история...
Как использовать MSE в науке о данных
Среднеквадратичная ошибка (MSE) - одна из полезных метрик, помогающих определить эффективность модели. Рассказываем, как использовать MSE для оценки и оптимизации производительности в науке о данных.
Жизненный цикл сообщений Kafka: от отправки до получения
Вкратце опишем все четыре этапа. Разберемся, что изменилось с появлением вместо ZooKeeper самоуправляемого кворума метаданных.
Наглядное объяснение алгоритма Беллмана-Форда
Алгоритм Беллмана-Форда находит в ориентированном графе кратчайшие пути от исходной вершины до всех остальных. В отличие от алгоритма Дейкстры, в алгоритме Беллмана-Форда могут быть...
Все модели машинного обучения за 6 минут
Все модели машинного обучения разделяются на обучение с учителем (supervised) и без учителя (unsupervised). В первую категорию входят регрессионная и классификационная модели. Рассмотрим значения...
Как Jupyter превратился в полноценную IDE
Jupyter Notebook - удобный инструмент для поэтапного развития идей по разработке ПО. Специалисты по данным используют его для записи процесса своей работы, экспериментов с...
Алгоритмы ограничения скорости
Для чего нужно ограничение скорости API
Ограничение скорости помогает защитить сервисы от злонамеренных поведений, нацеленных на протоколы прикладного уровня. К числу таких поведений относятся DoS-атаки (атаки...
Обзор библиотеки Datatable в Python
Данные, с которыми вы работаете, уже настолько большие, что вы часами ждёте их загрузки? Пора осваивать новый инструмент, который избавит вас от долгого ожидания...
Гамма-функция - интуиция, определение, примеры
Почему это интересно?
Многие распределения вероятностей определяются с использованием гамма-функции, я перечислю лишь некоторые: гамма-распределение, бета-распределение, распределение Дирихле, распределение хи-квадрат, т-распределение Стьюдента и так далее.
Для...
Создаем YouTube видео из кода
Если вы когда-либо задумывались о создании видео, содержащего компьютерную анимацию, эта статья для вас. Я предполагаю, что у вас уже есть код, или вы...
Распознавание лиц с помощью CoreML и ARKit
Создаём приложение с одним окном
Для начала нам понадобится создать iOS проект «single view app» (прим: автор работает в Xcode).
Теперь у нас есть проект. Мы обойдёмся...
Искусственный интеллект: надежды и угрозы
Регулярно появляющиеся новости о стремительном развитии и потенциальных угрозах искусственного интеллекта (ИИ) все сильнее будоражат общественность. Нужно ли приветствовать революцию ИИ или стоит ее...
SMOTE: метод увеличения числа примеров миноритарного класса
SMOTE - одна из распространенных стратегий сэмплинга, позволяющая решить проблему дисбаланса классов. Это пошаговое руководство по использованию алгоритма SMOTE в Python позволит избежать просчетов в МО.
3 новых настораживающих примера ИИ-систем
Не пора ли внедрять элементы управления в эту мощную форму технологии, называемую ИИ? Это не то, в чем мы можем позволить себе ошибаться.
Менеджеры контекста в Python - выходим за пределы «with open() file»
Введение
В Python при работе с файлами наиболее распространённой функция open(), создающая объект типа файл, который в зависимости от ситуации позволяет читать или записывать данные....
Как специалисту по обработке данных создать крутое портфолио и подключить к нему чат-бота
Буду честен. Для специалиста по обработке данных найти сейчас работу — настоящая пытка. Это самая притягательная профессия 21 века, огромная конкуренция в ней растёт с каждым...
Как алгоритм «случайный лес» вычисляет продавцов-мошенников на онлайн-рынке
Как показала практика, интернет полон мошенников, охотящихся за наивными пользователями. Посмотрим, как специальная модель МО обнаруживает злоумышленников на C2C-рынке.
Как составить Data Science портфолио? Часть 4
Предыдущие части: Часть 1, Часть 2, Часть 3
Medium и/или другие платформы для блоггинга.
Блог — это способ показать, что вы что-то умеете. Когда вы пишите о проекте...
Моделирование данных в мире современного стека данных 2.0
Сравнивать моделирование данных со стеком данных - все равно что уподоблять автомобили интеллектуальным навигационным системам. Предлагаем на практических примерах убедиться в том, что технологии современного стека данных позволяют аналитикам успешно вести исследования без моделирования.
Анализ моделей машинного обучения при помощи Imandra
Расскажем о задачах классификации и регрессии. Данные, модели, условия и Imandra с её возможностями помогать прогнозировать рак и вред от лесных пожаров.
Введение
Проверка параметров изучаемых моделей — сложная...
Исследование данных - основные понятия
Данные многое вам скажут, если вы готовы слушать.
- Джим Бергесон
Данные можно назвать Богом. Все на свете проверяется только благодаря данным. Вы не сможете претендовать...
10 идиоматических приемов для эффективного программирования на Python
Программирование само по себе очень увлекательное занятие, а программирование на Python увлекательнее вдвойне, поскольку в данном языке существует много разных способов реализации одних и...
Python: 5 ошибок в применении охвата списка
Охват списка, (далее ОС), бесспорно, самая мощная возможность Python, которая может оказаться невероятно эффективным инструментом, но может и сильно снизить читаемость кода. Рассмотрим несколько...
25 наборов аудиоданных для исследований
Наборы музыкальных данных
Free Music Archive
FMA предназначен для анализа музыки и состоит из полноразмерного HQ-аудио, предварительно вычисленных характеристик, а также метаданных трека и пользовательского уровня....
Статистика - это грамматика науки о данных. Часть 3
Повторение статистики для начала путешествия по науке о данных
Часть 1, Часть 2, Часть 3, Часть 4, Часть 5
Меры расположения
Процентили
Процентили делят упорядоченные данные...
Как составить Data Science портфолио? Часть 1
Как получить работу в области Data Science? Во-первых, нужно знать основы статистики, машинного обучения, программирования и т.д. Во-вторых, вам нужно будет составить портфолио. Да, несомненно,...
Что такое компилятор
Если вы программист, то наверняка слышали слово “компилятор”. Но знаете ли вы, что это такое на самом деле? Вы когда-нибудь задумывались, что происходит под...
Работа с панелью индикаторов. Руководство программиста Python.Часть 2
Часть 1, Часть 2
Это вторая статья из нашей серии об использовании Python-фреймворка Dash от Plotly в качестве основной платформы для работы с панелью индикаторов....
Контейнеры это просто. Контейнерные технологии для начинающих
Вступление
Будь вы студент или уже состоявшийся разработчик, вы наверняка слышали о «контейнерах». Более того, вероятно вы слышали, что контейнеры — это «лёгкие» виртуальные машины....
Как создать платформу обработки и анализа данных за неделю
Хотите создать полнофункциональную платформу данных с ежедневно обновляемыми аналитическими таблицами/дэшбордами? Простое пошаговое руководство (со ссылкой на код в репозитории GitHub) позволит реализовать такой проект всего за неделю.
Что такое распределение Пуассона?
Прежде чем вводить параметр λ и подставлять его в формулу, давайте задумаемся: почему Пуассону вообще пришлось изобретать такое распределение?
1. Почему Пуассон изобрел свое распределение?
Чтобы...
Структуры данных: связный список
Связный список - последовательность структур данных, связанных ссылками - вторая по частоте использования после массива структура данных. Рассмотрим основные операции и покажем пример на языке С.
5 уникальных подходов Google к инженерии данных
Когда я пришел в Google в качестве поставщика в 2019 году, у меня уже был опыт работы в области здравоохранении и технологическом секторе. Тем...
Алгоритмы поиска, которые должен знать каждый специалист по обработке и анализу данных
В последние годы алгоритмы для решения задач автоматического планирования и диспетчеризации стали вновь популярными в области машинного обучения. Понимание принципов их работы поможет увеличить...
Почему вы должны начать использовать .npy файл чаще…
В науке о данных требуются быстрые вычисления и трансформация данных. Родные NumPy объекты в Python имеют такое преимущество над обычными программными объектами. Они работают...
В поисках лучшей среды для Julia: Juno или Jupyter?
Одним из важнейших факторов, влияющих на производительность программирования, является среда разработки. Особенно это относится к науке о данных, так как специалисты, работающие в этой...
Самые полезные продвинутые техники SQL
Освойте три продвинутые техники SQL - оконные функции, подзапросы и общие табличные выражения - с помощью примеров использования и экспертных советов. Эти техники значительно расширят ваши возможности по работе с данными.
Наука о данных простым языком
Что такое наука о данных? Попробуем объяснить ее значение доступным языком.
Топ-10 ошибок анализа данных
Аналитик данных — лучший в статистике среди программистов и лучший программист среди статистиков. В этом топе обсудим, как программисту стать лучше в статистике.
Примеры, код...
Выбор оптимального алгоритма поиска в Python
Когда дело касается обучения, мы, как правило, используем один из двух основных подходов: идём либо вширь и стараемся охватить как можно больший спектр области,...
Руководство для начинающих исследователей данных
Как новичку влиться в сферу науки о данных? Наличие продуманного плана может дать значительное преимущество начинающему специалисту. Предлагаем взять на вооружение план действий, основанный на личном опыте человека, добившегося успехов в этой области.
8 базовых алгоритмических задач на собеседованиях
Во время собеседования на должность в IT-сфере часто касаются вопросов применения алгоритмов. Наиболее популярными являются алгоритмы поиска и сортировки (строковые алгоритмы, бинарный поиск, алгоритм...
Как найти выход из лабиринта с помощью Python
Создание лабиринта
Наш лабиринт будет в виде матрицы размером n*m с нулями для проходов и единицами для стен.
a = [
[1, 1,...
Алгоритм XGBoost: пусть он царствует долго!
Хоть с того момента и прошло 15 лет, я до сих пор помню первый день на моей первой работе. Я только-только выпустился из ВУЗа...
Шесть рекомендаций для начинающих специалистов по Data Science
Навыки, необходимые для работы
Сфера data science пользуется большим спросом, однако для трудоустройства вам потребуется опыт работы. Несмотря на это, у множества лучших специалистов стоит самый...
Как писать идеальные конспекты по науке о данных
Предлагаем несколько практических советов по написанию конспектов при изучении науки о данных. Следуя им, вы сможете эффективно понимать и усваивать сложнейшие концепции, которые пригодятся в дальнейшей работе.
Прозрачность: иллюзии единой системы. Часть 2
Предыдущие части: Часть 1
Одной из (множества) причин сложности распределенных систем является то, что они пытаются делать множество вещей одновременно. Распределенная система создает для конечного...
Разбор 7 ошибок Python
Как только задачи, стоящие перед специалистами по данным, переходят из родной научной области в сферу разработки ПО, решать их становится все труднее. И хотя...
5 простых способов визуализации данных на Python. С кодом
Визуализация данных — это большая часть работы специалистов в области data science. На ранних стадиях развития проекта часто необходимо выполнять разведочный анализ данных (РАД, Exploratory data...
Введение в метод Монте-Карло по схеме цепей Маркова
Слева: моделированное необработанное совместное распределение коэффициентовСправа: моделированное совместное распределение коэффициентов без отбраковки
В предыдущей статье я дал краткое введение в байесовскую статистику и рассказал, как...
Как стать специалистом по обработке данных: 5 советов
Специалист по данным - одна из самых востребованных профессий на сегодняшний день. Узнайте, какие навыки вам пригодятся для того, чтобы стать востребованным дата-сайентистом.
9 важных сниппетов Python для оптимизации работы со скриптами
Ускорение работы на Python
Написание скриптов на Python для решения самых разных задач — одно из моих любимых занятий. Когда самостоятельно доходишь до ответа, который предлагает...
Будущее практического применения чат-ботов
В последние несколько лет мы стали свидетелями гонки между компаниями за создание самой большой, самой мощной и самой интересной модели под названием NLP (Обработка...
Python для анализа данных: 8 концепций, о которых вы могли забыть
Проблема
Если вы когда-либо «гуглили» одни и теже вопросы, термины или синтаксис снова и снова, знайте — вы не одиноки.
Я делаю это постоянно!
Это нормально, если вы постоянно...
5 типов алгоритмов машинного обучения, которые нужно знать
Машинное обучение — один из самых известных и важных подразделов науки о данных. В 1959 году исследователь компании IBM Артур Самюэл впервые ввёл термин...
Глубокие нейросети: руководство для начинающих
Введение
ИИ уже успел достаточно нашуметь — о нейросетях сейчас знают и в научной среде, и в бизнесе. Вам наверняка случалось читать, что совсем скоро ваши рабочие...
Развёртывание модели машинного обучения в виде REST API
В статье вы узнаете, как разворачивать модели машинного обучения и составлять прогнозы при помощи любого языка программирования, который вам нравится. Конечно, за основу вы...
Пошаговое руководство по созданию синтетических данных в Python
Предлагаем удобное для начинающих руководство по созданию собственных данных для анализа и тестирования. Использование синтетических наборов данных позволит повысить производительность моделей машинного обучения и снизить затраты на разработку и тестирование приложений.
Обнаружение объектов с помощью цветовой сегментации изображений в Python
Начинаем
Если у вас уже есть Jupyter Notebook или IDE, с помощью которых можно запускать установленные Python и OpenCV, то сразу переходите к разделу Выполнение.
Инструменты
Наш...
Инновационный алгоритм глубокого обучения в Google Translate
Современный Google Translate просто потрясает своими возможностями. Для реализации способности выполнять перевод между любой парой из десятков поддерживаемых языков создатели этого инструмента очень находчиво...
Простое развёртывание графовой базы данных: JanusGraph
Недавно мне потребовалось постоянно где-то хранить большие графовые данные, и я занялся поисками распределённой графовой базы данных с открытым исходным кодом. Главным требованием было...
Анализ аудиоданных с помощью глубокого обучения и Python (часть 2)
Предыдущая часть: Часть 1
Сверточные нейронные сети (CNN) схожи с обычными нейронными сетями: они состоят из нейронов с обучаемыми весами и сдвигами. Каждый нейрон получает...
Apache Spark: гайд для новичков
Что такое Apache Spark?
Специалисты компании Databricks, основанной создателями Spark, собрали лучшее о функционале Apache Spark в своей книге Gentle Intro to Apache Spark (очень рекомендую...
4 альтернативы Pandas: ускоренное выполнение анализа данных
Бенчмарк производительности популярных инструментов анализа данных заставит вас иногда отказываться от Pandas. Каждый из этих инструментов - Polars, DuckDB, Vaex и Modin - при анализе данных на кластере машин работает гораздо быстрее, чем Pandas.
Как легко развертывать модели МО с помощью Streamlit, BentoML и DagsHub
Хотите поделиться проектом, но не знаете, как это лучше сделать? Рассмотрим простой способ представления моделей МО с использованием Streamlit, BentoML и DagsHub.
Ускоряем работу с pandas при помощи modin
Pandas — библиотека, которая не нуждается в представлении, если речь идёт о работе с данными. Она привносит высокую производительность, структурирование данных и удобную работу с ними....
Почему за способностью объяснения модели стоит будущее Data Science
Техники объяснения модели показывают, что изучает модель, а знание о том, что происходит внутри модели имеет большое значение.
На протяжении последних десяти лет я общался...
Лучший способ эффективно управлять неструктурированными данными
Узнайте о передовых методах работы с неструктурированными данными с помощью хранилищ объектов и озер данных. Это позволит более эффективно хранить, собирать и использовать данные.
Оценка производительности нейронной сети Keras с помощью визуализаций Yellowbrick
Если вы когда-то использовали Keras для создания модели машинного обучения, то скорее всего перед этим вы строили примерно такие графики:
Здесь представлена матрица потери при...
Работа с панелью индикаторов. Руководство программиста Python. Часть 1
В этой серии статей в качестве основной платформы для Dashboarding используется Dash от Plotly.
Введение
Dash от Plotly — это веб-фреймворк, построенный на основе Plotly.js, React и Flask,...
Какие десять книг про науку о данных и искусственный интеллект стоит прочитать в 2020
Чтобы стать экспертом в какой-либо области, нужно взять на себя обязательство учиться и быть последовательным в достижении своих целей. И это справедливо для всех...
Как создать хранилище данных за 5 шагов
В проекте по созданию хранилища данных не обойтись без четкого плана действий. Познакомьтесь с ключевыми этапами его реализации - от четкой постановки бизнес-целей до запуска готового к использованию проекта.
Распознавание звуков с помощью глубокого обучения
Вы когда-нибудь просыпались с непонятным ощущением: слышишь какой-то звук, но точно знаешь, что в этом звуке что-то не то?
Распознавание звуков — это один базовых...
Утиная типизация в Python - 3 примера
Утиная типизация
Опытным программистам концепция утиной типизации наверняка знакома. Для новичков же это словосочетание может звучать довольно странно: какое отношение имеют утки к программированию?
Эта концепция...
Инженерия геопространственных данных: пространственное индексирование
Слышали ли вы о пространственном индексировании? Эта технология обладает мощным потенциалом: она способна оптимизировать производительность запросов, сэкономить время обработки данных и упростить задачи машинного обучения.
Генерируйте реалистичные датасеты с помощью Snowfakery
Когда вы разрабатываете новый продукт, приложение или функцию, то тестировать ее необходимо на реалистичных данных. Сначала данные создаются вручную, но если нужно протестировать аналитические...
Биномиальное распределение
Все знают и любят нормальное распределение. Оно используется в инвестиционном моделировании, A/B-тестах и улучшении производственных процессов (шесть сигм). Но мало кто хорошо знаком с...
Математические операции над массивами и матрицами
В процессе обработки и организации данных в определенные моменты возникает необходимость в выполнении математических операций над массивами и матрицами.
Заглянем в notebook
Чтобы ознакомиться с рассматриваемыми далее...
Пакетная обработка 22 ГБ данных о транзакциях с помощью Pandas
Можно ли работать с большими массивами данных при ограниченных вычислительных ресурсах? Можно и очень даже успешно, если использовать пакетную обработку для создания различных агрегаций этих данных.
Как подключиться к MongoDB с помощью Node.js
Базы данных - полезный инструмент для проекта, и для работы с ними можно воспользоваться MongoDB. Разбираемся, как подключиться к MongoDB при помощи Mongoose.
5 причин смещения в машинном обучении и что с этим делать
Смещение в машинном обучении означает, что алгоритм дает ошибочные результаты из-за неточных предположений, сделанных на одном из этапов процесса.
Чтобы разработать любой процесс машинного обучения,...
Графы: основы теории, алгоритмы поиска
Возможно, вы уже знакомы с понятием спортивного программирования и знаете, что оно помогает развить навыки решения проблем и прокачать технические знания о структурах данных...
Привет, Go!
За последние пару месяцев я полюбил Go по разным субъективным причинам. Чтобы продемонстрировать всю красоту и простоту языка Go, рассмотрим классическую небольшую программу, которая...
Введение в алгоритмы машинного обучения: линейная регрессия
Линейная регрессия - отправной пункт в освоении науки о данных, с которого новички приступают к овладению моделированием данных. Каждому начинающему исследователю данных будет полезно ознакомиться с алгоритмом линейной регрессии, его реализацией на Python и способами применения.
Разведочный анализ данных в одной строке кода
В программировании важно уметь пользоваться инструментами, которые обеспечивают удобное выполнение сложных функций. Сегодня познакомимся с разведочным анализом данных и полезной библиотекой sweetviz.
JWT-аутентификация в Spring Boot Webflux
Spring Security всегда снижал мой интерес к собственным проектам. Как только возникала необходимость выяснить как аутентифицировать пользователей, я сразу начинал испытывать негодование или скуку...
Почему разработчикам нужны “часы практики”
Если вы музыкант или просто увлекаетесь музыкой, то наверняка знаете, что “практика” и “репетиция” — два совершенно разных понятия.
Зачастую, у музыкантов есть “сакральные” часы практики. Эти...
C++: руководство по сортировке строк
Изучим разные приемы сортировки, сравним их эффективность. Дадим рекомендации по производительности, поможем выбрать оптимальный метод.
Ловушка для горутины
Горутина — это эффективный и легковесный механизм многопоточного выполнения, популярный среди разработчиков Go. С помощью семантики горутин программисты добиваются эффективного выполнения параллельных процессов в программе. Впрочем,...
Nest.js и Next.js: в чем разница?
Стоите перед дилеммой: Nest.js или Next.js? Возможно, стоит использовать оба фреймворка? Каждый из них идеален в своей области, и при этом они прекрасно дополняют друг друга в разработке полного цикла. Узнайте об особенностях Nest.js и Next.js, чтобы принять обоснованное решение.








































































































