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 для решения многих бизнес-задач.
Выбор оптимального алгоритма поиска в Python
Когда дело касается обучения, мы, как правило, используем один из двух основных подходов: идём либо вширь и стараемся охватить как можно больший спектр области,...
5 важных аспектов замыканий в Python
Замыкания не являются уникальным явлением Python и встречаются во многих других языках. При этом несмотря на то, что большинство начинающих разработчиков об этой концепции...
Глубокие нейросети: руководство для начинающих
Введение
ИИ уже успел достаточно нашуметь — о нейросетях сейчас знают и в научной среде, и в бизнесе. Вам наверняка случалось читать, что совсем скоро ваши рабочие...
Как импортировать наборы данных Kaggle в Google Colab?
Хотите поработать с набором данных Kaggle в блокноте Colab? Предлагаем простейший пошаговый алгоритм загрузки набора данных Kaggle в Colab-среду.
Наивный байесовский алгоритм
Введение
Самые простые решения обычно оказываются самыми действенными, и в этом смысле показателен пример наивного байесовского алгоритма. Несмотря на большие успехи машинного обучения в последние...
7 полезных операций в Pandas при работе с DataFrame
Абстракция датафрейма является одной из наиболее полезных концепций в современной экосистеме управления данными. Вращается она главным образом вокруг табличных структур, которые имеют повышенную производительность...
8 ключевых команд для управления средами Conda
Введение
Виртуальные среды — не самая простая концепция для новичков в Python. Как правило, при установке ПО, например Microsoft Office и Evernote, большинство из нас...
Гамма-функция - интуиция, определение, примеры
Почему это интересно?
Многие распределения вероятностей определяются с использованием гамма-функции, я перечислю лишь некоторые: гамма-распределение, бета-распределение, распределение Дирихле, распределение хи-квадрат, т-распределение Стьюдента и так далее.
Для...
Как писать код на Python лучше: 6 рекомендаций
В среде разработчиков Python считается одним из самых популярных языков программирования. Он используется везде — от веб-разработки до машинного обучения.
Причин такой популярности много. Это...
Выбор между SQL и NoSQL: ACID и CAP, схема и транзакции
Детальное руководство по архитектуре баз данных: основные концепции в работе реляционных (SQL) и распределенных (NoSQL) баз данных.
10 популярных проектов GitHub, написанных на Python
Уже долгое время разработчики во всем мире выбирают Python для большинства своих проектов. Python — второй по популярности язык на GitHub, крупнейшем веб-сервисе для...
Лучший алгоритм решения задач по программированию на Python
По-прежнему актуальны споры о фактической пользе таких веб-сайтов по Python-программированию, как Codewars или Leetcode, и их роли в развитии профессиональных навыков разработчиков. Но несмотря...
Утиная типизация в Python - 3 примера
Утиная типизация
Опытным программистам концепция утиной типизации наверняка знакома. Для новичков же это словосочетание может звучать довольно странно: какое отношение имеют утки к программированию?
Эта концепция...
Теория графов в кратком и практичном изложении
Графы являются очень полезной в программировании структурой, поскольку зачастую задачи компьютерной науки можно представить в виде графа и решить с помощью одной из его...
Четыре метода, которые повысят качество работы с Pandas
Знакомьтесь с "великолепной четверкой" методов - assign, map, query и explode. Это самые крутые фичи Pandas. Они сделают ваш код более ясным, элегантным и эффективным.
Статистика - это грамматика науки о данных. Часть 3
Повторение статистики для начала путешествия по науке о данных
Часть 1, Часть 2, Часть 3, Часть 4, Часть 5
Меры расположения
Процентили
Процентили делят упорядоченные данные...
Эффективное итерирование по строкам в Pandas DataFrame
Рассмотрим продвинутые методы итерирования по строкам, которые заменят iterrows и itertuples. Некоторые из них позволяют повышать производительность почти в две тысячи раз, не снижая при этом читабельности кода.
6 функций Pandas для быстрого эксплораторного анализа данных
Познакомьтесь с 6 функциями, лежащими в основе любого эксплораторного анализа данных. Они позволят сделать первый шаг в исследовании данных в Pandas.
10 самых продуктивных техник для работы с файлами в Python
Какой бы проект вы ни разрабатывали, вам не избежать работы с файлами либо на компьютере, либо на сервере. И неудивительно, поскольку они являются самыми...
10 Графовых алгоритмов
Графы превратились в невероятно сильное средство моделирования и получения данных из соцсетей, веб-страниц и ссылок, а также определения местоположения и маршрутов в GPS. Любой...
Менеджеры контекста в Python - выходим за пределы «with open() file»
Введение
В Python при работе с файлами наиболее распространённой функция open(), создающая объект типа файл, который в зависимости от ситуации позволяет читать или записывать данные....
Поиск с возвратом в решении типичных задач на собеседовании
Поиск с возвратом — это эффективный метод для решения алгоритмических задач, обычно задаваемых на собеседовании. Данный вид поиска ищет решения в глубину и, достигнув...
Как найти выход из лабиринта с помощью Python
Создание лабиринта
Наш лабиринт будет в виде матрицы размером n*m с нулями для проходов и единицами для стен.
a = [
[1, 1,...
Python: как заменить циклы For на Map, Filter и Reduce
Вы когда-нибудь смотрели на свой код и видели водопад из циклов for? Вам приходилось щурить глаза и наклоняться к монитору, чтобы рассмотреть его поближе?
Я...
Машинное обучение. С чего начать? Часть 1
По мере того, как машинное обучение всё больше внедряют в бизнес-процессы, жизненно важным становится наличие инструмента, который позволяет быстро решать поставленные задачи. Зачастую в...
Как выбрать СУБД для решения ваших задач?
Разложим все по полочкам: типы СУБД, их преимущества и недостатки, для каких задач подходят и какие решения есть на рынке. Поможем сделать правильный выбор с учетом всех факторов.
Крутые наборы данных для машинного обучения
Более 50 открытых наборов для ваших исследований
Хорошее исследование в машинном обучении начинается с подходящего набора данных. Нет необходимости тратить целый вечер на создание собственного...
Random forest в Python
Практический пример машинного обучения
До сих по еще не было более удачного времени для машинного обучения. Благодаря доступным учебным онлайн ресурсам в Интернет, бесплатные инструменты...
8 базовых понятий статистики для науки о данных
Статистика — это разновидность математического анализа, использующая количественные модели и репрезентации для анализа экспериментальных или реальных данных. Главное преимущество статистики — простота представления информации. Недавно я пересматривала материалы...
Алгоритм YOLO простым языком
Что такое YOLO? Эта аббревиатура расшифровывается как “You Only Look Once” (“Стоит только раз взглянуть”). YOLO — современный алгоритм глубокого обучения, который широко используется...
Пошаговое построение логистической регрессии в Python
Логистическая регрессия — это алгоритм классификации машинного обучения, используемый для прогнозирования вероятности категориальной зависимой переменной. В логистической регрессии зависимая переменная является бинарной переменной, содержащей данные, закодированные...
Краткий обзор 10 популярных архитектурных шаблонов приложений
Вы когда-нибудь задавались вопросом о том, как именно разрабатываются масштабные системы крупных предприятий? До того, как перейти к непосредственной разработке программного обеспечения, мы определяемся...
Подробное руководство по свёрточным нейронным сетям
Искусственный интеллект существенно развился на своём пути сокращения разрыва между возможностями людей и машин. Разработчики наравне с энтузиастами работают над великим множеством аспектов в...
Алгоритм машинного обучения t-SNE - отличный инструмент для снижения размерности в Python
Улучшение качества визуализации - актуальная проблема для многих разработчиков. Узнайте, как использовать алгоритм машинного обучения t-SNE для визуализации данных высокой размерности.
5 видов регрессии и их свойства
Линейная и логистическая регрессии обычно являются первыми видами регрессии, которые изучают в таких областях, как машинное обучение и наука о данных. Оба метода считаются...
Пять отличных Python-библиотек для data science
Python — это лучший друг специалистов по данным, а библиотеки значительно упрощают их жизнь. Работая над NLP-проектом, я открыл для себя пять отличных Python-библиотек, которые мне...
Как работает случайный лес?
Как и почему работает случайный лес? Разбираемся
Важная часть машинного обучения — это классификация. Мы хотим знать, к какому классу (или группе) принадлежит значение. Возможность...
Руководство по SQL: Как лучше писать запросы
Язык структурированных запросов – SQL, является незаменимым навыком в области науки о данных и, вообще говоря, приобрести этот навык довольно просто. Однако большинство забывают, что...
Основы SQLite на примере практической задачи
Базы данных — это превосходный, безопасный и надежный способ хранения данных. Все основные реляционные базы объединяет SQL, т.е. язык управления данными, их базами и...
Алгоритм Рабина-Карпа с полиномиальным хешем и модульной арифметикой
Введение
Созданный Ричардом Карпом и Майклом Рабином алгоритм Рабина-Карпа — это алгоритм поиска строки, который использует хеширование для поиска совпадений между заданным шаблоном поиска и...
Плотность вероятности - это не сама вероятность
Наибольшее значение вероятности — единица. Это общеизвестный факт! Однако для некоторых плотностей вероятности (например, плотности вероятности экспоненциального распределения на графике ниже), когда λ= 1.5 и ?...
Суть 4 хитроумных концепций Python для новичков
Совсем не просто изучать новый язык программирования, особенно в отсутствии какого-либо опыта в данной сфере. Однако по сравнению с другими языками вам, вероятно, будет...
Обнаружение объектов с помощью цветовой сегментации изображений в Python
Начинаем
Если у вас уже есть Jupyter Notebook или IDE, с помощью которых можно запускать установленные Python и OpenCV, то сразу переходите к разделу Выполнение.
Инструменты
Наш...
5 доказательств силы итерируемых объектов в Python
Что такое итерируемые объекты?
Итерируемые (перебираемые) объекты — это коллекция важных структур данных в Python. Например, к ним относятся такие встроенные типы, как строки, списки и словари....
Сканер документов на основе технологии машинного зрения
В последнее время, когда я работал с OpenCV, мне пришла в голову идея написать фреймворк для преобразования изображений. Такое приложение будет полезно каждый день...
Современные шаблоны проектирования архитектуры
Многие современные приложения нужно проектировать в масштабе предприятия или даже всего интернета. Все они должны отвечать требованиям масштабируемости, доступности, безопасности, надежности и отказоустойчивости.
Здесь я...
Наглядное объяснение алгоритма Беллмана-Форда
Алгоритм Беллмана-Форда находит в ориентированном графе кратчайшие пути от исходной вершины до всех остальных. В отличие от алгоритма Дейкстры, в алгоритме Беллмана-Форда могут быть...
Все модели машинного обучения за 6 минут
Все модели машинного обучения разделяются на обучение с учителем (supervised) и без учителя (unsupervised). В первую категорию входят регрессионная и классификационная модели. Рассмотрим значения...
Как создать бота для автоматизации повседневных задач, с помощью Python и Google BigQuery
У каждого из нас есть однообразные задачи, которые мы выполняем изо дня в день, из недели в неделю. Составление отчетов, в большинстве случаев, является...
Рекуррентная нейронная сеть с головы до ног
Нейрон — строительный элемент человеческого мозга. Он анализирует сложные сигналы за микросекунды и отправляет ответы нервной системе, которая решает сложные задачи. У всех нейронов одна и...
Продвинутый взгляд на рекурсию
Рекурсия является одним из наиболее мощных подходов в программировании. С ее помощью можно решать чрезвычайно сложные задачи, печатая при этом невероятно малый объем кода.
Что такое распределение Пуассона?
Прежде чем вводить параметр λ и подставлять его в формулу, давайте задумаемся: почему Пуассону вообще пришлось изобретать такое распределение?
1. Почему Пуассон изобрел свое распределение?
Чтобы...
4 пайтонические техники для краткого кода
При создании любого проекта, независимо от его размера, важно обращать внимание на его обслуживаемость. База кода всегда должна быть удобной в этом отношении, чтобы...
5 типов алгоритмов машинного обучения, которые нужно знать
Машинное обучение — один из самых известных и важных подразделов науки о данных. В 1959 году исследователь компании IBM Артур Самюэл впервые ввёл термин...
Графы и пути: Алгоритм Брона-Кербоша, максимальные группы
Статья описывает алгоритм Брон-Кербоша для нахождения максимальных кликов в графах. Автор объясняет, как алгоритм работает и его применение в задачах, связанных с теорией графов и анализом данных.
8 базовых алгоритмических задач на собеседованиях
Во время собеседования на должность в IT-сфере часто касаются вопросов применения алгоритмов. Наиболее популярными являются алгоритмы поиска и сортировки (строковые алгоритмы, бинарный поиск, алгоритм...
Рекурсия и цикл, в чем разница? На примере Python
Цикл — это фундаментальный инструмент в программировании. Существует множество различных типов циклов, но почти все они выполнят одну базовую функцию: повторение определённых действий над данными, для...
Галерея лучших модулей Python
Вас никогда не обескураживало огромное число модулей Python? И, скорее всего, вам было непросто выбрать всего один для конкретного проекта. В этой статье вы...
Глубокие свёрточные нейросети: руководство для начинающих
Перед прочтением
В этой статье предполагается, что у читателя уже есть базовые знания о глубоких нейронных сетях (нейронных сетях прямого распространения). О них подробно рассказывалось...
Алгоритмы поиска, которые должен знать каждый специалист по обработке и анализу данных
В последние годы алгоритмы для решения задач автоматического планирования и диспетчеризации стали вновь популярными в области машинного обучения. Понимание принципов их работы поможет увеличить...
List Comprehensions в Python за 5 минут
Зачем нужен list comprehension в Python?
Чтобы сохранить строчки кода.
List comprehensions — это один из способов создания Pythonic-однострочников (one-liners) с итерируемыми списками.
В качестве примера рассмотрим продуктовую корзину. Вы...
Топ-5 ошибок при объявлении функций в Python
Функции являются критическим компонентом в любом программном проекте. Написанные должным образом, они представляют собой практичный способ написания читаемого и поддерживаемого кода. Однако, если функции...
Что такое компилятор
Если вы программист, то наверняка слышали слово “компилятор”. Но знаете ли вы, что это такое на самом деле? Вы когда-нибудь задумывались, что происходит под...
Расширение Jupyter для VS Code
Блокноты — отличный инструмент для инкрементальной разработки концепций ПО. С их помощью специалисты по данным отслеживают структуру своей работы, исследуют алгоритмы, быстро набрасывают новые...
Apache Spark: гайд для новичков
Что такое Apache Spark?
Специалисты компании Databricks, основанной создателями Spark, собрали лучшее о функционале Apache Spark в своей книге Gentle Intro to Apache Spark (очень рекомендую...
Пять парадоксов с вероятностью, которые вас озадачат
А может быть сможете их перехитрить?
В повседневной жизни мы постоянно сталкиваемся с ситуациями неопределенности. Так, по крайней мере подсознательно, мы постоянно встречаемся с вероятностями....
Я хочу изучать AI и машинное обучение. С чего мне начать?
Когда-то я работал в Apple Store и мечтал изменить свою жизнь: вместо обслуживания техники Apple, мне хотелось ее создавать.
Я начал изучать машинное обучение (ML)...
По маршруту SQLite - Pandas: 7 основных операций
Просто и по существу: познакомимся с модулем sqlite3, рассмотрим основные операции с базой данных SQLite и принцип ее взаимодействия с pandas.
Как вычислить миллионное число Фибоначчи на Python
Как-то раз я захотел найти оптимальное решение для вычисления чисел Фибоначчи и решил попробовать вычислить стотысячное число в последовательности, а потом подумал: если бы...
Вычисление π: моделирование методом Монте-Карло
Каждый год 14 марта любители математики отмечают День числа пи! Есть много способов вычислить это легендарное число π, которое примерно равно 3,14159…
Обсудим все эти...
Структуры данных: двусвязный (двунаправленный) список
Двусвязный список - это разновидность связного списка, при которой переход по элементам возможен в обоих направлениях (как вперед, так и назад), в отличие от односвязного списка.
Руководство по машинному обучению для новичков
Простое объяснение с примерами из математики, программирования и реальной жизни.
Для кого это руководство?
Для технических специалистов, которые хотят повторить основы машинного обучения.Для тех, кто не смыслит...
Важные аспекты математики в науке о данных - «что» и «почему»
Введение
Математика является фундаментом для любой современной научной дисциплины. И ни для кого не секрет, что почти все методы современной науки о данных (включая машинное...
Работа с панелью индикаторов. Руководство программиста Python. Часть 1
В этой серии статей в качестве основной платформы для Dashboarding используется Dash от Plotly.
Введение
Dash от Plotly — это веб-фреймворк, построенный на основе Plotly.js, React и Flask,...
Как конвертировать PDF-файлы в PNG с помощью Python
Пакет pdf2image поможет нам превратить файл PDF в PNG. Чтобы упростить процесс преобразования, мы немного улучшим этот проект. Давайте сделаем это без лишних слов!
Требования
Первое,...
Метод подсчёта количества решений
Линейные алгебраические уравнения — одни из самых простых уравнений, которые мы можем решить. Если в уравнении только одна переменная, решение тривиально, в то время как для...
Метод опорных векторов: примеры на Python
Метод опорных векторов (далее МОВ) — это техника машинного обучения с учителем. Она используется в классификации, может быть применена к регрессионным задачам.
Метод определяет границу...
Создание простой нейронной сети на Python
В течение последних десятилетий машинное обучение оказало огромное влияние на весь мир, и его популярность только набирает обороты. Все больше людей увлекается подотраслями этой...
7 Способов вывести свои новые навыки Python на следующий уровень
Внимание: в этой статье нет партнёрских ссылок.
Когда я впервые начинал изучать Python, я не знал, что делать с моими новыми навыками дальше. Поэтому они...
Завораживающая последовательность Фибоначчи
Занимаясь изучением обработки данных, расчётами, а также другими компьютерными и математическими операциями, мы сталкиваемся со многими алгоритмами. Несмотря на то, что иногда мы недолюбливаем...
Обработка естественного языка
Обработка естественного языка или NLP (от англ. Natural language processing) — одна из самых известных областей науки о данных. За последнее десятилетие она приобрела...
Креативное программирование: методы и инструменты для JavaScript, Python и других языков
Креативное программирование
Задача этого вида программирования состоит в создании не функционального, а выразительного продукта. В этом процессе немаловажную роль играет эстетика, и именно поэтому он...
Настройте свой Jupyter Notebook правильно
В своей известной презентации “Я не люблю блокноты” (видео и слайды) Джоэль Грус критикует Jupyter Notebook — вероятно, самую популярную среду разработки для машинного обучения. Для...
5 простых способов визуализации данных на Python. С кодом
Визуализация данных — это большая часть работы специалистов в области data science. На ранних стадиях развития проекта часто необходимо выполнять разведочный анализ данных (РАД, Exploratory data...
Python 3: 3 функции, которые следует помнить
Многие разработчики, особенно новички, уже активно пишут на Python 3. И хотя в этой версии появилось множество новых функций, многие из них неизвестны или...
Анализ социальных сетей: от теории графов до приложений на Python
Теория сетей
Начнем с краткого введения в базовые компоненты сети: узлы и ребра.
Узлы (например, A,B,C,D,E) обычно представляют объекты в сети и содержат собственные и сетевые...
Графы и пути — алгоритм Дейкстры
Примеры из веб-приложения здесь.
Зачем
В 1959 году Эдсгер Дейкстра пришел к выводу о том, что компьютеры могут находить самые эффективные траектории, измеряя и высчитывая расстояния в...
Руководство по SQL: команда MySQL INSERT в подробностях
Примеры MySQL INSERT на практике для начинающих, команды INSERT INTO, VALUES, SET, SELECT, IGNORE и загрузка записей напрямую из файла.
Понятие о виртуальных средах в Python
Введение в виртуальные среды Python с использованием VR
Нет, вам не нужны очки виртуальной реальности (VR) для чтения этой статьи. Будет достаточно внимательности и интереса...
Осваиваем реактивное программирование на Java
Асинхронный ввод/вывод уже какое-то время используется в обиходе. При этом разные языки реализуют его по-разному, но все предоставляют способ уменьшить количество потоков, давая вроде...
Как правильно учиться Java-программированию: история одного тьютора
Моя история
Все началось больше десяти лет назад. Решив стать программистом, я начал изучать несколько языков, чтобы в конечном итоге найти «свой» язык.
В Java я...
Настоящие беспилотные такси выезжают на улицы города
Компания Waymo официально запускает парк беспилотных автомобилей в городе Финикс
Waymo — компания по производству беспилотных автомобилей, вышедшая из Google в 2016 году, наконец выполнит своё...
Что я изучил за год занятия программированием
Будучи учеником старшей школы, я начал изучать графический дизайн. В основном, я занимался созданием различных иконок, логотипов и геофильтров для Snapchat. Примерно в то...








































































































