Почему лучшее - враг хорошего в MLOps?
Вы наверняка слышали об исследовании, которое подтвердило, что ML-проекты чаще терпят фиаско, чем оказываются успешными. Даже если статистика провалов в этой сфере кажется вам...
Завораживающая последовательность Фибоначчи
Занимаясь изучением обработки данных, расчётами, а также другими компьютерными и математическими операциями, мы сталкиваемся со многими алгоритмами. Несмотря на то, что иногда мы недолюбливаем...
Простыми словами о рекурсии
В программировании рекурсия, или же рекурсивная функция — это такая функция, которая вызывает саму себя.
Рекурсию также можно сравнить с матрёшкой. Первая кукла самая большая, за ней...
Стоит ли учить Julia?
Julia — это новейший IT-язык, поэтому я решил его попробовать. Вопрос в том, стоит ли добавлять его в арсенал специалиста по данным?
Установка
Первое, что стоит знать о...
Под покровом капустного листа: шаблон Декоратор
Я родилась в городке, расположенном на западном берегу реки Амур на Дальнем востоке России. Эта область известна своим влажным континентальным климатом, для которого характерны...
Блокчейн и искусственный интеллект - мощный тандем
Альянс искусственного интеллекта и блокчейна способен произвести настоящую революцию в промышленности. При этом обе передовые технологии могут эффективно расширять возможности друг друга.
Гамма-функция - интуиция, определение, примеры
Почему это интересно?
Многие распределения вероятностей определяются с использованием гамма-функции, я перечислю лишь некоторые: гамма-распределение, бета-распределение, распределение Дирихле, распределение хи-квадрат, т-распределение Стьюдента и так далее.
Для...
Как установить несколько версий Python в WSL2 и управлять ими
Открываем PowerShell
PowerShell — это командная оболочка и объектно-ориентированный язык сценариев, который используется для настройки системных параметров и автоматизации задач администрирования. В операционной системе практически...
Алгоритмы машинного обучения простым языком. Часть 3
Предыдущие части: Часть 1, Часть 2
Логистическая регрессия
Итак, мы уже познакомились с линейной регрессией. Она определяла влияние переменных на другую переменную при условии, что: 1)...
#04TheNotSoToughML | “Давай, минимизируй ошибки” — Но достаточно ли этого?
Пришло время развеять миф о том, что машинное обучение - это сложно. Интуитивное МО позволяет пользоваться легкодоступными инструментами, не требующими специальных знаний.
Нейронная сеть с нуля при помощи numpy
Здесь можно посмотреть полный код.
Для того, чтобы полностью понять статью, нужны базовые знания принципов работы с numpy, линейной алгебры, работы с матрицами, дифференциации и...
Современные шаблоны проектирования архитектуры
Многие современные приложения нужно проектировать в масштабе предприятия или даже всего интернета. Все они должны отвечать требованиям масштабируемости, доступности, безопасности, надежности и отказоустойчивости.
Здесь я...
Выбор оптимального алгоритма поиска в Python
Когда дело касается обучения, мы, как правило, используем один из двух основных подходов: идём либо вширь и стараемся охватить как можно больший спектр области,...
Будущее данных: децентрализованная графовая база данных
Происходит смена парадигмы, которая коренным образом изменит способы хранения, обработки и передачи данных внутри компаний. Эта смена породит изобилие новых возможностей, в том числе...
Как добиться от моделей глубокого обучения большей генерализации?
Вы можете использовать IRM практически в любой базовой модельной структуре. Однако эта система наиболее эффективна, когда ее применяют к моделям черного ящика, оперирующим большим...
Как создать хранилище данных за 5 шагов
В проекте по созданию хранилища данных не обойтись без четкого плана действий. Познакомьтесь с ключевыми этапами его реализации - от четкой постановки бизнес-целей до запуска готового к использованию проекта.
Годовой план изучения науки о данных
2020-ый наконец-то закончился, а значит уже можно начать планировать 2021-ый. Для начала зададим себе вопрос: чему мы хотим научиться в этом году?
Многие выбирают в...
Как дата-аналитику стать дата-сайентистом в 2023 году
Какие навыки и ресурсы нужны дата-аналитику, чтобы получить должность дата-сайентиста? Как сократить и облегчить этот карьерный переход? Воспользуйтесь практическими советами старшего дата-сайентиста, который ранее работал дата-аналитиком.
Значение Data Science в современном мире
Что же такое data science? Data science — это научная дисциплина, которая занимается поиском истины и использует данные для получения знаний и идей. Data science стремительно...
5 важных аспектов замыканий в Python
Замыкания не являются уникальным явлением Python и встречаются во многих других языках. При этом несмотря на то, что большинство начинающих разработчиков об этой концепции...
Как вычислить миллионное число Фибоначчи на Python
Как-то раз я захотел найти оптимальное решение для вычисления чисел Фибоначчи и решил попробовать вычислить стотысячное число в последовательности, а потом подумал: если бы...
Как построить модель машинного обучения, если под рукой нет доступных данных
Перед решением любой задачи науки о данных, такой как исследовательский анализ или построение модели, нужно ответить на следующие вопросы:
Что вы хотите узнать или обнаружить...
Создание локального озера данных с нуля
Настроим все необходимые службы и компоненты, в том числе оркестратор конвейера данных и SQL-движок, инициируем сеанс Spark для Apache-форматов Iceberg и Delta и выполним простой ETL-процесс. Заложим основу для более сложных конвейеров.
Система инженерии данных «от и до» с Kafka, Spark, Airflow, Postgres и Docker. Часть 1
Создадим простой, но функциональный конвейер, подробно рассмотрим каждый его компонент: от настройки Kafka для потоковой передачи данных и оркестрации задач с Airflow до обработки данных со Spark и их сохранения в PostgreSQL. Сделаем акцент на практическом применении инструментов с Docker.
Python в 2021: расписание релизов и основные функции
На данный момент мы используем Python 3.8, а последняя стабильная версия 3.8.4 была выпущена совсем недавно. Python 3.9 уже находится на стадии бета-тестирования, а...
Этические проблемы в науке о данных
Затронем вопросы этики в науке о данных. Выявим имеющиеся проблемы и предложим пути решения.
Как стать дата-сайентистом в 2025 году?
Мечтаете повелевать большими данными? Четкая дорожная карта поможет вам приобрести надежную теоретическую базу в математике, статистике, программировании и других отраслях, необходимых современному дата-сайентисту.
Распознавание лиц с помощью OpenCV
Читая очередную статью по OpenCV, я обнаружил, что в этой библиотеке есть собственная нейросеть для распознавания лиц с высокой точностью.
Я решил опробовать OpenCV и...
Стоит ли винить Python в низкой производительности?
Признаюсь, что сейчас на работе я занимаюсь разработкой на Python, в связи с чем вы можете счесть мое мнение предвзятым. И все же мне...
Алгоритмы машинного обучения простым языком. Часть 2
Предыдущие части: Часть 1
Ридж- и лассо- регрессия
Моя бабушка до сих пор не очень напугана, поэтому продолжаем!
Линейная регрессия не такая уж и пугающая, правда? Это...
Как работает обратное распространение в нейронных сетях
Обратное распространение используется для эффективного обучения нейронных сетей посредством цепного правила. Рассмотрим особенности этого процесса.
Python: как заменить циклы For на Map, Filter и Reduce
Вы когда-нибудь смотрели на свой код и видели водопад из циклов for? Вам приходилось щурить глаза и наклоняться к монитору, чтобы рассмотреть его поближе?
Я...
Ускоряем работу с pandas при помощи modin
Pandas — библиотека, которая не нуждается в представлении, если речь идёт о работе с данными. Она привносит высокую производительность, структурирование данных и удобную работу с ними....
Визуализация параметров градиентного спуска в Torch
Загляните за интерфейс, чтобы увидеть, как параметры SGD влияют на обучение модели. Графические представления помогут оценить роль таких параметров, как импульс (обычный и Нестерова), сокращение весов, демпфирование.
Интерактивное управление в Jupyter Notebooks
Вряд ли найдётся занятие бесполезнее, чем вновь и вновь запускать одну и ту же ячейку, немного меня значение входных данных и параметров. Несмотря на...
Реализация архитектуры с сохранением состояния в Streamlit
Streamlit
Streamlit прошел долгий путь становления с момента своего создания в октябре 2019 года. Он не только предоставил разработчикам ПО новые возможности, но и обеспечил...
Руководство к использованию деревьев решений в машинном обучении и науке о данных
Деревья решений являются классом очень эффективной модели машинного обучения, позволяющей получить высокую точность в решении многих задач, сохраняя при этом высокий уровень интерпретации. Четкость...
4 важных навыка, которые специалисты по обработке данных часто недооценивают
Наука о данных — это не только данные
Если посмотреть на список того, что необходимо развивать будущему специалисту по обработке данных, то скорее всего он будет состоять из...
Классы данных в Python и их ключевые особенности
Значимым компонентом любого проекта в программировании являются данные, с которыми неизбежно взаимодействуют все программы. Например, при разработке веб-сайта вы должны представить тексты и изображения...
DetectoRS - новейшее средство обнаружения объектов от Google Research
В области компьютерного зрения не прекращается поиск новых техник, алгоритмов и сквозных обучаемых конвейеров для задач по обнаружению объектов и сегментации изображений. Каждый год...
Как составить Data Science портфолио? Часть 1
Как получить работу в области Data Science? Во-первых, нужно знать основы статистики, машинного обучения, программирования и т.д. Во-вторых, вам нужно будет составить портфолио. Да, несомненно,...
Пишем нейронную сеть, предсказывающую рак груди, за пять минут
Минута первая: вступление
Этот высокоуровневый урок рассчитан на новичков в машинном обучении и искусственном интеллекте. Для того, чтобы успешно создать нейронную сеть, необходимы:
Установленный Python второй...
Проект инженерии данных «от и до» с Apache Airflow, Postgres и GCP
Подробно расскажем о контейнерах Docker, оркестрации ETL-конвейеров, работе с облачными технологиями, настройке рабочей среды для ETL-проектов с Apache Airflow. А в конце поделимся нужными командами.
Как X оптимизировал обработку 400 миллиардов событий
Хотите знать, как Twitter, ныне X, справляется с таким фантастическим объемом работы, достигая при этом низкой задержки, высокой точности, стабильности и снижения эксплуатационных расходов? Оказывается, все дело в архитектуре платформы. Узнайте о том, с какими проблемами столкнулся X и как решил их с помощью новой архитектуры.
Что говорить на поведенческом интервью по науке о данных
Произвести приятное впечатление на потенциального работодателя во время собеседования непросто. Тем не менее с этой задачей можно легко справиться, если следовать этим 3 простым лайфхакам.
Инновационный алгоритм глубокого обучения в Google Translate
Современный Google Translate просто потрясает своими возможностями. Для реализации способности выполнять перевод между любой парой из десятков поддерживаемых языков создатели этого инструмента очень находчиво...
Менеджеры контекста в Python - выходим за пределы «with open() file»
Введение
В Python при работе с файлами наиболее распространённой функция open(), создающая объект типа файл, который в зависимости от ситуации позволяет читать или записывать данные....
Почему вам не удастся стать «великим» специалистом по данным?
Быть просто "хорошим" специалистом по обработке данных не проблема. Куда сложнее стать "великим". Позвольте мне, как специалисту по обработке данных, открыть вам глаза на самую прибыльную работу 21-го века.
MongoDB: удаление базы данных
В прошлой статье о MongoDB мы рассмотрели создание базы данных. В данном разделе рассмотрим процесс ее удаления.
8 структур данных, которые должен знать каждый дата-сайентист
Организация данных имеет большое значение в сфере дата-сайенс. Представляем 8 основных структур, которые пригодятся любому специалисту по работе с данными.
Алгоритм XGBoost: пусть он царствует долго!
Хоть с того момента и прошло 15 лет, я до сих пор помню первый день на моей первой работе. Я только-только выпустился из ВУЗа...
Лучший алгоритм решения задач по программированию на Python
По-прежнему актуальны споры о фактической пользе таких веб-сайтов по Python-программированию, как Codewars или Leetcode, и их роли в развитии профессиональных навыков разработчиков. Но несмотря...
Python 3: 3 функции, которые следует помнить
Многие разработчики, особенно новички, уже активно пишут на Python 3. И хотя в этой версии появилось множество новых функций, многие из них неизвестны или...
Привет, новый мир «Искусственного интеллекта»
Почему каждый должен подготовиться к «революционной автоматизации»
Нам нужно начать лучше разбираться в новых технологиях, таких как искусственный интеллект, роботы и блокчейн.Навело на эту мысль...
Как сгенерировать настоящие случайные числа в Solidity с блокчейном
Если бы вы погуглили фразу “случайные числа в Solidity” (речь идёт об англоязычном поиске), то в самых популярных результатах выдачи было бы:
Solidity не может...
Инженерия геопространственных данных: пространственное индексирование
Слышали ли вы о пространственном индексировании? Эта технология обладает мощным потенциалом: она способна оптимизировать производительность запросов, сэкономить время обработки данных и упростить задачи машинного обучения.
Парадокс надежности ИИ
Представьте, что вы босс и у вас в штате два работника (человека):
Кирилл Небрежный — это сплошное разочарование. Лишь в 70% случаев он справляется с...
List Comprehensions в Python за 5 минут
Зачем нужен list comprehension в Python?
Чтобы сохранить строчки кода.
List comprehensions — это один из способов создания Pythonic-однострочников (one-liners) с итерируемыми списками.
В качестве примера рассмотрим продуктовую корзину. Вы...
Машинное забывание: почему забывание важно для ИИ
Посмотрим правде в глаза: никому не нравится забывать. Все мы расстраиваемся, когда не можем вспомнить, где оставили ключи или как зовут коллегу, с которым...
Jackknife+: «швейцарский нож» в конформном прогнозировании для регрессии
Рассмотрим преимущества Jackknife+ - эффективного метода конформного прогнозирования, который представляет собой усовершенствованную версию jackknife.
Структуры данных: подход «разделяй и властвуй»
При подходе «разделяй и властвуй» задача делится на мелкие подзадачи, каждая из которых решается независимо. При их делении на еще более мелкие подзадачи в конце концов настает момент, когда дальнейшее деление невозможно.
Важные аспекты математики в науке о данных - «что» и «почему»
Введение
Математика является фундаментом для любой современной научной дисциплины. И ни для кого не секрет, что почти все методы современной науки о данных (включая машинное...
Решение алгоритмических проблем: Поиск повторяющихся элементов в массиве
Проблема
Найти дубликат в массиве
Given an array of n + 1 integers between 1 and n, find one of the duplicates.
If there are multiple possible...
4 альтернативы Pandas: ускоренное выполнение анализа данных
Бенчмарк производительности популярных инструментов анализа данных заставит вас иногда отказываться от Pandas. Каждый из этих инструментов - Polars, DuckDB, Vaex и Modin - при анализе данных на кластере машин работает гораздо быстрее, чем Pandas.
8 базовых алгоритмических задач на собеседованиях
Во время собеседования на должность в IT-сфере часто касаются вопросов применения алгоритмов. Наиболее популярными являются алгоритмы поиска и сортировки (строковые алгоритмы, бинарный поиск, алгоритм...
Почему точные модели не всегда полезны
Утверждение, которое кажется парадоксальным: точность модели - не главный признак ее эффективности! Важно также разработать продукт, оправданный с денежной точки зрения. Сегодня поговорим о том, как функции экономической полезности помогают связать МО-модели с нуждами клиентов.
Я хочу изучать AI и машинное обучение. С чего мне начать?
Когда-то я работал в Apple Store и мечтал изменить свою жизнь: вместо обслуживания техники Apple, мне хотелось ее создавать.
Я начал изучать машинное обучение (ML)...
Анализ аудиоданных с помощью глубокого обучения и Python (часть 1)
Введение
Аудиоанализ - область, включающая автоматическое распознавание речи (ASR), цифровую обработку сигналов, а также классификацию, тегирование и генерацию музыки - представляет собой развивающийся поддомен приложений...
MongoDB: индексация
Индексы поддерживают эффективное выполнение запросов. Без них MongoDB сканировала бы каждый документ коллекции, отбирая нужные в соответствии с инструкцией запроса. Такое сканирование малоэффективно и предполагает обработку больших объемов данных.
Объясняем производящую функцию моментов
1. Начнем с главного — что такое “момент” в вероятности и статистике?
Скажем, нас интересует случайная переменная X.
Моменты — это ожидаемые значения X, например, E(X), E(X²), E(X³) и т.д.
...
8 экспертных советов по использованию Apache Spark
Хотите в совершенстве освоить Apache Spark? Воспользуйтесь советами эксперта, 1,5 года проработавшего с клиентами Databricks. Узнайте, как работает Spark, что общего между этим фреймворком и продовольственным магазином и как добиться в работе с ним оптимальных результатов.
Настоящие беспилотные такси выезжают на улицы города
Компания Waymo официально запускает парк беспилотных автомобилей в городе Финикс
Waymo — компания по производству беспилотных автомобилей, вышедшая из Google в 2016 году, наконец выполнит своё...
Ludwig на PyTorch
Простота, модульность и расширяемость - отличительные признаки декларативного фреймворка глубокого обучения Ludwig. Его разработчики представляют новую, переработанную с нуля версию - Ludwig v0.5. И главная его особенность в том, что весь бэкенд переносится на PyTorch.
4 принципа успешной поисковой системы и не только
Поиск повсюду и сталкиваемся мы с ним ежедневно. Эта функция реализована на каждом сайте и является частью любого IT-продукта. Вызов меню поиска простой комбинацией...
От продвинутой к эффективной аналитике
За последнюю декаду в компаниях произошел фундаментальный сдвиг в философии принятия решений. Лидеры ушли из среды, где был важен личный опыт и интуиция, в...
Сложные ИИ-модели созданы с помощью некачественных данных
Те, кто занят в сфере искусственного интеллекта, в том числе и в проекте Deepnews, часто презентуют свои новейшие модели как инновационные и эффективные средства...
Автоматическое МО (AutoML) с использованием PyCaret: основные принципы
Специалисты по обработке данных тратят около 80% времени на то, чтобы выбрать оптимальную модель, отрегулировать ее параметры и подождать, пока она осуществит необходимые расчеты. На выручку приходит автоматическое МО, в разы ускоряющее подбор адекватной модели.
Кодирование категориальных данных: визуальное руководство для начинающих с примерами кода
Это руководство позволит освоить 6 методов сопоставления категорий и чисел. Вы поймете, почему так важен правильный выбор метода кодирования категориальных данных. В заключение получите полезные советы, которые помогут избежать досадных ошибок в проектах по машинному обучению.
Погружение в графы
Графы в большинстве своем представляют собой неупорядоченные деревья. В основном это утверждение касается ненаправленных и невзвешенных графов. Однако оно остается в силе и в...
Alteryx - достойная платформа обработки данных?
Alteryx - это больше, чем просто инструмент обработки данных. Он отлично подходит для решения задач интеграции и анализа данных, а также может похвастаться множеством средств связи с системами и базами данных.
Новый модуль временных рядов PyCaret
Новый модуль PyCaret отличается простотой и функциональностью. Рассмотрим его в действии.
Настройте свой Jupyter Notebook правильно
В своей известной презентации “Я не люблю блокноты” (видео и слайды) Джоэль Грус критикует Jupyter Notebook — вероятно, самую популярную среду разработки для машинного обучения. Для...
Почему логарифмы так важны в машинном обучении
Если бы вы жили на 10-м этаже, вы бы поднимались по лестнице или пользовались лифтом? Цель в обоих случаях одна: вы хотите вернуться домой...
Как найти выход из лабиринта с помощью Python
Создание лабиринта
Наш лабиринт будет в виде матрицы размером n*m с нулями для проходов и единицами для стен.
a = [
[1, 1,...
Прозрачность: иллюзия единой системы. Часть 1
Даже если мы только знакомимся с распределенными системами, то уже ясно, что данная система по определению состоит из множества движимых элементов. И эти части...
9 важных сниппетов Python для оптимизации работы со скриптами
Ускорение работы на Python
Написание скриптов на Python для решения самых разных задач — одно из моих любимых занятий. Когда самостоятельно доходишь до ответа, который предлагает...
Введение в алгоритмы машинного обучения: линейная регрессия
Линейная регрессия - отправной пункт в освоении науки о данных, с которого новички приступают к овладению моделированием данных. Каждому начинающему исследователю данных будет полезно ознакомиться с алгоритмом линейной регрессии, его реализацией на Python и способами применения.
MongoDB: создание и удаление коллекции
Рассмотрим создание и удаление коллекции с помощью команд createCollection() и drop().
Прозрачность: иллюзии единой системы. Часть 2
Предыдущие части: Часть 1
Одной из (множества) причин сложности распределенных систем является то, что они пытаются делать множество вещей одновременно. Распределенная система создает для конечного...
Как найти три наибольших числа в JavaScript
Подсказка
Создайте функцию, которая при вводе массива, состоящего минимум из трех целых чисел, возвращает отсортированный массив из трех наибольших целых чисел.
Примечание: вы не можете отсортировать...
Цепь Маркова
Цепь Маркова используют многие современные компании и организации. Она помогает прогнозировать погоду и разрабатывать маркетинговые стратегии, находит применение в различных приложениях для решения реальных...
Все что нужно знать о древовидных структурах данных
Когда вы впервые учитесь кодировать, общепринято изучать массивы в качестве «основной структуры данных».
В конце концов, вы также изучаете хэш-таблицы. Для получения степени по «Компьютерным...
Как освоить машинное обучение
Чтобы самостоятельно освоить машинное обучение, не обязательно записываться на дорогостоящие курсы. Можно обойтись бесплатными роликами на YouTube, онлайн-руководствами и советами практикующих специалистов МО.
10 идиоматических приемов для эффективного программирования на Python
Программирование само по себе очень увлекательное занятие, а программирование на Python увлекательнее вдвойне, поскольку в данном языке существует много разных способов реализации одних и...
Переживут ли творческие профессии революцию искусственного интеллекта?
Людьми нас делает наш разум, а искусственный разум — продолжение нашего.
Ян Лекун
Люди великолепно развили свои способности. Из куска мрамора мы изваяли прекрасные статуи, написали живущие в...
Как обнаружить выбросы в проекте по исследованию данных
Что такое выбросы в статистике? Как их обнаружить? Всегда ли их надо исключать из набора данных? Существуют ли критерии исключения выбросов? Предлагаем ответы на все эти вопросы, а в качестве бонуса - примеры кода на Python.
Лёгкое пополнение баз данных в приложениях платформы .NET
Пополнение базы данных может быть довольно сложной задачей. Ниже вашему вниманию предлагаются инструменты, помогающие облегчить эту операцию.
Проблема
Когда мы распределяем проект платформы .NET (Core), часто бывает...
Шардинг как паттерн архитектуры базы данных
Представляем полезный инструмент для работы с базами данных - шардинг. Узнайте, что это такое, какие типы и стратегии шардинга используются, в чем преимущества и сложности этого архитектурного паттерна.
Алгоритмы поиска, которые должен знать каждый специалист по обработке и анализу данных
В последние годы алгоритмы для решения задач автоматического планирования и диспетчеризации стали вновь популярными в области машинного обучения. Понимание принципов их работы поможет увеличить...
Миграции баз данных с Golang
Изучим достоинства и недостатки очень полезного инструмента не только для тестирования, но и для контроля и управления версиями БД. Разберем особенности написания и применения SQL-миграций в службах на Go.
Как создать бессерверную форму для бессерверного сайта
Научимся создавать бессерверный бэкенд для приема входящих данных формы и отправки электронного письма с этими данными.
Плохие практики Angular
Загрязнение ngOnInit
ngOnInit - один из самых важных хуков жизненного цикла в компонентах Angular. Он используется для инициализации данных, настройки слушателей, создания соединений и т.д....
Как создать первый проект по инженерии данных: инкрементный подход. Часть 1
Инкрементный подход фокусируется на последовательном приращении функциональности продукта. При разработке проекта по инженерии данных такой подход гарантирует успех. Он повышает управляемость проектом, позволяет изучать различные концепции по мере продвижения и ускоряет выпуск более качественных продуктов.
Введение в Webpack для новичков
Что такое Webpack?
Webpack — это инструмент, позволяющий скомпилировать, например, JavaScript модули в единый JS-файл. Webpack также известен как сборщик модулей.
При большом количестве файлов он создает один объемный файл...