Продвинутый взгляд на рекурсию
Рекурсия является одним из наиболее мощных подходов в программировании. С ее помощью можно решать чрезвычайно сложные задачи, печатая при этом невероятно малый объем кода.
Как автоматизировать сравнение датасетов с Terraform и BigQuery
Автоматизация проверки датасетов значительно упрощает жизнь. Узнаем, как же это сделать с помощью инструмента для управления облачной инфраструктурой Terraform и сервиса для анализа больших наборов данных BigQuery.
Пять отличных Python-библиотек для data science
Python — это лучший друг специалистов по данным, а библиотеки значительно упрощают их жизнь. Работая над NLP-проектом, я открыл для себя пять отличных Python-библиотек, которые мне...
6 SQL-запросов, о которых должен знать каждый дата-инженер
SQL уже больше 45 лет, но он по-прежнему в деле и незаменим для быстрого анализа данных с написанием сложных запросов. Попрактикуемся в этом с продвинутым синтаксисом SQL для решения многих бизнес-задач.
Эффективное итерирование по строкам в Pandas DataFrame
Рассмотрим продвинутые методы итерирования по строкам, которые заменят iterrows и itertuples. Некоторые из них позволяют повышать производительность почти в две тысячи раз, не снижая при этом читабельности кода.
Инженерия геопространственных данных: пространственное индексирование
Слышали ли вы о пространственном индексировании? Эта технология обладает мощным потенциалом: она способна оптимизировать производительность запросов, сэкономить время обработки данных и упростить задачи машинного обучения.
Оценка производительности нейронной сети Keras с помощью визуализаций Yellowbrick
Если вы когда-то использовали Keras для создания модели машинного обучения, то скорее всего перед этим вы строили примерно такие графики:
Здесь представлена матрица потери при...
Инновационный алгоритм глубокого обучения в Google Translate
Современный Google Translate просто потрясает своими возможностями. Для реализации способности выполнять перевод между любой парой из десятков поддерживаемых языков создатели этого инструмента очень находчиво...
NoSQL убивает SQL?
На прошлой неделе мой друг переслал мне письмо от успешного предпринимателя, который утверждает, что “SQL мёртв”.
Предприниматель убеждён, что чрезвычайно популярные NoSQL базы данных, такие...
Как алгоритм «случайный лес» вычисляет продавцов-мошенников на онлайн-рынке
Как показала практика, интернет полон мошенников, охотящихся за наивными пользователями. Посмотрим, как специальная модель МО обнаруживает злоумышленников на C2C-рынке.
По маршруту SQLite - Pandas: 7 основных операций
Просто и по существу: познакомимся с модулем sqlite3, рассмотрим основные операции с базой данных SQLite и принцип ее взаимодействия с pandas.
Redis и Memurai для кэширования SQL-запросов
Кэширование запросов совсем не такой простой процесс, как кажется на первый взгляд. Рассмотрим разные подходы, признаки хорошего кэша, кэширование с помощью Redis и его альтернативу Memurai для Windows.
Много узлов, одна распределенная система
Говорят, что один (мужчина, женщина — какой-то человек) — в поле не воин. Но в наши дни к этому списку можно добавить и «компьютер». Мы окружены машинами, компьютерами...
7 советов по улучшению анализа данных в Python
#1: Pandas Profiling
Преимущества этого инструмента очевидны. Анимация ниже создана с помощью вызова метода df.profile_report():
С помощью этого инструмента можно с легкостью устанавливать и импортировать пакет...
Раскрываем возможности контейнеризации. Зачем дата-сайентистам Docker и Kubernetes?
Разберем отличия и преимущества Docker и Kubernetes, применяемые инструменты и терминологию. Какова роль контейнеризации и оркестрации в эффективной работе дата-сайентиста?
Создание платформы обработки и анализа данных Bazaar
Знакомьтесь с новой платформой Bazaar Technologies. Амбициозный стартап заявляет, что способен решать проблемы масштабирования данных в петабайтах.
Инкременты и декременты
В данной статье активно используется термин «операнд».
Так что такое операнд?
Операнд — это величина, над которой операторы могут выполнять определенные действия.
О! А что такое оператор?
Оператор — это специальный символ, выполняющий...
Двоичные деревья: управляемый подход к поиску значений
Зачем
Разработчик нанимается небольшим городом населением в сто тысяч. Задача состоит в том, чтобы преобразовать бумажную телефонную книгу в цифровой вариант. У мэра города есть...
Погружение в графы
Графы в большинстве своем представляют собой неупорядоченные деревья. В основном это утверждение касается ненаправленных и невзвешенных графов. Однако оно остается в силе и в...
Реализация архитектуры с сохранением состояния в Streamlit
Streamlit
Streamlit прошел долгий путь становления с момента своего создания в октябре 2019 года. Он не только предоставил разработчикам ПО новые возможности, но и обеспечил...
Автоматическое МО (AutoML) с использованием PyCaret: основные принципы
Специалисты по обработке данных тратят около 80% времени на то, чтобы выбрать оптимальную модель, отрегулировать ее параметры и подождать, пока она осуществит необходимые расчеты. На выручку приходит автоматическое МО, в разы ускоряющее подбор адекватной модели.
Качество превыше количества: создание идеального проекта в науке о данных
В стартапе, жаргонизм «метрика тщеславия» означает число, находящееся под контролем компании для того, чтобы убедить мир — а иногда и самих себя — в том, что они успешнее,...
Как добиться от моделей глубокого обучения большей генерализации?
Вы можете использовать IRM практически в любой базовой модельной структуре. Однако эта система наиболее эффективна, когда ее применяют к моделям черного ящика, оперирующим большим...
BigQuery теперь поддерживает Query Queues
Новая функция Google BigQuery под названием Query Queues позволяет автоматически определять количество запросов, выполняемых одновременно. Дополнительные запросы, превышающие заданный уровень параллелизма, ставятся в очередь до тех пор, пока не освободятся ресурсы обработки.
3 худших совета по осваиванию науки о данных
К сожалению, существенная часть информации либо не соответствует действительности, либо просто недоступна для начинающих. При наличии достаточного опыта можно легко распознать и проигнорировать ее, однако новичку практически невозможно отделить зерна от плевел, что в итоге приводит к потере времени и разочарованию.
Как стать дата-сайентистом в 2025 году?
Мечтаете повелевать большими данными? Четкая дорожная карта поможет вам приобрести надежную теоретическую базу в математике, статистике, программировании и других отраслях, необходимых современному дата-сайентисту.
Структуры данных: подход «разделяй и властвуй»
При подходе «разделяй и властвуй» задача делится на мелкие подзадачи, каждая из которых решается независимо. При их делении на еще более мелкие подзадачи в конце концов настает момент, когда дальнейшее деление невозможно.
Компилятор VS интерпретатор: ключевые отличия
Интерпретаторы и компиляторы отвечают за преобразование языка программирования или сценариев (язык высокого уровня) в машинный код. Но если обе программы делают одно и то...
4 принципа успешной поисковой системы и не только
Поиск повсюду и сталкиваемся мы с ним ежедневно. Эта функция реализована на каждом сайте и является частью любого IT-продукта. Вызов меню поиска простой комбинацией...
Наука о данных простым языком
Что такое наука о данных? Попробуем объяснить ее значение доступным языком.
9 важных сниппетов Python для оптимизации работы со скриптами
Ускорение работы на Python
Написание скриптов на Python для решения самых разных задач — одно из моих любимых занятий. Когда самостоятельно доходишь до ответа, который предлагает...
Работа с панелью индикаторов. Руководство программиста Python. Часть 1
В этой серии статей в качестве основной платформы для Dashboarding используется Dash от Plotly.
Введение
Dash от Plotly — это веб-фреймворк, построенный на основе Plotly.js, React и Flask,...
Сумасшедший способ проверить, является ли число простым, используя регулярное выражение
В поисках алгоритмов для выявления простых чисел, вы где-нибудь, да встречали подобное выражение:
Что это? Это способ проверки, является ли число простым. Вам даже не...
ИИ: решение неверно поставленных задач
В 2008 году восходящие звезды Кремниевой долины собрались вокруг стола в конференц-зале. В будущем все они станут титанами технологического мира, однако в то время...
10 веских причин изучить Python для занятий наукой о данных
Не знаете, с чего начать погружение в науку о данных? Начните с изучения Python. Это верный способ быстро, легко и увлекательно освоить основы науки о данных.
5 любопытных библиотек Python
Как один из наиболее популярных языков программирования, Python содержит огромное количество прекрасных библиотек, облегчающих разработку, таких как Pandas, Numpy, Matplotlib, SciPy и так далее.
Однако...
Почему логарифмы так важны в машинном обучении
Если бы вы жили на 10-м этаже, вы бы поднимались по лестнице или пользовались лифтом? Цель в обоих случаях одна: вы хотите вернуться домой...
Настройка Data Science окружения на вашем компьютере
После прохождения различных курсов и обучения на различных образовательных платформах, вроде Datacamp, вашим следующим шагом станет использование полученных знаний о Python, R, Git или...
Сопряженное априорное распределение
Часть 1, Часть 2, Часть 3
1. Что такое априорное распределение?
Априорная вероятность — это вероятность события до того, как мы получили дополнительные данные. В байесовском выводе априорное распределение — это...
Структуры данных: двусвязный (двунаправленный) список
Двусвязный список - это разновидность связного списка, при которой переход по элементам возможен в обоих направлениях (как вперед, так и назад), в отличие от односвязного списка.
5 неочевидных истин науки о данных
Хотите открыть для себя красоту машинного кода, скрывающуюся за нулями и единицами? Для начала узнайте 5 неочевидных истин науки о данных. Они помогут вам ступить на путь постижения этой увлекательной дисциплины со свежим взглядом.
MongoDB: запрос, обновление и удаление документа
В прошлой части руководства по MongoDB мы разобрали, как вставить документ. Теперь рассмотрим три остальных действия с документом.
Пишем нейронную сеть, предсказывающую рак груди, за пять минут
Минута первая: вступление
Этот высокоуровневый урок рассчитан на новичков в машинном обучении и искусственном интеллекте. Для того, чтобы успешно создать нейронную сеть, необходимы:
Установленный Python второй...
Структуры данных, которые необходимо знать каждому программисту
Пройти путь от нуля до профессионального инженера-программиста можно исключительно с помощью бесплатных ресурсов в интернете. Но разработчики, которые идут по этому пути, часто игнорируют...
Добыча данных: анализ рыночной корзины с помощью алгоритма Apriori
Вы когда-нибудь задумывались над тем, почему хлеб всегда лежит рядом с маслом в бакалейном магазине? Сегодня мы раскроем этот секрет.
Сканер документов на основе технологии машинного зрения
В последнее время, когда я работал с OpenCV, мне пришла в голову идея написать фреймворк для преобразования изображений. Такое приложение будет полезно каждый день...
Как обучить модель квантового МО, используя данные из CSV?
Область квантового машинного обучения не сразу поддается начинающим исследователям данных из CSV. Предлагаем поучиться не на теоретических примерах (которые зачастую не имеют практической пользы), а на реальном опыте специалистов QML.
Введение в метод Монте-Карло по схеме цепей Маркова
Слева: моделированное необработанное совместное распределение коэффициентовСправа: моделированное совместное распределение коэффициентов без отбраковки
В предыдущей статье я дал краткое введение в байесовскую статистику и рассказал, как...
От Spotify к собственной рекомендательной системе
Каждый понедельник моя жизнь озаряется одним событием. И учёба или работа здесь ни при чём — я говорю об еженедельном обновлении чудесного плейлиста “Открытия недели” на...
Пошаговое руководство по обучению модели на Vertex AI от Google Cloud
Предыстория и личный интерес
Не так давно компания Google предоставила во всеобщее пользование свою облачную платформу для машинного обучения — Vertex AI. Моей радости просто нет...
Как стать специалистом по обработке данных: 5 советов
Специалист по данным - одна из самых востребованных профессий на сегодняшний день. Узнайте, какие навыки вам пригодятся для того, чтобы стать востребованным дата-сайентистом.
12 стратегий настройки готовых к производству RAG-приложений
По мере увеличения прототипов RAG-конвейеров становится насущным обсуждение стратегий оптимизации их производительности. Посмотрим, как можно повысить результативность работы RAG-конвейера с помощью гиперпараметров и различных стратегий настройки.
14 наборов данных для датасайенс-проектов
Представляем 14 наборов данных, которые пригодятся для различных целей, например классификации текстов и изображений, создании системы рекомендаций, а также визуализации данных.
Искусственный интеллект: надежды и угрозы
Регулярно появляющиеся новости о стремительном развитии и потенциальных угрозах искусственного интеллекта (ИИ) все сильнее будоражат общественность. Нужно ли приветствовать революцию ИИ или стоит ее...
Как предварительно обработать данные и текстовые сообщения из социальных сетей
Одна из самых непростых задач при использовании данных из социальных сетей и текстовых сообщений для NLP (Natural Language Processing — обработки естественного языка) заключается...
4 Продвинутых приема работы с функциями Python, о которых вы могли не знать
Знаете ли вы, как принудительно задавать именованные аргументы, создавать декоратор функций и анонимные функции или распаковывать массив или словарь в аргументы функции? Предлагаем вашему...
Метод SHAP для категориальных признаков
Поговорить о том, как складывать SHAP-значения категориальных признаков, преобразованных путем прямой кодировки, с помощью кода Python.
8 показателей эффективности классификации
Оценка эффективности классификатора - непростая задача. Чтобы справиться с ней, понадобится несколько показателей. Предлагаем доступное описание 8 главных метрик.
Графы: основы теории, алгоритмы поиска
Возможно, вы уже знакомы с понятием спортивного программирования и знаете, что оно помогает развить навыки решения проблем и прокачать технические знания о структурах данных...
List Comprehensions в Python за 5 минут
Зачем нужен list comprehension в Python?
Чтобы сохранить строчки кода.
List comprehensions — это один из способов создания Pythonic-однострочников (one-liners) с итерируемыми списками.
В качестве примера рассмотрим продуктовую корзину. Вы...
MongoDB: удаление базы данных
В прошлой статье о MongoDB мы рассмотрели создание базы данных. В данном разделе рассмотрим процесс ее удаления.
За гранью HCD: нужен ли новый подход в дизайне для ИИ?
Сетевая технология имеет сетевые эффекты. Зачастую они являются неосязаемыми и усиливаются через систему во время использования машинного обучения. Но есть ли смысл создавать ориентированный...
7 полезных операций в Pandas при работе с DataFrame
Абстракция датафрейма является одной из наиболее полезных концепций в современной экосистеме управления данными. Вращается она главным образом вокруг табличных структур, которые имеют повышенную производительность...
MongoDB: создание и удаление коллекции
Рассмотрим создание и удаление коллекции с помощью команд createCollection() и drop().
Шардинг как паттерн архитектуры базы данных
Представляем полезный инструмент для работы с базами данных - шардинг. Узнайте, что это такое, какие типы и стратегии шардинга используются, в чем преимущества и сложности этого архитектурного паттерна.
4 расширения VS Code, которые пригодятся дата-инженеру
Если вы пользуетесь VS Code, то наверняка успели убедиться в его практичности. Однако работу с этим редактором можно сделать еще удобнее. Предлагаем расширения VS Code, которые сэкономят много времени и сил.
Как специалисту по обработке данных создать крутое портфолио и подключить к нему чат-бота
Буду честен. Для специалиста по обработке данных найти сейчас работу — настоящая пытка. Это самая притягательная профессия 21 века, огромная конкуренция в ней растёт с каждым...
Глубокие свёрточные нейросети: руководство для начинающих
Перед прочтением
В этой статье предполагается, что у читателя уже есть базовые знания о глубоких нейронных сетях (нейронных сетях прямого распространения). О них подробно рассказывалось...
Руководство по машинному обучению для новичков
Простое объяснение с примерами из математики, программирования и реальной жизни.
Для кого это руководство?
Для технических специалистов, которые хотят повторить основы машинного обучения.Для тех, кто не смыслит...
Как работает GPT3
Обученная языковая модель генерирует текст. В качестве входных данных при желании ей можно также передать некоторый текст, влияющий на выходные данные. Выходные данные генерируются...
Как инструменты дизайна интерфейса и визуализации способствуют развитию Machine Teaching?
Разметка данных для машинного обучениянесет в себе ряд проблем и сложностей. Поэтому нам понадобится лучший подход, который ценит человеческий опыт и управляет расходами, а...
Инструменты для быстрого овладения наукой о данных
Компании типа BlobCity предоставляют множество шаблонов кода ИИ/МО. Этот инструментарий способен как облегчить работу опытных специалистов в области науки о данных, так и ускорить профессиональное становление новичков.
Управление файлами в Google Colab
Google Colaboratory — бесплатная среда Jupyter Notebook, которая выполняется на облачных серверах Google и позволяет использовать аппаратное оборудование бэкенда, например GPU and TPU. В...
Структуры данных: кольцевой (циклический, замкнутый) связный список
Кольцевой связный список - это разновидность связного списка, при которой первый элемент указывает на последний, а последний - на первый. Кольцевой связный список можно сделать как из односвязного , так и из двусвязного списка.
5 уникальных подходов Google к инженерии данных
Когда я пришел в Google в качестве поставщика в 2019 году, у меня уже был опыт работы в области здравоохранении и технологическом секторе. Тем...
Настройте свой Jupyter Notebook правильно
В своей известной презентации “Я не люблю блокноты” (видео и слайды) Джоэль Грус критикует Jupyter Notebook — вероятно, самую популярную среду разработки для машинного обучения. Для...
Как искусственный интеллект меняет финансовый сектор?
Анализ акций и других ценных бумаг обычно кажется нам крайне трудоёмким процессом. Эффективное управление рисками требует масштабных исследований и анализа моделей, данных и отраслевых...
Анализ независимых компонент в Python
Предположим, вы на вечеринке беседуете с милой девушкой. Вас атакует множество звуков: разговоры людей по всему дому, громко играющая на фоне музыка. Тем не...
10 самых продуктивных техник для работы с файлами в Python
Какой бы проект вы ни разрабатывали, вам не избежать работы с файлами либо на компьютере, либо на сервере. И неудивительно, поскольку они являются самыми...
Теория вероятностей, или Не стоит полагаться на случай
Понятия вероятности и случайности затрагивают практически все аспекты нашей жизни. Большинство своих решений мы принимаем, исходя из вероятности наиболее благоприятных для нас событий. Поэтому...
ТОП-4 официальных сайта МО-библиотек и способы их использования
Ознакомьтесь с обзором 4 лучших сайтов машинного обучения: Scikit-learn, TensorFlow, Keras и PyTorch. Предлагаем также освоить эффективные способы применения каждого из этих ресурсов.
Алгоритм YOLO простым языком
Что такое YOLO? Эта аббревиатура расшифровывается как “You Only Look Once” (“Стоит только раз взглянуть”). YOLO — современный алгоритм глубокого обучения, который широко используется...
Работа с панелью индикаторов. Руководство программиста Python. Часть 3
Часть 1, Часть 2, Часть 3
В этой серии статей в качестве основной платформы для Dashboarding используется Dash от Plotly.
Прежде чем перейти к этой статье,...
Персонализация контента с IBM Watson
В своём дипломном проекте я решил продолжить работать с естественным языком, фильмами и IBM Watson. В предыдущем проекте я визуализировал психологические профили персонажей фильмов,...
Ускоряем работу с pandas при помощи modin
Pandas — библиотека, которая не нуждается в представлении, если речь идёт о работе с данными. Она привносит высокую производительность, структурирование данных и удобную работу с ними....
Значение Data Science в современном мире
Что же такое data science? Data science — это научная дисциплина, которая занимается поиском истины и использует данные для получения знаний и идей. Data science стремительно...
Менеджеры контекста в Python - выходим за пределы «with open() file»
Введение
В Python при работе с файлами наиболее распространённой функция open(), создающая объект типа файл, который в зависимости от ситуации позволяет читать или записывать данные....
Квантовые вычисления для всех
Квантовые вычисления. Наряду с квантовой запутанностью и квантовой телепортацией это модное учёное словечко широко распространено в научной фантастике и научно-популярных СМИ. Но что оно...
ИИ: постижение законов сверхразума
Термин “искусственный интеллект” похож на чемодан: каждый набивает его своим содержанием. Ученые тоже не могут достичь консенсуса в определении машинного разума. От этого в...
Основы SQLite на примере практической задачи
Базы данных — это превосходный, безопасный и надежный способ хранения данных. Все основные реляционные базы объединяет SQL, т.е. язык управления данными, их базами и...
Разработка инфраструктуры и торговых ботов для ИИ-трейдинга
Примечание: данная статья преследует исключительно образовательные и развлекательные цели, не являясь прямой финансовой рекомендацией. Редакция каналов Better Programming и Nuances of Programming не несет...
Стоит ли учить Julia?
Julia — это новейший IT-язык, поэтому я решил его попробовать. Вопрос в том, стоит ли добавлять его в арсенал специалиста по данным?
Установка
Первое, что стоит знать о...
Как проверить наличие файла или каталога в R, Python и Bash?
Проверка наличия файла или каталога в R
Для этого примера мы создали файл myfile.txt и каталог my_test_folder.
Как проверить наличие файла?
Наличие файла легко проверить с помощью команды file.exists()...
Библиотеки Python для машинного обучения
Что такое «библиотека Python»?
Если вдуматься, она очень похожа на обычную библиотеку, в которой собраны самые разные книги. В библиотеке Python имеется несколько уникальных модулей,...
Как за месяц создать систему учета посещаемости на базе распознавания лиц
Нестандартные решения - верные помощники в разработке инноваций. Представляем инновационный проект управления посещаемостью, созданный двумя инженерами-программистами менее чем за месяц.
Топ-5 ошибок при объявлении функций в Python
Функции являются критическим компонентом в любом программном проекте. Написанные должным образом, они представляют собой практичный способ написания читаемого и поддерживаемого кода. Однако, если функции...
MongoDB: агрегирование
Операции агрегирования обрабатывают данные и возвращают вычисленные результаты. Они группируют значения из нескольких документов, выполняют с ними разные действия и возвращают один-единственный результат. В SQL аналогами операций агрегирования MongoDB являются функция count(*) и оператор group by.
Как установить несколько версий Python в WSL2 и управлять ими
Открываем PowerShell
PowerShell — это командная оболочка и объектно-ориентированный язык сценариев, который используется для настройки системных параметров и автоматизации задач администрирования. В операционной системе практически...
4 шага к совершенству: правила для идеальных функций
Функции — это блоки кода, выполняющие требуемые действия. Они являются фундаментальными составляющими любого проекта разработки. Без них мы не сможем ни обработать данные, ни представить их...
3 случая, когда линейная модель может ошибаться
Введение
В этой статье я покажу три случая, когда линейные модели могут привести к неверным результатам. Основное внимание будет уделено сравнению линейных моделей с моделируемыми...
Java Hibernate
Познакомимся с инструментом Hibernate, который помогает сопоставлять объекты с записями в реляционных базах данных, и выполним CRUD-операции на примере условного класса.
Магическая формула для улучшения навыков программирования
Вы программист или только хотите им стать, однако на этом этапе жизнь не прекращается. Вы должны, и мы надеемся хотите, улучшать свои навыки постоянно.
Да,...
25 полезных сокращений в JavaScript для веб-разработчиков
Сегодня вы узнаете о множестве сокращений в JavaScript, которые можно использовать, чтобы сделать код более читабельным, лаконичным и профессиональным.
5 секретов наилучшего использования кортежей в Python
Python, являясь языком программирования общего назначения, предоставляет набор встроенных типов данных, включая int, str, tuple, list, dict и set. Четыре последних считаются контейнерами, так...