80 практических вопросов по Python для собеседования
Многие начинающие ученые в области данных начали свое путешествие по науке о данных с языка программирования Python. Почему Python? Потому что он легок в...
Компилятор VS интерпретатор: ключевые отличия
Интерпретаторы и компиляторы отвечают за преобразование языка программирования или сценариев (язык высокого уровня) в машинный код. Но если обе программы делают одно и то...
4 способа добавления колонок в датафреймы Pandas
Pandas — это библиотека для анализа и обработки данных, написанная на языке Python. Она предоставляет множество функций и способов для управления табличными данными. Основная структура данных...
Анализ аудиоданных с помощью глубокого обучения и Python (часть 1)
Введение
Аудиоанализ - область, включающая автоматическое распознавание речи (ASR), цифровую обработку сигналов, а также классификацию, тегирование и генерацию музыки - представляет собой развивающийся поддомен приложений...
Суперсила индексов для оптимизации SQL-запросов
Введение
Вы любите SQL и хотите улучшить свои навыки выполнения SQL-запросов? Вы знаете, что индексация — отличный инструмент для оптимизации запросов, но при этом не...
Управление файлами в Google Colab
Google Colaboratory — бесплатная среда Jupyter Notebook, которая выполняется на облачных серверах Google и позволяет использовать аппаратное оборудование бэкенда, например GPU and TPU. В...
Решение алгоритмических проблем: Поиск повторяющихся элементов в массиве
Проблема
Найти дубликат в массиве
Given an array of n + 1 integers between 1 and n, find one of the duplicates.
If there are multiple possible...
Как освоить алгоритмы?
Чтобы что-то было сделано компьютером, нужно указать ему, как это сделать. Нужно написать программу с пошаговым объяснением: какие задачи компьютер должен выполнить и каким...
Структуры данных, которые необходимо знать каждому программисту
Пройти путь от нуля до профессионального инженера-программиста можно исключительно с помощью бесплатных ресурсов в интернете. Но разработчики, которые идут по этому пути, часто игнорируют...
Статистические типы данных, используемые в машинном обучении
Введение в статистику
Статистика — это наука об изучении данных. Знания в этой области позволяют использовать подходящие методы сбора и анализа данных, а также эффективно представлять результаты...
6 SQL-запросов, о которых должен знать каждый дата-инженер
SQL уже больше 45 лет, но он по-прежнему в деле и незаменим для быстрого анализа данных с написанием сложных запросов. Попрактикуемся в этом с продвинутым синтаксисом SQL для решения многих бизнес-задач.
Графы: основы теории, алгоритмы поиска
Возможно, вы уже знакомы с понятием спортивного программирования и знаете, что оно помогает развить навыки решения проблем и прокачать технические знания о структурах данных...
5 важных аспектов замыканий в Python
Замыкания не являются уникальным явлением Python и встречаются во многих других языках. При этом несмотря на то, что большинство начинающих разработчиков об этой концепции...
7 полезных операций в Pandas при работе с DataFrame
Абстракция датафрейма является одной из наиболее полезных концепций в современной экосистеме управления данными. Вращается она главным образом вокруг табличных структур, которые имеют повышенную производительность...
Наивный байесовский алгоритм
Введение
Самые простые решения обычно оказываются самыми действенными, и в этом смысле показателен пример наивного байесовского алгоритма. Несмотря на большие успехи машинного обучения в последние...
Как писать код на Python лучше: 6 рекомендаций
В среде разработчиков Python считается одним из самых популярных языков программирования. Он используется везде — от веб-разработки до машинного обучения.
Причин такой популярности много. Это...
Гамма-функция - интуиция, определение, примеры
Почему это интересно?
Многие распределения вероятностей определяются с использованием гамма-функции, я перечислю лишь некоторые: гамма-распределение, бета-распределение, распределение Дирихле, распределение хи-квадрат, т-распределение Стьюдента и так далее.
Для...
Выбор оптимального алгоритма поиска в Python
Когда дело касается обучения, мы, как правило, используем один из двух основных подходов: идём либо вширь и стараемся охватить как можно больший спектр области,...
10 популярных проектов GitHub, написанных на Python
Уже долгое время разработчики во всем мире выбирают Python для большинства своих проектов. Python — второй по популярности язык на GitHub, крупнейшем веб-сервисе для...
Глубокие нейросети: руководство для начинающих
Введение
ИИ уже успел достаточно нашуметь — о нейросетях сейчас знают и в научной среде, и в бизнесе. Вам наверняка случалось читать, что совсем скоро ваши рабочие...
Теория графов в кратком и практичном изложении
Графы являются очень полезной в программировании структурой, поскольку зачастую задачи компьютерной науки можно представить в виде графа и решить с помощью одной из его...
Утиная типизация в Python - 3 примера
Утиная типизация
Опытным программистам концепция утиной типизации наверняка знакома. Для новичков же это словосочетание может звучать довольно странно: какое отношение имеют утки к программированию?
Эта концепция...
Выбор между SQL и NoSQL: ACID и CAP, схема и транзакции
Детальное руководство по архитектуре баз данных: основные концепции в работе реляционных (SQL) и распределенных (NoSQL) баз данных
Четыре метода, которые повысят качество работы с Pandas
Знакомьтесь с "великолепной четверкой" методов - assign, map, query и explode. Это самые крутые фичи Pandas. Они сделают ваш код более ясным, элегантным и эффективным.
Менеджеры контекста в Python - выходим за пределы «with open() file»
Введение
В Python при работе с файлами наиболее распространённой функция open(), создающая объект типа файл, который в зависимости от ситуации позволяет читать или записывать данные....
Поиск с возвратом в решении типичных задач на собеседовании
Поиск с возвратом — это эффективный метод для решения алгоритмических задач, обычно задаваемых на собеседовании. Данный вид поиска ищет решения в глубину и, достигнув...
10 самых продуктивных техник для работы с файлами в Python
Какой бы проект вы ни разрабатывали, вам не избежать работы с файлами либо на компьютере, либо на сервере. И неудивительно, поскольку они являются самыми...
Лучший алгоритм решения задач по программированию на Python
По-прежнему актуальны споры о фактической пользе таких веб-сайтов по Python-программированию, как Codewars или Leetcode, и их роли в развитии профессиональных навыков разработчиков. Но несмотря...
Random forest в Python
Практический пример машинного обучения
До сих по еще не было более удачного времени для машинного обучения. Благодаря доступным учебным онлайн ресурсам в Интернет, бесплатные инструменты...
Как выбрать СУБД для решения ваших задач?
Разложим все по полочкам: типы СУБД, их преимущества и недостатки, для каких задач подходят и какие решения есть на рынке. Поможем сделать правильный выбор с учетом всех факторов.
10 Графовых алгоритмов
Графы превратились в невероятно сильное средство моделирования и получения данных из соцсетей, веб-страниц и ссылок, а также определения местоположения и маршрутов в GPS. Любой...
Python: как заменить циклы For на Map, Filter и Reduce
Вы когда-нибудь смотрели на свой код и видели водопад из циклов for? Вам приходилось щурить глаза и наклоняться к монитору, чтобы рассмотреть его поближе?
Я...
Как найти выход из лабиринта с помощью Python
Создание лабиринта
Наш лабиринт будет в виде матрицы размером n*m с нулями для проходов и единицами для стен.
a = [
[1, 1,...
Статистика - это грамматика науки о данных. Часть 3
Повторение статистики для начала путешествия по науке о данных
Часть 1, Часть 2, Часть 3, Часть 4, Часть 5
Меры расположения
Процентили
Процентили делят упорядоченные данные...
Крутые наборы данных для машинного обучения
Более 50 открытых наборов для ваших исследований
Хорошее исследование в машинном обучении начинается с подходящего набора данных. Нет необходимости тратить целый вечер на создание собственного...
Краткий обзор 10 популярных архитектурных шаблонов приложений
Вы когда-нибудь задавались вопросом о том, как именно разрабатываются масштабные системы крупных предприятий? До того, как перейти к непосредственной разработке программного обеспечения, мы определяемся...
Подробное руководство по свёрточным нейронным сетям
Искусственный интеллект существенно развился на своём пути сокращения разрыва между возможностями людей и машин. Разработчики наравне с энтузиастами работают над великим множеством аспектов в...
Машинное обучение. С чего начать? Часть 1
По мере того, как машинное обучение всё больше внедряют в бизнес-процессы, жизненно важным становится наличие инструмента, который позволяет быстро решать поставленные задачи. Зачастую в...
5 видов регрессии и их свойства
Линейная и логистическая регрессии обычно являются первыми видами регрессии, которые изучают в таких областях, как машинное обучение и наука о данных. Оба метода считаются...
6 функций Pandas для быстрого эксплораторного анализа данных
Познакомьтесь с 6 функциями, лежащими в основе любого эксплораторного анализа данных. Они позволят сделать первый шаг в исследовании данных в Pandas.
Как импортировать наборы данных Kaggle в Google Colab?
Хотите поработать с набором данных Kaggle в блокноте Colab? Предлагаем простейший пошаговый алгоритм загрузки набора данных Kaggle в Colab-среду.
Как работает случайный лес?
Как и почему работает случайный лес? Разбираемся
Важная часть машинного обучения — это классификация. Мы хотим знать, к какому классу (или группе) принадлежит значение. Возможность...
Пять отличных Python-библиотек для data science
Python — это лучший друг специалистов по данным, а библиотеки значительно упрощают их жизнь. Работая над NLP-проектом, я открыл для себя пять отличных Python-библиотек, которые мне...
Руководство по SQL: Как лучше писать запросы
Язык структурированных запросов – SQL, является незаменимым навыком в области науки о данных и, вообще говоря, приобрести этот навык довольно просто. Однако большинство забывают, что...
8 базовых понятий статистики для науки о данных
Статистика — это разновидность математического анализа, использующая количественные модели и репрезентации для анализа экспериментальных или реальных данных. Главное преимущество статистики — простота представления информации. Недавно я пересматривала материалы...
Эффективное итерирование по строкам в Pandas DataFrame
Рассмотрим продвинутые методы итерирования по строкам, которые заменят iterrows и itertuples. Некоторые из них позволяют повышать производительность почти в две тысячи раз, не снижая при этом читабельности кода.
Алгоритм YOLO простым языком
Что такое YOLO? Эта аббревиатура расшифровывается как “You Only Look Once” (“Стоит только раз взглянуть”). YOLO — современный алгоритм глубокого обучения, который широко используется...
8 ключевых команд для управления средами Conda
Введение
Виртуальные среды — не самая простая концепция для новичков в Python. Как правило, при установке ПО, например Microsoft Office и Evernote, большинство из нас...
Основы SQLite на примере практической задачи
Базы данных — это превосходный, безопасный и надежный способ хранения данных. Все основные реляционные базы объединяет SQL, т.е. язык управления данными, их базами и...
Алгоритм Рабина-Карпа с полиномиальным хешем и модульной арифметикой
Введение
Созданный Ричардом Карпом и Майклом Рабином алгоритм Рабина-Карпа — это алгоритм поиска строки, который использует хеширование для поиска совпадений между заданным шаблоном поиска и...
Алгоритм машинного обучения t-SNE - отличный инструмент для снижения размерности в Python
Улучшение качества визуализации - актуальная проблема для многих разработчиков. Узнайте, как использовать алгоритм машинного обучения t-SNE для визуализации данных высокой размерности.
Суть 4 хитроумных концепций Python для новичков
Совсем не просто изучать новый язык программирования, особенно в отсутствии какого-либо опыта в данной сфере. Однако по сравнению с другими языками вам, вероятно, будет...
5 доказательств силы итерируемых объектов в Python
Что такое итерируемые объекты?
Итерируемые (перебираемые) объекты — это коллекция важных структур данных в Python. Например, к ним относятся такие встроенные типы, как строки, списки и словари....
Плотность вероятности - это не сама вероятность
Наибольшее значение вероятности — единица. Это общеизвестный факт! Однако для некоторых плотностей вероятности (например, плотности вероятности экспоненциального распределения на графике ниже), когда λ= 1.5 и ?...
Пошаговое построение логистической регрессии в Python
Логистическая регрессия — это алгоритм классификации машинного обучения, используемый для прогнозирования вероятности категориальной зависимой переменной. В логистической регрессии зависимая переменная является бинарной переменной, содержащей данные, закодированные...
Современные шаблоны проектирования архитектуры
Многие современные приложения нужно проектировать в масштабе предприятия или даже всего интернета. Все они должны отвечать требованиям масштабируемости, доступности, безопасности, надежности и отказоустойчивости.
Здесь я...
Наглядное объяснение алгоритма Беллмана-Форда
Алгоритм Беллмана-Форда находит в ориентированном графе кратчайшие пути от исходной вершины до всех остальных. В отличие от алгоритма Дейкстры, в алгоритме Беллмана-Форда могут быть...
Обнаружение объектов с помощью цветовой сегментации изображений в Python
Начинаем
Если у вас уже есть Jupyter Notebook или IDE, с помощью которых можно запускать установленные Python и OpenCV, то сразу переходите к разделу Выполнение.
Инструменты
Наш...
Сканер документов на основе технологии машинного зрения
В последнее время, когда я работал с OpenCV, мне пришла в голову идея написать фреймворк для преобразования изображений. Такое приложение будет полезно каждый день...
4 пайтонические техники для краткого кода
При создании любого проекта, независимо от его размера, важно обращать внимание на его обслуживаемость. База кода всегда должна быть удобной в этом отношении, чтобы...
Как создать бота для автоматизации повседневных задач, с помощью Python и Google BigQuery
У каждого из нас есть однообразные задачи, которые мы выполняем изо дня в день, из недели в неделю. Составление отчетов, в большинстве случаев, является...
Продвинутый взгляд на рекурсию
Рекурсия является одним из наиболее мощных подходов в программировании. С ее помощью можно решать чрезвычайно сложные задачи, печатая при этом невероятно малый объем кода.
Галерея лучших модулей Python
Вас никогда не обескураживало огромное число модулей Python? И, скорее всего, вам было непросто выбрать всего один для конкретного проекта. В этой статье вы...
8 базовых алгоритмических задач на собеседованиях
Во время собеседования на должность в IT-сфере часто касаются вопросов применения алгоритмов. Наиболее популярными являются алгоритмы поиска и сортировки (строковые алгоритмы, бинарный поиск, алгоритм...
5 типов алгоритмов машинного обучения, которые нужно знать
Машинное обучение — один из самых известных и важных подразделов науки о данных. В 1959 году исследователь компании IBM Артур Самюэл впервые ввёл термин...
Графы и пути: Алгоритм Брона-Кербоша, максимальные группы
Статья описывает алгоритм Брон-Кербоша для нахождения максимальных кликов в графах. Автор объясняет, как алгоритм работает и его применение в задачах, связанных с теорией графов и анализом данных.
Что такое распределение Пуассона?
Прежде чем вводить параметр λ и подставлять его в формулу, давайте задумаемся: почему Пуассону вообще пришлось изобретать такое распределение?
1. Почему Пуассон изобрел свое распределение?
Чтобы...
Рекуррентная нейронная сеть с головы до ног
Нейрон — строительный элемент человеческого мозга. Он анализирует сложные сигналы за микросекунды и отправляет ответы нервной системе, которая решает сложные задачи. У всех нейронов одна и...
Рекурсия и цикл, в чем разница? На примере Python
Цикл — это фундаментальный инструмент в программировании. Существует множество различных типов циклов, но почти все они выполнят одну базовую функцию: повторение определённых действий над данными, для...
Топ-5 ошибок при объявлении функций в Python
Функции являются критическим компонентом в любом программном проекте. Написанные должным образом, они представляют собой практичный способ написания читаемого и поддерживаемого кода. Однако, если функции...
Алгоритмы поиска, которые должен знать каждый специалист по обработке и анализу данных
В последние годы алгоритмы для решения задач автоматического планирования и диспетчеризации стали вновь популярными в области машинного обучения. Понимание принципов их работы поможет увеличить...
Глубокие свёрточные нейросети: руководство для начинающих
Перед прочтением
В этой статье предполагается, что у читателя уже есть базовые знания о глубоких нейронных сетях (нейронных сетях прямого распространения). О них подробно рассказывалось...
Что такое компилятор
Если вы программист, то наверняка слышали слово “компилятор”. Но знаете ли вы, что это такое на самом деле? Вы когда-нибудь задумывались, что происходит под...
Как вычислить миллионное число Фибоначчи на Python
Как-то раз я захотел найти оптимальное решение для вычисления чисел Фибоначчи и решил попробовать вычислить стотысячное число в последовательности, а потом подумал: если бы...
Вычисление π: моделирование методом Монте-Карло
Каждый год 14 марта любители математики отмечают День числа пи! Есть много способов вычислить это легендарное число π, которое примерно равно 3,14159…
Обсудим все эти...
Руководство по машинному обучению для новичков
Простое объяснение с примерами из математики, программирования и реальной жизни.
Для кого это руководство?
Для технических специалистов, которые хотят повторить основы машинного обучения.Для тех, кто не смыслит...
Расширение Jupyter для VS Code
Блокноты — отличный инструмент для инкрементальной разработки концепций ПО. С их помощью специалисты по данным отслеживают структуру своей работы, исследуют алгоритмы, быстро набрасывают новые...
Все модели машинного обучения за 6 минут
Все модели машинного обучения разделяются на обучение с учителем (supervised) и без учителя (unsupervised). В первую категорию входят регрессионная и классификационная модели. Рассмотрим значения...
Работа с панелью индикаторов. Руководство программиста Python. Часть 1
В этой серии статей в качестве основной платформы для Dashboarding используется Dash от Plotly.
Введение
Dash от Plotly — это веб-фреймворк, построенный на основе Plotly.js, React и Flask,...
List Comprehensions в Python за 5 минут
Зачем нужен list comprehension в Python?
Чтобы сохранить строчки кода.
List comprehensions — это один из способов создания Pythonic-однострочников (one-liners) с итерируемыми списками.
В качестве примера рассмотрим продуктовую корзину. Вы...
По маршруту SQLite - Pandas: 7 основных операций
Просто и по существу: познакомимся с модулем sqlite3, рассмотрим основные операции с базой данных SQLite и принцип ее взаимодействия с pandas.
7 Способов вывести свои новые навыки Python на следующий уровень
Внимание: в этой статье нет партнёрских ссылок.
Когда я впервые начинал изучать Python, я не знал, что делать с моими новыми навыками дальше. Поэтому они...
Креативное программирование: методы и инструменты для JavaScript, Python и других языков
Креативное программирование
Задача этого вида программирования состоит в создании не функционального, а выразительного продукта. В этом процессе немаловажную роль играет эстетика, и именно поэтому он...
Настройте свой Jupyter Notebook правильно
В своей известной презентации “Я не люблю блокноты” (видео и слайды) Джоэль Грус критикует Jupyter Notebook — вероятно, самую популярную среду разработки для машинного обучения. Для...
Как конвертировать PDF-файлы в PNG с помощью Python
Пакет pdf2image поможет нам превратить файл PDF в PNG. Чтобы упростить процесс преобразования, мы немного улучшим этот проект. Давайте сделаем это без лишних слов!
Требования
Первое,...
Метод опорных векторов: примеры на Python
Метод опорных векторов (далее МОВ) — это техника машинного обучения с учителем. Она используется в классификации, может быть применена к регрессионным задачам.
Метод определяет границу...
Python 3: 3 функции, которые следует помнить
Многие разработчики, особенно новички, уже активно пишут на Python 3. И хотя в этой версии появилось множество новых функций, многие из них неизвестны или...
Обработка естественного языка
Обработка естественного языка или NLP (от англ. Natural language processing) — одна из самых известных областей науки о данных. За последнее десятилетие она приобрела...
Apache Spark: гайд для новичков
Что такое Apache Spark?
Специалисты компании Databricks, основанной создателями Spark, собрали лучшее о функционале Apache Spark в своей книге Gentle Intro to Apache Spark (очень рекомендую...
5 любопытных библиотек Python
Как один из наиболее популярных языков программирования, Python содержит огромное количество прекрасных библиотек, облегчающих разработку, таких как Pandas, Numpy, Matplotlib, SciPy и так далее.
Однако...
Завораживающая последовательность Фибоначчи
Занимаясь изучением обработки данных, расчётами, а также другими компьютерными и математическими операциями, мы сталкиваемся со многими алгоритмами. Несмотря на то, что иногда мы недолюбливаем...
Руководство по SQL: команда MySQL INSERT в подробностях
Примеры MySQL INSERT на практике для начинающих, команды INSERT INTO, VALUES, SET, SELECT, IGNORE и загрузка записей напрямую из файла.
Графы и пути — алгоритм Дейкстры
Примеры из веб-приложения здесь.
Зачем
В 1959 году Эдсгер Дейкстра пришел к выводу о том, что компьютеры могут находить самые эффективные траектории, измеряя и высчитывая расстояния в...
5 простых способов визуализации данных на Python. С кодом
Визуализация данных — это большая часть работы специалистов в области data science. На ранних стадиях развития проекта часто необходимо выполнять разведочный анализ данных (РАД, Exploratory data...
Новая библиотека превосходит Pandas по производительности
Выпуск pandas датируется 2008 годом, и написана она была на Python, Cython и Си. Сегодня мы сравниваем производительность этой всем известной библиотеки с новой...
Погружение в базы данных
Базы данных представляют собой упорядоченные наборы данных, хранящиеся в компьютерной системе и доступные в электронном виде. Существует множество типов баз данных, например:
облачные;реляционные;объектно-ориентированные;NoSQL.
Выбор той или...
Алгоритмы машинного обучения простым языком. Часть 1
Как недавнего выпускника буткемпа по машинному обучению от Flatiron School меня буквально затопило советами о том, как стать асом в прохождении интервью. Я заметил,...
Анализ социальных сетей: от теории графов до приложений на Python
Теория сетей
Начнем с краткого введения в базовые компоненты сети: узлы и ребра.
Узлы (например, A,B,C,D,E) обычно представляют объекты в сети и содержат собственные и сетевые...
Важные аспекты математики в науке о данных - «что» и «почему»
Введение
Математика является фундаментом для любой современной научной дисциплины. И ни для кого не секрет, что почти все методы современной науки о данных (включая машинное...
Моделирование экспоненциального роста
Чтобы лучше усвоить материал, рекомендуем вам использовать данные для примера и Python Notebook.
Почему именно экспоненциальный рост?
Экспоненциальный рост — это математическая функция, которая может использоваться в нескольких...
Как получить данные в нужном формате с помощью Pandas
Дата-сайентистам приходится работать с данными разных форматов. Разбираемся, в чем заключается разница между длинным и широким форматами данных, а также в том, как перейти от одного формата к другому в Pandas.
Куча советов по программированию, которые я дал бы себе сам после 15 лет опыта
Маркус Баффетт — известный на HackerNews автор конструктора шахматного репертуара напоминает: «Изучайте Ваш инструмент, почти всегда оно того стоит». А ещё бойтесь писать код, который можно быстро поправить, если ошибки не критичны. В конце поста автор делится идеями ускорения отладки, которые уже работают на Chessbook и могут стать полезными для Вас.
Создание REST-клиента с помощью Spring Cloud OpenFeign и Netflix Ribbon
В Java HTTP-запросы между сервисами реализуются весьма просто. Так как существует ряд известных открытых HTTP-клиентов, таких как OkHttp и RestTemplate в Spring, то сложность...
Создание кастомизированного кругового загрузчика в Jetpack Compose: изучение Android Canvas и анимации
Простое руководство поможет вам создать в Jetpack Compose кастомизированный круговой загрузчик. Вы также узнаете, как добиться переключения между тремя типами круговой анимации, манипулируя основным и дополнительным цветами.
Как работает случайный лес?
Как и почему работает случайный лес? Разбираемся
Важная часть машинного обучения — это классификация. Мы хотим знать, к какому классу (или группе) принадлежит значение. Возможность...