5 секретов наилучшего использования кортежей в Python
Python, являясь языком программирования общего назначения, предоставляет набор встроенных типов данных, включая int, str, tuple, list, dict и set. Четыре последних считаются контейнерами, так...
Суперсила индексов для оптимизации SQL-запросов
Введение
Вы любите SQL и хотите улучшить свои навыки выполнения SQL-запросов? Вы знаете, что индексация — отличный инструмент для оптимизации запросов, но при этом не...
Наука о данных — что она изучает на самом деле?
Данные окружают нас повсюду. Это незаменимый инструмент в руках современного человека. “Данные действительно помогают нам во всем”, — когда-то признал Джефф Вейнер, гендиректор LinkedIn. Что же собой представляет наука о данных и каковы были предпосылки ее стремительного развития?
Автоматический анализ текста с использованием Streamlit
Streamlit — эффективный и оперативный инструмент для анализа текста. С ним можно провести реферирование текста, частеречную разметку и распознавание именованных объектов.
Введение в анализ текста
Текстовая аналитика...
Интерактивное управление в Jupyter Notebooks
Вряд ли найдётся занятие бесполезнее, чем вновь и вновь запускать одну и ту же ячейку, немного меня значение входных данных и параметров. Несмотря на...
Распознавание лиц с помощью CoreML и ARKit
Создаём приложение с одним окном
Для начала нам понадобится создать iOS проект «single view app» (прим: автор работает в Xcode).
Теперь у нас есть проект. Мы обойдёмся...
4 альтернативы Pandas: ускоренное выполнение анализа данных
Бенчмарк производительности популярных инструментов анализа данных заставит вас иногда отказываться от Pandas. Каждый из этих инструментов - Polars, DuckDB, Vaex и Modin - при анализе данных на кластере машин работает гораздо быстрее, чем Pandas.
Машинное обучение с Amazon Aurora
Любая современная компания, достигнув определенного момента в своем развитии, сталкивается с непростой задачей: сделать свою продукцию более кастомизируемой для клиентов. Стремление к персонализации товаров...
10 идиоматических приемов для эффективного программирования на Python
Программирование само по себе очень увлекательное занятие, а программирование на Python увлекательнее вдвойне, поскольку в данном языке существует много разных способов реализации одних и...
Гамма-функция - интуиция, определение, примеры
Почему это интересно?
Многие распределения вероятностей определяются с использованием гамма-функции, я перечислю лишь некоторые: гамма-распределение, бета-распределение, распределение Дирихле, распределение хи-квадрат, т-распределение Стьюдента и так далее.
Для...
Заставляем глубокие нейронные сети рисовать, чтобы понять, как они работают
Для нас до сих пор остаётся загадкой то, почему глубокое обучение так хорошо работает. Несмотря на то, что имеется куча догадок, почему глубокие нейронные...
Не слушай профи - делай print()
Если вы скажете профессиональным программистам, что используете print() для отслеживания ошибок, готовьтесь уворачиваться от летящих в вашу сторону стульев. Есть ли смысл продираться через...
Пять парадоксов с вероятностью, которые вас озадачат
А может быть сможете их перехитрить?
В повседневной жизни мы постоянно сталкиваемся с ситуациями неопределенности. Так, по крайней мере подсознательно, мы постоянно встречаемся с вероятностями....
Байесовский вывод - интуиция и примеры
Часть 1, Часть 2, Часть 3
Зачем кто-то вообще изобрел байесовский вывод?
Чтобы обновлять вероятность по мере поступления новых данных.
Суть байесовского вывода в том, чтобы объединить...
Создание архитектур кода с помощью функциональных операторов
Говоря о функциональном программировании, мы сразу вспоминаем о функциях. Однако есть и другие концепции, которые отлично работают в науке о данных. Одной из таких концепций являются функциональные операторы, позволяющие создавать сложные архитектуры для выразительного кода.
Графы: основы теории, алгоритмы поиска
Возможно, вы уже знакомы с понятием спортивного программирования и знаете, что оно помогает развить навыки решения проблем и прокачать технические знания о структурах данных...
4 простые визуализации данных в Python
Визуализация данных является неотъемлемой частью любых проектов в науке о данных или в проектах машинного обучения. Для того, чтобы получить некоторое представление об определенных...
Структуры данных: динамическое программирование
Подход динамического программирования схож с подходом «разделяй и властвуй»: тоже разбивает задачи на как можно более мелкие подзадачи. Отличие в том, что здесь подзадачи решаются не независимо.
Как установить несколько версий Python в WSL2 и управлять ими
Открываем PowerShell
PowerShell — это командная оболочка и объектно-ориентированный язык сценариев, который используется для настройки системных параметров и автоматизации задач администрирования. В операционной системе практически...
Анализ аудиоданных с помощью глубокого обучения и Python (часть 1)
Введение
Аудиоанализ - область, включающая автоматическое распознавание речи (ASR), цифровую обработку сигналов, а также классификацию, тегирование и генерацию музыки - представляет собой развивающийся поддомен приложений...
5 доказательств силы итерируемых объектов в Python
Что такое итерируемые объекты?
Итерируемые (перебираемые) объекты — это коллекция важных структур данных в Python. Например, к ним относятся такие встроенные типы, как строки, списки и словари....
Обучение Inception в Google распознаванию пользовательских изображений
Ищете краткое руководство по обучению классификатора пользовательских изображений? С помощью Inception API от Google Brain с этой задачей можно справиться быстрее, чем выпить чашку...
Машинное обучение. С чего начать? Часть 1
По мере того, как машинное обучение всё больше внедряют в бизнес-процессы, жизненно важным становится наличие инструмента, который позволяет быстро решать поставленные задачи. Зачастую в...
Доходчиво об обучении на основе многообразий с алгоритмами IsoMap, t-SNE и LLE
Метод главных компонент (PCA) весьма производителен, но зачастую дает сбой, так как предполагает возможность линейного моделирования данных. Он выражает новые признаки в виде линейных...
Как импортировать наборы данных Kaggle в Google Colab?
Хотите поработать с набором данных Kaggle в блокноте Colab? Предлагаем простейший пошаговый алгоритм загрузки набора данных Kaggle в Colab-среду.
Как освоить машинное обучение
Чтобы самостоятельно освоить машинное обучение, не обязательно записываться на дорогостоящие курсы. Можно обойтись бесплатными роликами на YouTube, онлайн-руководствами и советами практикующих специалистов МО.
Почему лучшее - враг хорошего в MLOps?
Вы наверняка слышали об исследовании, которое подтвердило, что ML-проекты чаще терпят фиаско, чем оказываются успешными. Даже если статистика провалов в этой сфере кажется вам...
От ‘R против Python’ к ‘R и Python’
Сосредоточьтесь на навыках, а не на инструментах
Для тех, кто разбирается в Data Science, R и Python — это первые два ЯП, которые приходят на ум. Оба...
Python: как заменить циклы For на Map, Filter и Reduce
Вы когда-нибудь смотрели на свой код и видели водопад из циклов for? Вам приходилось щурить глаза и наклоняться к монитору, чтобы рассмотреть его поближе?
Я...
Как Jupyter превратился в полноценную IDE
Jupyter Notebook - удобный инструмент для поэтапного развития идей по разработке ПО. Специалисты по данным используют его для записи процесса своей работы, экспериментов с...
Графы и пути — алгоритм Дейкстры
Примеры из веб-приложения здесь.
Зачем
В 1959 году Эдсгер Дейкстра пришел к выводу о том, что компьютеры могут находить самые эффективные траектории, измеряя и высчитывая расстояния в...
Под покровом капустного листа: шаблон Декоратор
Я родилась в городке, расположенном на западном берегу реки Амур на Дальнем востоке России. Эта область известна своим влажным континентальным климатом, для которого характерны...
Как использовать MSE в науке о данных
Среднеквадратичная ошибка (MSE) - одна из полезных метрик, помогающих определить эффективность модели. Рассказываем, как использовать MSE для оценки и оптимизации производительности в науке о данных.
Почему теория графов круче, чем вы думали
Что такое графы?
Спросите специалиста из любой области науки, как работает предмет его исследований. Наверняка он предложит вам рассмотреть некую систему с существующими внутри нее связями....
4 принципа успешной поисковой системы и не только
Поиск повсюду и сталкиваемся мы с ним ежедневно. Эта функция реализована на каждом сайте и является частью любого IT-продукта. Вызов меню поиска простой комбинацией...
Как обнаружить выбросы в проекте по исследованию данных
Что такое выбросы в статистике? Как их обнаружить? Всегда ли их надо исключать из набора данных? Существуют ли критерии исключения выбросов? Предлагаем ответы на все эти вопросы, а в качестве бонуса - примеры кода на Python.
Анализ социальных сетей: от теории графов до приложений на Python
Теория сетей
Начнем с краткого введения в базовые компоненты сети: узлы и ребра.
Узлы (например, A,B,C,D,E) обычно представляют объекты в сети и содержат собственные и сетевые...
Раскрываем возможности контейнеризации. Зачем дата-сайентистам Docker и Kubernetes?
Разберем отличия и преимущества Docker и Kubernetes, применяемые инструменты и терминологию. Какова роль контейнеризации и оркестрации в эффективной работе дата-сайентиста?
GraphSAGE: как масштабировать графовые нейронные сети до миллиардов соединений
GraphSAGE - это алгоритм обучения с индуктивным представлением, который применяется для работы с графами. Посмотрим, как он работает, и сравним его с аналогичными инструментами, чтобы выявить преимущества и недостатки.
Пять направлений применения исследования операций
В последние годы область исследования операций процветала наряду с развитием вычислительной мощности. Сейчас многие организации используют этот подход, чтобы разрабатывать оперативные, тактические и даже...
5 инструментов для специалистов по обработке данных
Рассказываем о пяти инструментах, которые позволят сэкономить время вам и вашей команде при работе над проектом. Они помогут не только с очисткой и анализом данных, но и с построением, обучением и тестированием моделей машинного обучения.
Проект инженерии данных с DAG Airflow «от и до». Часть 2
Проверим корректность данных, отправим письмо и сообщение в Slack с информацией об адресе почты и пароле. Объединим все части проекта, создадим и запустим DAG Airflow со всеми задачами.
Лучший способ эффективно управлять неструктурированными данными
Узнайте о передовых методах работы с неструктурированными данными с помощью хранилищ объектов и озер данных. Это позволит более эффективно хранить, собирать и использовать данные.
Завораживающая последовательность Фибоначчи
Занимаясь изучением обработки данных, расчётами, а также другими компьютерными и математическими операциями, мы сталкиваемся со многими алгоритмами. Несмотря на то, что иногда мы недолюбливаем...
Обработка естественного языка
Обработка естественного языка или NLP (от англ. Natural language processing) — одна из самых известных областей науки о данных. За последнее десятилетие она приобрела...
Большой недостаток социальных сетей и его устранение
Чуть более двух десятилетий назад, на заре своего развития Интернет столкнулся с серьезной проблемой: очень сложно было найти «правильную», необходимую информацию. Другими словами, поисковые...
Пошаговое руководство по обучению модели на Vertex AI от Google Cloud
Предыстория и личный интерес
Не так давно компания Google предоставила во всеобщее пользование свою облачную платформу для машинного обучения — Vertex AI. Моей радости просто нет...
Сумасшедший способ проверить, является ли число простым, используя регулярное выражение
В поисках алгоритмов для выявления простых чисел, вы где-нибудь, да встречали подобное выражение:
Что это? Это способ проверки, является ли число простым. Вам даже не...
Alteryx - достойная платформа обработки данных?
Alteryx - это больше, чем просто инструмент обработки данных. Он отлично подходит для решения задач интеграции и анализа данных, а также может похвастаться множеством средств связи с системами и базами данных.
Машинное обучение без данных
Создание продуктов и услуг с помощью моделей МО требует обучающих данных, которые обычно получают от клиентов. При этом часто нарушается цикл инноваций: разработка качественного...
Статистические типы данных, используемые в машинном обучении
Введение в статистику
Статистика — это наука об изучении данных. Знания в этой области позволяют использовать подходящие методы сбора и анализа данных, а также эффективно представлять результаты...
MongoDB: вставка документа
Для вставки данных в коллекцию MongoDB используется метод insert() или save(). Разберем его в данной статье.
Расширение Jupyter для VS Code
Блокноты — отличный инструмент для инкрементальной разработки концепций ПО. С их помощью специалисты по данным отслеживают структуру своей работы, исследуют алгоритмы, быстро набрасывают новые...
5 подводных камней нереляционных баз данных
Когда речь заходит о нереляционных базах данных, не все видят две стороны одной медали: многие упускают из виду то, что у этих баз данных...
Vaex: Python библиотека для работы с DataFrame вне памяти и быстрой визуализации
Данных становится всё больше
Некоторые массивы данных слишком велики, чтобы поместиться в основной памяти обычного компьютера, не говоря уже о ноутбуке. Тем не менее, все хотят...
7 способов раскрыть жульничество аналитика данных
Не имеет значения, являетесь ли вы крупным или малым предпринимателем, инвестором, частью менеджерского звена компании, судьёй на марафоне программирования или иным участником технологической индустрии,...
Алгоритм поиска A*
Пошаговый разбор алгоритма поиска А*
Поиск короткого пути — это то, чем каждый занимается ежедневно. Алгоритм А *— один из самых популярных методов решения задач на поиск кратчайшего...
Автоматическое создание музыки с помощью искусственного интеллекта
Раз уж мы в начале 2021 года, то должны затронуть тему, о которой много говорилось в последнее время. По мере того, как всё больше...
10 актуальных профессий в области науки о данных
С одной стороны, поиск работы — это суровая игра, в которой нужно выделиться среди сотен, а иногда и тысяч других соискателей. С другой стороны,...
Python в 2021: расписание релизов и основные функции
На данный момент мы используем Python 3.8, а последняя стабильная версия 3.8.4 была выпущена совсем недавно. Python 3.9 уже находится на стадии бета-тестирования, а...
6 алгоритмов машинного обучения, которые должен знать каждый исследователь данных
Машинное обучение - одна из тех областей, которые должен знать каждый, кто изучает науку о данных. Предлагаем описание 6 ключевых алгоритмов контролируемого МО, изложенное простым, доступным языком.
Продвинутые темы SQL для дата-инженеров
Рассмотрим важные техники SQL, иллюстрируя их примерами применения набора данных: объединение таблиц, подзапросы и оконные функции, фильтрацию и агрегирование. Освоив их, вы будете лучше справляться с анализом и визуализацией данных и сможете повысить качество принимаемых в организациях решений.
Как писать код на Python лучше: 6 рекомендаций
В среде разработчиков Python считается одним из самых популярных языков программирования. Он используется везде — от веб-разработки до машинного обучения.
Причин такой популярности много. Это...
Визуализация параметров градиентного спуска в Torch
Загляните за интерфейс, чтобы увидеть, как параметры SGD влияют на обучение модели. Графические представления помогут оценить роль таких параметров, как импульс (обычный и Нестерова), сокращение весов, демпфирование.
3 случая, когда линейная модель может ошибаться
Введение
В этой статье я покажу три случая, когда линейные модели могут привести к неверным результатам. Основное внимание будет уделено сравнению линейных моделей с моделируемыми...
Современные шаблоны проектирования архитектуры
Многие современные приложения нужно проектировать в масштабе предприятия или даже всего интернета. Все они должны отвечать требованиям масштабируемости, доступности, безопасности, надежности и отказоустойчивости.
Здесь я...
6 концептов книги Эндрю Ына «Жажда машинного обучения»
“Техническая стратегия для инженеров-разработчиков искусственного интеллекта в эпоху глубокого обучения”
“Жажда машинного обучения” структурирует разработку проектов, использующих машинное обучение. Книга включает в себя практический опыт,...
Инкременты и декременты
В данной статье активно используется термин «операнд».
Так что такое операнд?
Операнд — это величина, над которой операторы могут выполнять определенные действия.
О! А что такое оператор?
Оператор — это специальный символ, выполняющий...
Для чего нужны стеки?
Когда я узнал, что такое стек, мне стало интересно его практическое применение. Оказалось, что чаще всего эта структура используется для имплементации операции “Отмена” (...
Годовой план изучения науки о данных
2020-ый наконец-то закончился, а значит уже можно начать планировать 2021-ый. Для начала зададим себе вопрос: чему мы хотим научиться в этом году?
Многие выбирают в...
Стоит ли винить Python в низкой производительности?
Признаюсь, что сейчас на работе я занимаюсь разработкой на Python, в связи с чем вы можете счесть мое мнение предвзятым. И все же мне...
Как распознавать объекты 600 классов, используя 9 миллионов изображений из Open Images
Если вы собираетесь создать классификатор изображений и вам нужна база для обучения, то вам понадобится лишь Google Open Images.
Этот датасет состоит более чем из...
6 функций Pandas для быстрого эксплораторного анализа данных
Познакомьтесь с 6 функциями, лежащими в основе любого эксплораторного анализа данных. Они позволят сделать первый шаг в исследовании данных в Pandas.
8 способов “настроить” Data-команду на успех. Часть первая
Мы живем в золотой век Data-ориентированных организаций. Алгоритмы! Большие Данные! У вас вероятно, даже есть Data Scientist в штате или два! Но …
Если ваши Data-специалисты тратят...
Много узлов, одна распределенная система
Говорят, что один (мужчина, женщина — какой-то человек) — в поле не воин. Но в наши дни к этому списку можно добавить и «компьютер». Мы окружены машинами, компьютерами...
Руководство для начинающих исследователей данных
Как новичку влиться в сферу науки о данных? Наличие продуманного плана может дать значительное преимущество начинающему специалисту. Предлагаем взять на вооружение план действий, основанный на личном опыте человека, добившегося успехов в этой области.
Парадокс «Гранд-отель»
ПРОЛОГ
«Хочешь поиграть в пазлы?» — спросила мама своего 8-летнего ребёнка. «Конечно, мамочка!» — ответило дитя.
Все мы любим головоломки. И забавно, что эта любовь не...
Как дата-аналитику стать дата-сайентистом в 2023 году
Какие навыки и ресурсы нужны дата-аналитику, чтобы получить должность дата-сайентиста? Как сократить и облегчить этот карьерный переход? Воспользуйтесь практическими советами старшего дата-сайентиста, который ранее работал дата-аналитиком.
Как подключиться к MongoDB с помощью Node.js
Базы данных - полезный инструмент для проекта, и для работы с ними можно воспользоваться MongoDB. Разбираемся, как подключиться к MongoDB при помощи Mongoose.
Настоящие беспилотные такси выезжают на улицы города
Компания Waymo официально запускает парк беспилотных автомобилей в городе Финикс
Waymo — компания по производству беспилотных автомобилей, вышедшая из Google в 2016 году, наконец выполнит своё...
Руководство к использованию деревьев решений в машинном обучении и науке о данных
Деревья решений являются классом очень эффективной модели машинного обучения, позволяющей получить высокую точность в решении многих задач, сохраняя при этом высокий уровень интерпретации. Четкость...
Введение в теорию информации
Индонезийские пещеры острова Борнео дают представление о самой примитивной зарегистрированной форме коммуникации. Около 40000 лет назад, ещё до развития письменного языка, физические иллюстрации на...
Как создать хранилище данных за 5 шагов
В проекте по созданию хранилища данных не обойтись без четкого плана действий. Познакомьтесь с ключевыми этапами его реализации - от четкой постановки бизнес-целей до запуска готового к использованию проекта.
ИИ: постижение законов сверхразума
Термин “искусственный интеллект” похож на чемодан: каждый набивает его своим содержанием. Ученые тоже не могут достичь консенсуса в определении машинного разума. От этого в...
Алгоритм XGBoost: пусть он царствует долго!
Хоть с того момента и прошло 15 лет, я до сих пор помню первый день на моей первой работе. Я только-только выпустился из ВУЗа...
Нейронная сеть с нуля при помощи numpy
Здесь можно посмотреть полный код.
Для того, чтобы полностью понять статью, нужны базовые знания принципов работы с numpy, линейной алгебры, работы с матрицами, дифференциации и...
Качество превыше количества: создание идеального проекта в науке о данных
В стартапе, жаргонизм «метрика тщеславия» означает число, находящееся под контролем компании для того, чтобы убедить мир — а иногда и самих себя — в том, что они успешнее,...
Межорганизационный обмен данными
Преимущества объединения хранилищ данных в последнее время привлекают большое внимание организаций всех уровней. В 2018 году корпорация Google разработала проект передачи данных (Data Transfer...
5 важных аспектов замыканий в Python
Замыкания не являются уникальным явлением Python и встречаются во многих других языках. При этом несмотря на то, что большинство начинающих разработчиков об этой концепции...
Подстановка учетных данных 2.0: использование прокси-серверов и GUI-инструментов, обход CAPTCHA и системы безопасности Cloudflare
Приготовьтесь к путешествию в темный мир высокотехнологичного хакерства. Вы узнаете о новейших видах подстановки учетных данных, украденных киберпреступниками: использовании прокси-серверов и GUI-инструментов, обходе CAPTCHA и системы безопасности Cloudflare.
29 инструментов и сайтов для дизайнера, о которых вы никогда не слышали
Инструментов, плагинов, сайтов и ресурсов в индустрии дизайна хоть отбавляй, и все они обещают сделать ваш рабочий процесс более продуктивным, а вас самих — ...
Rust: взгляд старого программиста
Так сложились обстоятельства, что у меня возник перерыв в работе, в который я решил переключиться на Rust. Название этого языка резонировало с моим настроением,...
Абстракции с нулевой стоимостью* в Kotlin
*Могут применяться особые условия
Внимание: этот пост в блоге охватывает экспериментальную функцию Kotlin, которая может быть изменена. Эта статья была написана с использованием Kotlin 1.3.50.
Безопасность...
Практическое введение в Composition API Vue 3
Composition API — это отличный способ делиться логикой приложения между компонентами в Vue.js. Вы сможете не только организовать повторяющиеся фрагменты кода в отдельные файлы,...