Структуры данных, которые необходимо знать каждому программисту
Пройти путь от нуля до профессионального инженера-программиста можно исключительно с помощью бесплатных ресурсов в интернете. Но разработчики, которые идут по этому пути, часто игнорируют...
Как быстро и легко создавать прототипы датасайенс-проектов
Преобразовать Jupyter Notebook в интерактивный дашборд - задача из простых. Для этого даже не нужно знать HTML, CSS и JavaScript. Разбираемся, как создать приложение для совместного использования прямо в среде ноутбука с помощью Mercury.
ClickHouse + Kafka = ❤
Узнаем, как внедрить в проект средство аналитики, на что способен ClickHouse в сочетании с Kafka и для чего нужны здесь материализованные представления. Построим небольшую аналитическую систему.
Анализ аудиоданных с помощью глубокого обучения и Python (часть 2)
Предыдущая часть: Часть 1
Сверточные нейронные сети (CNN) схожи с обычными нейронными сетями: они состоят из нейронов с обучаемыми весами и сдвигами. Каждый нейрон получает...
Как учатся машины
С каждым днём машины становятся умнее. Когда вы заходите на YouTube, Amazon, или Facebook, то для вас автоматически подбираются рекомендованные видео, товары и посты....
Внутренняя платформа МО Bigeye: цели и методы создания
Машинное обучение на платформе Bigeyeизбавляет инженеров и специалистов по обработке данных от необходимости вручную настраивать критерии оповещений. Оно существенно экономит время, ведь получение показателей...
Рекурсия и цикл, в чем разница? На примере Python
Цикл — это фундаментальный инструмент в программировании. Существует множество различных типов циклов, но почти все они выполнят одну базовую функцию: повторение определённых действий над данными, для...
Как инструменты дизайна интерфейса и визуализации способствуют развитию Machine Teaching?
Разметка данных для машинного обучениянесет в себе ряд проблем и сложностей. Поэтому нам понадобится лучший подход, который ценит человеческий опыт и управляет расходами, а...
Почему логарифмы так важны в машинном обучении
Если бы вы жили на 10-м этаже, вы бы поднимались по лестнице или пользовались лифтом? Цель в обоих случаях одна: вы хотите вернуться домой...
Глубокие свёрточные нейросети: руководство для начинающих
Перед прочтением
В этой статье предполагается, что у читателя уже есть базовые знания о глубоких нейронных сетях (нейронных сетях прямого распространения). О них подробно рассказывалось...
Топ — 9 фреймворков в мире искусственного интеллекта
Сначала были роботы, затем ассистенты Google Now и Siri, а сегодня новый ИИ — Google Duplex. Похоже, искусственный интеллект добился определенных успехов в том чтобы стать...
Годовой план изучения науки о данных
2020-ый наконец-то закончился, а значит уже можно начать планировать 2021-ый. Для начала зададим себе вопрос: чему мы хотим научиться в этом году?
Многие выбирают в...
Какие десять книг про науку о данных и искусственный интеллект стоит прочитать в 2020
Чтобы стать экспертом в какой-либо области, нужно взять на себя обязательство учиться и быть последовательным в достижении своих целей. И это справедливо для всех...
Python для анализа данных: 8 концепций, о которых вы могли забыть
Проблема
Если вы когда-либо «гуглили» одни и теже вопросы, термины или синтаксис снова и снова, знайте — вы не одиноки.
Я делаю это постоянно!
Это нормально, если вы постоянно...
Расширение Jupyter для VS Code
Блокноты — отличный инструмент для инкрементальной разработки концепций ПО. С их помощью специалисты по данным отслеживают структуру своей работы, исследуют алгоритмы, быстро набрасывают новые...
MongoDB: введение, преимущества и настройка среды
В данной серии руководств объясним ключевые концепции MongoDB, необходимые для создания и развертывания высоко масштабируемой базы данных с акцентом на производительность.
Алгоритм Рабина-Карпа с полиномиальным хешем и модульной арифметикой
Введение
Созданный Ричардом Карпом и Майклом Рабином алгоритм Рабина-Карпа — это алгоритм поиска строки, который использует хеширование для поиска совпадений между заданным шаблоном поиска и...
Парадокс надежности ИИ
Представьте, что вы босс и у вас в штате два работника (человека):
Кирилл Небрежный — это сплошное разочарование. Лишь в 70% случаев он справляется с...
Плотность вероятности - это не сама вероятность
Наибольшее значение вероятности — единица. Это общеизвестный факт! Однако для некоторых плотностей вероятности (например, плотности вероятности экспоненциального распределения на графике ниже), когда λ= 1.5 и ?...
Эффективное итерирование по строкам в Pandas DataFrame
Рассмотрим продвинутые методы итерирования по строкам, которые заменят iterrows и itertuples. Некоторые из них позволяют повышать производительность почти в две тысячи раз, не снижая при этом читабельности кода.
5 уникальных подходов Google к инженерии данных
Когда я пришел в Google в качестве поставщика в 2019 году, у меня уже был опыт работы в области здравоохранении и технологическом секторе. Тем...
Структуры данных: динамическое программирование
Подход динамического программирования схож с подходом «разделяй и властвуй»: тоже разбивает задачи на как можно более мелкие подзадачи. Отличие в том, что здесь подзадачи решаются не независимо.
DetectoRS - новейшее средство обнаружения объектов от Google Research
В области компьютерного зрения не прекращается поиск новых техник, алгоритмов и сквозных обучаемых конвейеров для задач по обнаружению объектов и сегментации изображений. Каждый год...
Python: как заменить циклы For на Map, Filter и Reduce
Вы когда-нибудь смотрели на свой код и видели водопад из циклов for? Вам приходилось щурить глаза и наклоняться к монитору, чтобы рассмотреть его поближе?
Я...
7 критериев выбора подходящего фреймворка для глубокого обучения
Обработка данных эффективна в тандеме с адекватным фреймворком для глубокого обучения. Возможно, вы тоже находитесь в поисках идеальной для себя библиотеки? В любом случае не пропустите сравнительный анализ самых популярных платформ - Pytorch, Keras и Tensorflow.
Настройка Data Science окружения на вашем компьютере
После прохождения различных курсов и обучения на различных образовательных платформах, вроде Datacamp, вашим следующим шагом станет использование полученных знаний о Python, R, Git или...
Как вычислить миллионное число Фибоначчи на Python
Как-то раз я захотел найти оптимальное решение для вычисления чисел Фибоначчи и решил попробовать вычислить стотысячное число в последовательности, а потом подумал: если бы...
Структуры данных: двусвязный (двунаправленный) список
Двусвязный список - это разновидность связного списка, при которой переход по элементам возможен в обоих направлениях (как вперед, так и назад), в отличие от односвязного списка.
Статистические типы данных, используемые в машинном обучении
Введение в статистику
Статистика — это наука об изучении данных. Знания в этой области позволяют использовать подходящие методы сбора и анализа данных, а также эффективно представлять результаты...
8 экспертных советов по использованию Apache Spark
Хотите в совершенстве освоить Apache Spark? Воспользуйтесь советами эксперта, 1,5 года проработавшего с клиентами Databricks. Узнайте, как работает Spark, что общего между этим фреймворком и продовольственным магазином и как добиться в работе с ним оптимальных результатов.
Автоматизация Doom с глубоким Q-обучением: реализация в Tensorflow
Введение
Методы онлайнового обучения машин (ОО) — это семейство динамических алгоритмов обучения с подкреплением, которое стоит за кулисами многих достижений во всей области ИИ за последние десять...
Обратные вызовы Keras за 2 минуты
Что такое обратный вызов Keras?
Из документации Keras:
Обратный вызов — множество функций, применяемых на данной стадии тренировки. Вы можете использовать их, чтобы посмотреть на внутреннее состояние...
Быстрая сборка и развертывание дашборда со Streamlit
Со Streamlit разработка дашборда для решения машинного обучения становится невероятно простой.
Streamlit — это фреймворк с открытым кодом, специально разработанный для инженеров машинного обучения, работающих с Python....
Инкременты и декременты
В данной статье активно используется термин «операнд».
Так что такое операнд?
Операнд — это величина, над которой операторы могут выполнять определенные действия.
О! А что такое оператор?
Оператор — это специальный символ, выполняющий...
GraphSAGE: как масштабировать графовые нейронные сети до миллиардов соединений
GraphSAGE - это алгоритм обучения с индуктивным представлением, который применяется для работы с графами. Посмотрим, как он работает, и сравним его с аналогичными инструментами, чтобы выявить преимущества и недостатки.
MongoDB: индексация
Индексы поддерживают эффективное выполнение запросов. Без них MongoDB сканировала бы каждый документ коллекции, отбирая нужные в соответствии с инструкцией запроса. Такое сканирование малоэффективно и предполагает обработку больших объемов данных.
Новая библиотека превосходит Pandas по производительности
Выпуск pandas датируется 2008 годом, и написана она была на Python, Cython и Си. Сегодня мы сравниваем производительность этой всем известной библиотеки с новой...
Погружение в графы
Графы в большинстве своем представляют собой неупорядоченные деревья. В основном это утверждение касается ненаправленных и невзвешенных графов. Однако оно остается в силе и в...
Наука о данных в “царстве” Web3
Что лучше - традиционные платформы или платформы Web3? Попробуем разобраться.
5 подводных камней нереляционных баз данных
Когда речь заходит о нереляционных базах данных, не все видят две стороны одной медали: многие упускают из виду то, что у этих баз данных...
Основы SQLite на примере практической задачи
Базы данных — это превосходный, безопасный и надежный способ хранения данных. Все основные реляционные базы объединяет SQL, т.е. язык управления данными, их базами и...
Статистика - это грамматика науки о данных. Часть 4
Повторение статистики для начала путешествия по науке о данных
Часть 1, Часть 2, Часть 3, Часть 4, Часть 5
Введение
Предположим, у нас есть диаграмма...
Качество превыше количества: создание идеального проекта в науке о данных
В стартапе, жаргонизм «метрика тщеславия» означает число, находящееся под контролем компании для того, чтобы убедить мир — а иногда и самих себя — в том, что они успешнее,...
Рекуррентная нейронная сеть с головы до ног
Нейрон — строительный элемент человеческого мозга. Он анализирует сложные сигналы за микросекунды и отправляет ответы нервной системе, которая решает сложные задачи. У всех нейронов одна и...
Как добиться от моделей глубокого обучения большей генерализации?
Вы можете использовать IRM практически в любой базовой модельной структуре. Однако эта система наиболее эффективна, когда ее применяют к моделям черного ящика, оперирующим большим...
Этические проблемы в науке о данных
Затронем вопросы этики в науке о данных. Выявим имеющиеся проблемы и предложим пути решения.
Три библиотеки R, которые должен знать каждый специалист по данным
Даже если вы используете Python, включите в свой арсенал инструментов три мощные библиотеки R, созданные крупнейшими технологическими компаниями мира.
Обучение Inception в Google распознаванию пользовательских изображений
Ищете краткое руководство по обучению классификатора пользовательских изображений? С помощью Inception API от Google Brain с этой задачей можно справиться быстрее, чем выпить чашку...
String и string в С#: больше, чем просто стиль?
Обзор
Во-первых, давайте рассмотрим оба типа:
String— это обычный идентификатор, который относится к типу данных .NET System.String. Также необходимо, чтобы был импортирован класс System.
string— это зарезервированный дескриптор в...
Алгоритмы машинного обучения простым языком. Часть 2
Предыдущие части: Часть 1
Ридж- и лассо- регрессия
Моя бабушка до сих пор не очень напугана, поэтому продолжаем!
Линейная регрессия не такая уж и пугающая, правда? Это...
Метод опорных векторов: примеры на Python
Метод опорных векторов (далее МОВ) — это техника машинного обучения с учителем. Она используется в классификации, может быть применена к регрессионным задачам.
Метод определяет границу...
Разностный алгоритм Майерса и наблюдаемые свойства в Kotlin - как их объединить, чтобы облегчить жизнь разработчика
Посмотрите на анимацию ниже. Это группа разноцветных элементов, которые при нажатии кнопки начинают перемещаться. С точки зрения разработчика, эти элементы размещаются внутри RecyclerView с...
В чем преимущество контрактов о передаче данных
Контракты о передаче данных - это возможность избавить дата-саентистов от неприятностей в работе с данными сомнительного качества. Предлагаем познакомиться с конструктивным подходом к таким соглашениям.
Изучение нового языка для работы с данными
В постоянно меняющейся экосистеме инструментов для анализа данных вам придется часто изучать все новые и новые языки, чтобы идти в ногу со временем и...
Вычисление π: моделирование методом Монте-Карло
Каждый год 14 марта любители математики отмечают День числа пи! Есть много способов вычислить это легендарное число π, которое примерно равно 3,14159…
Обсудим все эти...
5 базовых статистических концептов, которые должен знать каждый специалист по обработке данных
В таком искусстве, как наука о данных, статистика может оказаться мощным инструментом. В широком смысле, статистика означает использование математики для технического анализа данных. Базовая...
Искусственный интеллект: надежды и угрозы
Регулярно появляющиеся новости о стремительном развитии и потенциальных угрозах искусственного интеллекта (ИИ) все сильнее будоражат общественность. Нужно ли приветствовать революцию ИИ или стоит ее...
Раскрываем возможности контейнеризации. Зачем дата-сайентистам Docker и Kubernetes?
Разберем отличия и преимущества Docker и Kubernetes, применяемые инструменты и терминологию. Какова роль контейнеризации и оркестрации в эффективной работе дата-сайентиста?
Креативное программирование: методы и инструменты для JavaScript, Python и других языков
Креативное программирование
Задача этого вида программирования состоит в создании не функционального, а выразительного продукта. В этом процессе немаловажную роль играет эстетика, и именно поэтому он...
Как за месяц создать систему учета посещаемости на базе распознавания лиц
Нестандартные решения - верные помощники в разработке инноваций. Представляем инновационный проект управления посещаемостью, созданный двумя инженерами-программистами менее чем за месяц.
Создание интерфейсов, удобных для алгоритмов
Дизайнер должен досконально знать материалы, с которыми работает. В прошлом это было понимание особых свойств древесины, металлов, печатных станков и, наконец, пикселей. Современным дизайнерам...
Будущее данных: децентрализованная графовая база данных
Происходит смена парадигмы, которая коренным образом изменит способы хранения, обработки и передачи данных внутри компаний. Эта смена породит изобилие новых возможностей, в том числе...
Привет, Go!
За последние пару месяцев я полюбил Go по разным субъективным причинам. Чтобы продемонстрировать всю красоту и простоту языка Go, рассмотрим классическую небольшую программу, которая...
Квантовые вычисления для всех
Квантовые вычисления. Наряду с квантовой запутанностью и квантовой телепортацией это модное учёное словечко широко распространено в научной фантастике и научно-популярных СМИ. Но что оно...
Python в 2021: расписание релизов и основные функции
На данный момент мы используем Python 3.8, а последняя стабильная версия 3.8.4 была выпущена совсем недавно. Python 3.9 уже находится на стадии бета-тестирования, а...
Распознавание звуков с помощью глубокого обучения
Вы когда-нибудь просыпались с непонятным ощущением: слышишь какой-то звук, но точно знаешь, что в этом звуке что-то не то?
Распознавание звуков — это один базовых...
Отслеживание фокусированного времени с помощью Python
Ценность внимания
Внимание, похоже, становится ценным активом в современном мире. Любое приложение и любой посещаемый вами веб-сайт заточен на то, чтобы заполучить частичку вашего внимания,...
От Spotify к собственной рекомендательной системе
Каждый понедельник моя жизнь озаряется одним событием. И учёба или работа здесь ни при чём — я говорю об еженедельном обновлении чудесного плейлиста “Открытия недели” на...
List Comprehensions в Python за 5 минут
Зачем нужен list comprehension в Python?
Чтобы сохранить строчки кода.
List comprehensions — это один из способов создания Pythonic-однострочников (one-liners) с итерируемыми списками.
В качестве примера рассмотрим продуктовую корзину. Вы...
Когда ИИ или машинное обучение неуместны
Вообразите, что вам только что удалось заполучить набор данных клинических испытаний. Превосходно! Чтобы помочь вам войти в роль, я подготовила следующие данные:
Представьте, что эти...
3 распространенные ошибки при поиске работы в области науки о данных в 2022 году
Мечтаете связать свою жизнь с наукой о данных? Тогда прислушайтесь к рекомендациям эксперта в этой отрасли. Они помогут избежать наиболее распространенных ошибок при поиске работы.
Анализ социальных сетей: от теории графов до приложений на Python
Теория сетей
Начнем с краткого введения в базовые компоненты сети: узлы и ребра.
Узлы (например, A,B,C,D,E) обычно представляют объекты в сети и содержат собственные и сетевые...
О машинном обучении простым языком
В XXI веке машинное обучение и искусственный интеллект будут “править бал”. Ежедневно мы производим большое количество данных. Сюда также входят данные о покупках клиентов...
Завораживающая последовательность Фибоначчи
Занимаясь изучением обработки данных, расчётами, а также другими компьютерными и математическими операциями, мы сталкиваемся со многими алгоритмами. Несмотря на то, что иногда мы недолюбливаем...
Инженерия геопространственных данных: пространственное индексирование
Слышали ли вы о пространственном индексировании? Эта технология обладает мощным потенциалом: она способна оптимизировать производительность запросов, сэкономить время обработки данных и упростить задачи машинного обучения.
Руководство для начинающих исследователей данных
Как новичку влиться в сферу науки о данных? Наличие продуманного плана может дать значительное преимущество начинающему специалисту. Предлагаем взять на вооружение план действий, основанный на личном опыте человека, добившегося успехов в этой области.
Автоматическое создание музыки с помощью искусственного интеллекта
Раз уж мы в начале 2021 года, то должны затронуть тему, о которой много говорилось в последнее время. По мере того, как всё больше...
Как создать первый проект по инженерии данных: инкрементный подход. Часть 1
Инкрементный подход фокусируется на последовательном приращении функциональности продукта. При разработке проекта по инженерии данных такой подход гарантирует успех. Он повышает управляемость проектом, позволяет изучать различные концепции по мере продвижения и ускоряет выпуск более качественных продуктов.
Теория графов в кратком и практичном изложении
Графы являются очень полезной в программировании структурой, поскольку зачастую задачи компьютерной науки можно представить в виде графа и решить с помощью одной из его...
Как легко развертывать модели МО в 2022 году с помощью Streamlit, BentoML и DagsHub
Хотите поделиться проектом, но не знаете, как это лучше сделать? Рассмотрим простой способ представления моделей МО с использованием Streamlit, BentoML и DagsHub.
Обзор шаблонов SnapML и их возможностей в Lens Studio
В июне 2020 года Snapchat выпустил Lens Studio 3.0. — крупное обновление своего ПО для создания эффектов дополненной реальности (далее AR). Среди всего изобилия новшеств релиза...
Пошаговое построение логистической регрессии в Python
Логистическая регрессия — это алгоритм классификации машинного обучения, используемый для прогнозирования вероятности категориальной зависимой переменной. В логистической регрессии зависимая переменная является бинарной переменной, содержащей данные, закодированные...
RUID - уникальные 64-битные идентификаторы для распределенных баз данных
RUID (Rodrigo’s Unique Identifiers) — это 64-битные идентификаторы с математически гарантированной уникальностью при генерировании в одном и том же RUID root. Ознакомьтесь с ними...
Как работает GPT3
Обученная языковая модель генерирует текст. В качестве входных данных при желании ей можно также передать некоторый текст, влияющий на выходные данные. Выходные данные генерируются...
Почему точные модели не всегда полезны
Утверждение, которое кажется парадоксальным: точность модели - не главный признак ее эффективности! Важно также разработать продукт, оправданный с денежной точки зрения. Сегодня поговорим о том, как функции экономической полезности помогают связать МО-модели с нуждами клиентов.
Как составить Data Science портфолио? Часть 4
Предыдущие части: Часть 1, Часть 2, Часть 3
Medium и/или другие платформы для блоггинга.
Блог — это способ показать, что вы что-то умеете. Когда вы пишите о проекте...
3 простых шага для оптимизации гиперпараметров в любом Python-скрипте
Итак, вы написали Python-скрипт, который обучает и оценивает модель машинного обучения. И теперь вам хочется оптимизировать гиперпараметры и повысить производительность модели.
Я помогу!
В данной статье...
Сможет ли Julia занять место рядом с Python
Julia и Python —языки программирования, которыми я очень дорожу. Использование Julia вместо Python обладает множеством преимуществ, таких как меньшее время написания кода и более...
Гениально или глупо? Самая неоднозначная нейросеть
Некоторые считают нейронную сеть экстремального обучения (ELM) одной из самых удачных нейросетей — изучению её архитектуры даже посвящена отдельная конференция. Сторонники ELM утверждают, что для выполнения...
MongoDB: агрегирование
Операции агрегирования обрабатывают данные и возвращают вычисленные результаты. Они группируют значения из нескольких документов, выполняют с ними разные действия и возвращают один-единственный результат. В SQL аналогами операций агрегирования MongoDB являются функция count(*) и оператор group by.
Автоматический анализ текста с использованием Streamlit
Streamlit — эффективный и оперативный инструмент для анализа текста. С ним можно провести реферирование текста, частеречную разметку и распознавание именованных объектов.
Введение в анализ текста
Текстовая аналитика...
5 любопытных библиотек Python
Как один из наиболее популярных языков программирования, Python содержит огромное количество прекрасных библиотек, облегчающих разработку, таких как Pandas, Numpy, Matplotlib, SciPy и так далее.
Однако...
Сумасшедший способ проверить, является ли число простым, используя регулярное выражение
В поисках алгоритмов для выявления простых чисел, вы где-нибудь, да встречали подобное выражение:
Что это? Это способ проверки, является ли число простым. Вам даже не...
Гамма-функция - интуиция, определение, примеры
Почему это интересно?
Многие распределения вероятностей определяются с использованием гамма-функции, я перечислю лишь некоторые: гамма-распределение, бета-распределение, распределение Дирихле, распределение хи-квадрат, т-распределение Стьюдента и так далее.
Для...
Создайте приложение для резюмирования новостных статей с Hugging Face и Gradio
У вас накопилась масса закладок со статьями для последующего чтения, но вы так и не добрались до них? Нет времени читать длинные статьи?
Хотите узнать...
Анализ автоаварий в Барселоне с использованием Pandas, Matplotlib и Folium
Open Data Barcelona - это сервис, предоставляющий наборы данных Барселоны, который содержит около 400 наборов, охватывающих широкий спектр тем, таких как население, бизнес и...
29 сниппетов Pytorch для ускорения цикла машинного обучения
Мне очень нравится задействовать фрагменты кода для создания более быстрых циклов итераций по сравнению с традиционными конвейерами машинного обучения. Pytorch уже давно стал важной...
ТОП-4 официальных сайта МО-библиотек и способы их использования
Ознакомьтесь с обзором 4 лучших сайтов машинного обучения: Scikit-learn, TensorFlow, Keras и PyTorch. Предлагаем также освоить эффективные способы применения каждого из этих ресурсов.
Обнаружение фейковых новостей с помощью машинного обучения
Что общего у фейковых новостей? Как создать чат-бота, который отличает такие новости от реальных? Почему BERT не является универсальным решением в машинном обучении? Узнайте ответы на эти и сопутствующие вопросы прямо сейчас.
Последовательное объединение адаптеров с помощью MergeAdapter
Пример использования: отображение верхнего и нижнего колонтитулов списка.
MergeAdapter — это новый класс, доступный в recyclerview:1.2.0-alpha02, который позволяет последовательно объединять несколько адаптеров для отображения в одном RecyclerView....
Сетевое программирование в Go
Предлагаем пошаговый гайд по созданию надежного TCP-сервера с использованием Go. Такой сервер обеспечивает регистрируемую и контролируемую доставку потока одновременных соединений.
3 функции Pandas для группировки и агрегирования данных
При работе с данными в Pyth on у программистов есть инструмент, который никогда не подведет: pandas. Это полнофункциональная и интуитивно понятная библиотека с открытым...
Заменит ли аутентификация по лицу традиционную систему веб-аутентификации
Беспокоитесь о дополнительном уровне безопасности для своих веб-приложений? Новая SaaS-платформа FaceIO, предоставляющая библиотеку аутентификации по лицу, поможет решить эту проблему. Предлагаем подробный гайд по установке и использованию FaceIO.
Как обучать программированию подростков?
В последнее время многие родители спрашивали меня, как я учился программировать, в основном, чтобы узнать, как им обучать своих детей. И каждый раз я...