Наглядное объяснение алгоритма Беллмана-Форда
Алгоритм Беллмана-Форда находит в ориентированном графе кратчайшие пути от исходной вершины до всех остальных. В отличие от алгоритма Дейкстры, в алгоритме Беллмана-Форда могут быть...
10 самых продуктивных техник для работы с файлами в Python
Какой бы проект вы ни разрабатывали, вам не избежать работы с файлами либо на компьютере, либо на сервере. И неудивительно, поскольку они являются самыми...
MongoDB: агрегирование
Операции агрегирования обрабатывают данные и возвращают вычисленные результаты. Они группируют значения из нескольких документов, выполняют с ними разные действия и возвращают один-единственный результат. В SQL аналогами операций агрегирования MongoDB являются функция count(*) и оператор group by.
Слабо контролируемое обнаружение объектов - сквозной цикл обучения
Обнаружение объектов — широко известная задача компьютерного зрения, по которой было проведено огромное число исследований. Методы же контролируемого обнаружения объектов стали в этой области...
4 простые визуализации данных в Python
Визуализация данных является неотъемлемой частью любых проектов в науке о данных или в проектах машинного обучения. Для того, чтобы получить некоторое представление об определенных...
Классы данных в Python и их ключевые особенности
Значимым компонентом любого проекта в программировании являются данные, с которыми неизбежно взаимодействуют все программы. Например, при разработке веб-сайта вы должны представить тексты и изображения...
Сборка и запуск загрузчика
Что вас здесь ждёт
Если вы так же любопытны, как я, вы наверняка задумывались о том, как работают операционные системы. Здесь я расскажу о некоторых исследованиях...
4 шага к совершенству: правила для идеальных функций
Функции — это блоки кода, выполняющие требуемые действия. Они являются фундаментальными составляющими любого проекта разработки. Без них мы не сможем ни обработать данные, ни представить их...
Все что нужно знать о древовидных структурах данных
Когда вы впервые учитесь кодировать, общепринято изучать массивы в качестве «основной структуры данных».
В конце концов, вы также изучаете хэш-таблицы. Для получения степени по «Компьютерным...
List Comprehensions в Python за 5 минут
Зачем нужен list comprehension в Python?
Чтобы сохранить строчки кода.
List comprehensions — это один из способов создания Pythonic-однострочников (one-liners) с итерируемыми списками.
В качестве примера рассмотрим продуктовую корзину. Вы...
Ускорение GPU в машинном обучении и больших данных
Введение
Вычисления на графических процессорах становятся всё более и более важными.
Количество данных во всём мире удваивается каждый год.Приходит квантовая реальность. Закон Мура перестаёт работать.
Кроме того,...
7 Способов вывести свои новые навыки Python на следующий уровень
Внимание: в этой статье нет партнёрских ссылок.
Когда я впервые начинал изучать Python, я не знал, что делать с моими новыми навыками дальше. Поэтому они...
Обработка естественного языка
Обработка естественного языка или NLP (от англ. Natural language processing) — одна из самых известных областей науки о данных. За последнее десятилетие она приобрела...
Почему вам не удастся стать «великим» специалистом по данным?
Быть просто "хорошим" специалистом по обработке данных не проблема. Куда сложнее стать "великим". Позвольте мне, как специалисту по обработке данных, открыть вам глаза на самую прибыльную работу 21-го века.
6 лучших JS-библиотек для визуализации данных и создания отчетов
Веб-инструменты для отчетов используются для представления, создания и изменения отчетов с помощью веб-интерфейса — веб-браузера. Эти инструменты могут быть встроены в сторонние приложения или...
Подробное руководство по свёрточным нейронным сетям
Искусственный интеллект существенно развился на своём пути сокращения разрыва между возможностями людей и машин. Разработчики наравне с энтузиастами работают над великим множеством аспектов в...
Наивный байесовский алгоритм
Введение
Самые простые решения обычно оказываются самыми действенными, и в этом смысле показателен пример наивного байесовского алгоритма. Несмотря на большие успехи машинного обучения в последние...
Где и как применить Python на практике? Три основные сферы его применения
Если вы собираетесь изучать такой язык программирования, как Python, или уже изучаете — у вас может возникнуть резонный вопрос:
«Для решения каких конкретных задач я могу использовать...
Разбор 7 ошибок Python
Как только задачи, стоящие перед специалистами по данным, переходят из родной научной области в сферу разработки ПО, решать их становится все труднее. И хотя...
Работа с панелью индикаторов. Руководство программиста Python. Часть 3
Часть 1, Часть 2, Часть 3
В этой серии статей в качестве основной платформы для Dashboarding используется Dash от Plotly.
Прежде чем перейти к этой статье,...
Как вычислить миллионное число Фибоначчи на Python
Как-то раз я захотел найти оптимальное решение для вычисления чисел Фибоначчи и решил попробовать вычислить стотысячное число в последовательности, а потом подумал: если бы...
8 экспертных советов по использованию Apache Spark
Хотите в совершенстве освоить Apache Spark? Воспользуйтесь советами эксперта, 1,5 года проработавшего с клиентами Databricks. Узнайте, как работает Spark, что общего между этим фреймворком и продовольственным магазином и как добиться в работе с ним оптимальных результатов.
Гениально или глупо? Самая неоднозначная нейросеть
Некоторые считают нейронную сеть экстремального обучения (ELM) одной из самых удачных нейросетей — изучению её архитектуры даже посвящена отдельная конференция. Сторонники ELM утверждают, что для выполнения...
Как алгоритм «случайный лес» вычисляет продавцов-мошенников на онлайн-рынке
Как показала практика, интернет полон мошенников, охотящихся за наивными пользователями. Посмотрим, как специальная модель МО обнаруживает злоумышленников на C2C-рынке.
Как искусственный интеллект меняет финансовый сектор?
Анализ акций и других ценных бумаг обычно кажется нам крайне трудоёмким процессом. Эффективное управление рисками требует масштабных исследований и анализа моделей, данных и отраслевых...
Что думают ученые-компьютерщики о влиянии ИИ на общество
В ученой среде традиционно считают, что нельзя привносить этические или политические ценности в научный процесс. Но что, если исследования порождают проблемы безопасности, вызывают расистские...
Краткий обзор 10 популярных архитектурных шаблонов приложений
Вы когда-нибудь задавались вопросом о том, как именно разрабатываются масштабные системы крупных предприятий? До того, как перейти к непосредственной разработке программного обеспечения, мы определяемся...
DetectoRS - новейшее средство обнаружения объектов от Google Research
В области компьютерного зрения не прекращается поиск новых техник, алгоритмов и сквозных обучаемых конвейеров для задач по обнаружению объектов и сегментации изображений. Каждый год...
Типы операций обновления в MongoDB с использованием Spring Boot
Разбираемся, как обновлять данные в MongoDB, в чем заключаются преимущества и недостатки существующих способов и как выглядят результаты их применения.
Инженерия данных — не только для инженеров!
Тот, кто зарабатывает на жизнь написанием контента, наверняка может научиться работать и с данными. Начните с создания простой базы данных с использованием SQL, Python и облачных вычислений.
Ludwig на PyTorch
Простота, модульность и расширяемость - отличительные признаки декларативного фреймворка глубокого обучения Ludwig. Его разработчики представляют новую, переработанную с нуля версию - Ludwig v0.5. И главная его особенность в том, что весь бэкенд переносится на PyTorch.
Почему люди подсаживаются на TikTok? Алгоритм ИИ, который вас подловил
Tick Tok стремительно завоёвывает мир. Согласно данным Sensor Tower, это приложение для коротких видео было загружено более 2 миллиардов раз с App Store и...
7 библиотек Python для вашего первого проекта по науке о данных
Pandas
Данные играют первостепенную роль в разработке продуктов, задействующих науку о данных и машинное обучение. Однако информация часто нуждается в предварительной очистке и некоторых манипуляциях,...
5 важных аспектов замыканий в Python
Замыкания не являются уникальным явлением Python и встречаются во многих других языках. При этом несмотря на то, что большинство начинающих разработчиков об этой концепции...
Структуры данных: массивы
Предыдущая часть: "Структуры данных: основные понятия"
Массив — это контейнер, содержащий фиксированное количество элементов одного типа. В большинстве структур данных массивы используются для реализации алгоритмов.
Вот термины, необходимые...
19 скрытых фич Sklearn, о которых вам следует знать
Сегодня поговорим о 19 функциях Sklearn, о которых вы не слышали. Они представляют собой элегантную замену обычных операций, которые вы выполняете вручную.
Межорганизационный обмен данными
Преимущества объединения хранилищ данных в последнее время привлекают большое внимание организаций всех уровней. В 2018 году корпорация Google разработала проект передачи данных (Data Transfer...
Автоматический анализ текста с использованием Streamlit
Streamlit — эффективный и оперативный инструмент для анализа текста. С ним можно провести реферирование текста, частеречную разметку и распознавание именованных объектов.
Введение в анализ текста
Текстовая аналитика...
Нейронная сеть с нуля при помощи numpy
Здесь можно посмотреть полный код.
Для того, чтобы полностью понять статью, нужны базовые знания принципов работы с numpy, линейной алгебры, работы с матрицами, дифференциации и...
10 идиоматических приемов для эффективного программирования на Python
Программирование само по себе очень увлекательное занятие, а программирование на Python увлекательнее вдвойне, поскольку в данном языке существует много разных способов реализации одних и...
Как работает обратное распространение в нейронных сетях
Обратное распространение используется для эффективного обучения нейронных сетей посредством цепного правила. Рассмотрим особенности этого процесса.
7 полезных операций в Pandas при работе с DataFrame
Абстракция датафрейма является одной из наиболее полезных концепций в современной экосистеме управления данными. Вращается она главным образом вокруг табличных структур, которые имеют повышенную производительность...
Введение в потоки Redis
Redis — это хранилище структуры данных в памяти, в основном используемое в качестве базы данных, кэша и брокера сообщений. Система Redis чрезвычайно популярна среди...
5 неочевидных истин науки о данных
Хотите открыть для себя красоту машинного кода, скрывающуюся за нулями и единицами? Для начала узнайте 5 неочевидных истин науки о данных. Они помогут вам ступить на путь постижения этой увлекательной дисциплины со свежим взглядом.
Руководство для начинающих исследователей данных
Как новичку влиться в сферу науки о данных? Наличие продуманного плана может дать значительное преимущество начинающему специалисту. Предлагаем взять на вооружение план действий, основанный на личном опыте человека, добившегося успехов в этой области.
Распределенное МО с Dask и Kubernetes на GCP
Интересуетесь вопросами безопасной обработки конфиденциальных данных? Знакомьтесь с новейшей технологией использования конфиденциальных данных для аналитики и приложений ИИ. Узнайте, как всего в 3 шага развернуть кластер dask на kubernetes в общедоступном облаке GCP.
Сумма экспоненциальных случайных величин
Сумма экспоненциальных случайных величин
Пусть X1 и X2 — независимые, экспоненциальные и случайные величины со средним значением λ. Пусть Y=X1+X2. Тильда (~) означает “имеет распределение вероятностей”, например,...
Топ — 9 фреймворков в мире искусственного интеллекта
Сначала были роботы, затем ассистенты Google Now и Siri, а сегодня новый ИИ — Google Duplex. Похоже, искусственный интеллект добился определенных успехов в том чтобы стать...
От Spotify к собственной рекомендательной системе
Каждый понедельник моя жизнь озаряется одним событием. И учёба или работа здесь ни при чём — я говорю об еженедельном обновлении чудесного плейлиста “Открытия недели” на...
Инкременты и декременты
В данной статье активно используется термин «операнд».
Так что такое операнд?
Операнд — это величина, над которой операторы могут выполнять определенные действия.
О! А что такое оператор?
Оператор — это специальный символ, выполняющий...
5 инструментов для специалистов по обработке данных
Рассказываем о пяти инструментах, которые позволят сэкономить время вам и вашей команде при работе над проектом. Они помогут не только с очисткой и анализом данных, но и с построением, обучением и тестированием моделей машинного обучения.
Отслеживание фокусированного времени с помощью Python
Ценность внимания
Внимание, похоже, становится ценным активом в современном мире. Любое приложение и любой посещаемый вами веб-сайт заточен на то, чтобы заполучить частичку вашего внимания,...
GraphSAGE: как масштабировать графовые нейронные сети до миллиардов соединений
GraphSAGE - это алгоритм обучения с индуктивным представлением, который применяется для работы с графами. Посмотрим, как он работает, и сравним его с аналогичными инструментами, чтобы выявить преимущества и недостатки.
Как создать хранилище данных за 5 шагов
В проекте по созданию хранилища данных не обойтись без четкого плана действий. Познакомьтесь с ключевыми этапами его реализации - от четкой постановки бизнес-целей до запуска готового к использованию проекта.
Как освоить алгоритмы?
Чтобы что-то было сделано компьютером, нужно указать ему, как это сделать. Нужно написать программу с пошаговым объяснением: какие задачи компьютер должен выполнить и каким...
Jackknife+: «швейцарский нож» в конформном прогнозировании для регрессии
Рассмотрим преимущества Jackknife+ - эффективного метода конформного прогнозирования, который представляет собой усовершенствованную версию jackknife.
10 лайфхаков для работы с библиотекой Pandas
Pandas — широко распространённая Python-библиотека для работы со структурированными данными. По её использованию уже составлено большое количество уроков, однако, я хотел бы рассказать о нескольких небольших...
5 причин смещения в машинном обучении и что с этим делать
Смещение в машинном обучении означает, что алгоритм дает ошибочные результаты из-за неточных предположений, сделанных на одном из этапов процесса.
Чтобы разработать любой процесс машинного обучения,...
Как выбрать СУБД для решения ваших задач?
Разложим все по полочкам: типы СУБД, их преимущества и недостатки, для каких задач подходят и какие решения есть на рынке. Поможем сделать правильный выбор с учетом всех факторов.
Монада - программируемая точка с запятой
Монады — программируемые точки с запятой. Именно так. Монада предоставляет функции, позволяющие упорядочивать действия. Более того, между каждыми двумя действиями выполняется определённый фрагмент кода....
Четыре метода, которые повысят качество работы с Pandas
Знакомьтесь с "великолепной четверкой" методов - assign, map, query и explode. Это самые крутые фичи Pandas. Они сделают ваш код более ясным, элегантным и эффективным.
Пошаговое руководство по NLP: конструирование признаков текстовых данных
Конструирование признаков текстовых данных - важнейший этап МО, который может повлиять на производительность, сложность и способность модели обобщать новые данные. Предлагаем пошаговое руководство по извлечению более 10 признаков текстовых данных в Python.
Выбор между SQL и NoSQL: ACID и CAP, схема и транзакции
Детальное руководство по архитектуре баз данных: основные концепции в работе реляционных (SQL) и распределенных (NoSQL) баз данных.
Связный список в деталях
Определение и пояснение??
Когда мы будем говорить “связный список”, то подразумеваться будет однонаправленный связный список. Чтобы получше понять эту структуру данных, давайте рассмотрим ее отличительные...
Пересечение 3D-лучей (ближайшая точка)
Хотите разобраться в математической теории, лежащей в основе 3D-лучей? Предлагаем простое руководство по применению таких математических инструментов, как псевдообратные матрицы, оптимизация с помощью наименьших квадратов, метод Крамера, смешанное произведение.
Много узлов, одна распределенная система
Говорят, что один (мужчина, женщина — какой-то человек) — в поле не воин. Но в наши дни к этому списку можно добавить и «компьютер». Мы окружены машинами, компьютерами...
Создание анимации Gapminder двумя строчками кода с помощью Plotly Express
«Дисклеймер: мною использовался новый модульplotly_express, сама анимация Gapminder не создавалась с нуля всего двумя строчками.»
Один из значимых моментов в истории визуализации данных — презентация...
Пять парадоксов с вероятностью, которые вас озадачат
А может быть сможете их перехитрить?
В повседневной жизни мы постоянно сталкиваемся с ситуациями неопределенности. Так, по крайней мере подсознательно, мы постоянно встречаемся с вероятностями....
Три библиотеки R, которые должен знать каждый специалист по данным
Даже если вы используете Python, включите в свой арсенал инструментов три мощные библиотеки R, созданные крупнейшими технологическими компаниями мира.
Пишем нейронную сеть, предсказывающую рак груди, за пять минут
Минута первая: вступление
Этот высокоуровневый урок рассчитан на новичков в машинном обучении и искусственном интеллекте. Для того, чтобы успешно создать нейронную сеть, необходимы:
Установленный Python второй...
6 алгоритмов машинного обучения, которые должен знать каждый исследователь данных
Машинное обучение - одна из тех областей, которые должен знать каждый, кто изучает науку о данных. Предлагаем описание 6 ключевых алгоритмов контролируемого МО, изложенное простым, доступным языком.
Как легко развертывать модели МО с помощью Streamlit, BentoML и DagsHub
Хотите поделиться проектом, но не знаете, как это лучше сделать? Рассмотрим простой способ представления моделей МО с использованием Streamlit, BentoML и DagsHub.
Пошаговое руководство по обучению модели на Vertex AI от Google Cloud
Предыстория и личный интерес
Не так давно компания Google предоставила во всеобщее пользование свою облачную платформу для машинного обучения — Vertex AI. Моей радости просто нет...
Двоичные деревья: управляемый подход к поиску значений
Зачем
Разработчик нанимается небольшим городом населением в сто тысяч. Задача состоит в том, чтобы преобразовать бумажную телефонную книгу в цифровой вариант. У мэра города есть...
Random forest в Python
Практический пример машинного обучения
До сих по еще не было более удачного времени для машинного обучения. Благодаря доступным учебным онлайн ресурсам в Интернет, бесплатные инструменты...
В каком возрасте вы получите Нобелевскую премию — визуализация на языке R.
Вы когда-нибудь пробовали решать задачи с помощью визуализации? Предлагаем решить занимательную задачу на языке R.
Нобелевские премии (до 1969 года всего их было пять, а...
Скрытые алмазы: уведомления об изменениях в БД
Вступление
Получение управляемых событиями уведомлений об изменениях (EDCN), когда данные изменяются непосредственно из БД, без необходимости опроса для получения обновлений — очень эффективная функциональность. Подобная доступна в...
Стоит ли учить Julia?
Julia — это новейший IT-язык, поэтому я решил его попробовать. Вопрос в том, стоит ли добавлять его в арсенал специалиста по данным?
Установка
Первое, что стоит знать о...
SpineNet: нетрадиционная архитектура backbone-сети от Google Brain
Проблема классификации была весьма эффективно решена при помощи архитектур типа “энкодер-декодер”, в которых энкодерам свойственно постепенное уменьшение масштаба. Однако эта архитектура не способна эффективно...
Раскрываем возможности контейнеризации. Зачем дата-сайентистам Docker и Kubernetes?
Разберем отличия и преимущества Docker и Kubernetes, применяемые инструменты и терминологию. Какова роль контейнеризации и оркестрации в эффективной работе дата-сайентиста?
10 Графовых алгоритмов
Графы превратились в невероятно сильное средство моделирования и получения данных из соцсетей, веб-страниц и ссылок, а также определения местоположения и маршрутов в GPS. Любой...
Что такое большие данные: комплексный обзор
Большие данные появились в конце 2000-х годов и стали настоящим технологическим прорывом. Предлагаем поразмышлять над тем, в чем суть этого феномена, как он позволяет оптимизировать бизнес-процессы и как им можно управлять.
4 способа обработки ошибок для стеков
Обработка ошибок — это часть рабочих будней каждого программиста. Всегда были и будут ситуации, когда по какой-либо причине код не заработает, и наша задача — следить за тем,...
8 базовых понятий статистики для науки о данных
Статистика — это разновидность математического анализа, использующая количественные модели и репрезентации для анализа экспериментальных или реальных данных. Главное преимущество статистики — простота представления информации. Недавно я пересматривала материалы...
Байесовская статистика для специалистов по данным
Возможно, вы помните теорему Байеса как громоздкое уравнение из курса статистики, которое вам нужно было заучить. Но за ним кроется нечто большее. Эта теорема...
Почему 0,99999… равно 1
Давайте разберёмся, почему математики говорят, что 0,(9)=1. То есть ноль целых девять в периоде равно одному. Объяснение простое, но красивое.
Об изображении: это не просто...
Создание локального озера данных с нуля
Настроим все необходимые службы и компоненты, в том числе оркестратор конвейера данных и SQL-движок, инициируем сеанс Spark для Apache-форматов Iceberg и Delta и выполним простой ETL-процесс. Заложим основу для более сложных конвейеров.
Вычисление π: моделирование методом Монте-Карло
Каждый год 14 марта любители математики отмечают День числа пи! Есть много способов вычислить это легендарное число π, которое примерно равно 3,14159…
Обсудим все эти...
Как импортировать наборы данных Kaggle в Google Colab?
Хотите поработать с набором данных Kaggle в блокноте Colab? Предлагаем простейший пошаговый алгоритм загрузки набора данных Kaggle в Colab-среду.
Состояние инфраструктуры данных на 2023 год — ключевые тренды ландшафта MAD от Мэтта Терка
Как выглядит ландшафт инструментов по работе с данными глазами инсайдера, который активно общается с конечными пользователями? Рассмотрим, какова ситуаций в целом и какие в ней наблюдаются тенденции.
8 способов “настроить” Data-команду на успех. Часть вторая
Предыдущие части: Часть 1
Другие лучшие практики
Далее я привожу вымышленные сценарии, рассматривая общие стратегии, которые менеджеры должны использовать, чтобы не навредить своей Data-команде.
2) Ищите «Систематические ошибки...
К подготовке и публикации первого пакета Python готовы!
Python стал одним из самых широко используемых языков программирования. Главным образом объясняется это тем, что мы, его обычные пользователи, можем поделиться своим кодом, обеспечивая...
Тестирование больших данных: руководство для начинающих
Что такое тестирование больших данных, и с какими проблемами можно столкнуться в этом процессе? Расскажем про основные типы, способы и инструменты тестирования больших данных.
Стилизация фотографий под мультфильмы с помощью Python
Чтобы придать фотографиям особый эффект рисованного мультфильма, можно применить на них методы машинного обучения Python
Как вы, наверное, знаете, рисование или создание мультфильмов не всегда делается...
Прозрачность: иллюзии единой системы. Часть 2
Предыдущие части: Часть 1
Одной из (множества) причин сложности распределенных систем является то, что они пытаются делать множество вещей одновременно. Распределенная система создает для конечного...
ТОП-4 официальных сайта МО-библиотек и способы их использования
Ознакомьтесь с обзором 4 лучших сайтов машинного обучения: Scikit-learn, TensorFlow, Keras и PyTorch. Предлагаем также освоить эффективные способы применения каждого из этих ресурсов.
MongoDB: введение, преимущества и настройка среды
В данной серии руководств объясним ключевые концепции MongoDB, необходимые для создания и развертывания высоко масштабируемой базы данных с акцентом на производительность.
Как ИИ меняет сферу финансов
Миллионы клиентов, миллиарды транзакций, триллионы активов. Финансовая сфера, как мы знаем, является движущей силой мировой экономики и мира, в котором мы живём. Вместе с...
Что такое тензор?
Концепция тензора была создана в 1900 году двумя итальянскими математиками — Туллио Леви-Чивита и Грегорио Риччи-Курбастро, и, как это обычно бывает, основывалась на работе других математиков....
Python для анализа данных: 8 концепций, о которых вы могли забыть
Проблема
Если вы когда-либо «гуглили» одни и теже вопросы, термины или синтаксис снова и снова, знайте — вы не одиноки.
Я делаю это постоянно!
Это нормально, если вы постоянно...
Создаём расширение для Chrome
Написать расширение для Chrome непросто. Это не то же самое, что разработка веб-приложения: не хочется перегружать браузер оверхедом JS, ведь расширения работают одновременно с...
10 правил программирования NASA
10 правил, призванных облегчить проведение контроля и статического анализа кода.
Вот что об этих правилах говорят в NASA:
Правила можно сравнить с ремнём безопасности в машине: сначала...
5 недооцененных возможностей JavaScript
Скорее всего, вы не используете эти 5 методов работы с JavaScript. Их можно отнести к одним из самых недооцененных возможностей TypeScript. Впрочем, у вас есть шанс восполнить этот пробел.
Обработка естественного языка в Python. Основы
Я описал инструменты и методы для новичков, имеющих только общее представление в данной теме. Если вы более опытный практик, вам нужны вторая часть о...








































































































