Наука о данных — самая быстрорастущая область с множеством вакансий. Чтобы работать Data Scientist, нужно знать SQL. В то время как машинное обучение и ИИ в настоящее время доминируют в области науки о данных, SQL, которому почти 50 лет, остается одним из самых важных навыков.

SQL, безусловно, является наиболее широко используемым языком в мире, и пока в науке о данных существуют данные, язык структурированных запросов (или See-quel, как мы его называем) будет продолжать играют значительную роль. Чтобы проанализировать данные, мы должны сначала извлечь их из базы данных. Здесь в игру вступает SQL. Для обучения модели у вас должны быть чистые данные, поэтому SQL — это не только инструмент машинного обучения.

Этот пост в блоге о SQL для науки о данных научит вас, как использовать SQL для хранения, доступа и извлечения данных для анализа данных. SQL — это язык для запроса или извлечения данных из реляционных баз данных.

Какое место SQL занимает в науке о данных?

Наука о данных включает в себя сбор, анализ, поиск и хранение данных. Работа с огромными объемами данных — одна из самых насущных задач для специалистов по данным. Это особенно актуально в современных условиях, когда почти по каждому предмету доступны огромные объемы данных. Netflix, например, рекомендует, что вам следует посмотреть дальше, основываясь на ваших недавних привычках просмотра. Точно так же, когда вы ищете что-либо в Google, он дает результаты с сопоставимыми товарами или продуктами. Хранение данных и интеллектуальное приложение делают это возможным.

Почему SQL имеет решающее значение для науки о данных?

Простота изучения и использования

Поскольку в его простом синтаксисе используются слова из английского языка, SQL всегда хвалят за его простоту. В отличие от некоторых других сложных языков программирования, которые требуют гораздо больше усилий и умственного понимания, он облегчает вам понимание принципов.

SQL — идеальное место для начала, если вы новичок в науке о данных. С помощью всего нескольких строк кода вы можете быстро запрашивать и изменять данные, чтобы извлечь из них ценную информацию.

Понимание ваших данных

Ключевым компонентом науки о данных являются данные. Вы должны уметь извлекать истинное значение из ваших данных, чтобы заниматься наукой о данных, и SQL может вам в этом помочь.

Вы можете эффективно исследовать и отображать свой набор данных с помощью SQL для науки о данных, чтобы получать надежные результаты. Это поможет вам справиться с выбросами, отсутствующими и нулевыми значениями и другими аномалиями данных.

SQL интегрируется с языками сценариев

Как специалисту по данным, вам иногда придется сообщать о своих выводах другим членам команды во время работы над проектом. Объяснение должно быть легко понятно.

В этих обстоятельствах может помочь SQL для науки о данных, поскольку он хорошо взаимодействует с наиболее популярными языками сценариев, такими как Python и программирование на R. Вы можете связать клиентское приложение с вашей базой данных, используя некоторые библиотеки SQL, такие как SQLite, MySQLdb и т. д. Это немного облегчает процесс разработки.

Управление большими объемами данных

Огромные объемы данных должны быть собраны и управляться в базах данных, чтобы проводить науку о данных. Однако обработка таких огромных объемов данных с помощью электронных таблиц становится утомительной. В результате SQL предоставляет вам правильные инструменты для управления такими огромными объемами данных и получения на их основе выводов.

Возможности обработки SQL

SQL имеет следующие возможности обработки:

1. Язык определения данных (DDL): SQL DDL включает инструкции по построению индексов, определению схем отношений и изменению схем отношений.

2. Язык манипулирования данными (DML): SQL DML имеет язык запросов, основанный как на реляционной алгебре, так и на реляционном исчислении кортежей. В нем также есть инструкции по вставке, удалению и изменению кортежей в базе данных.

3. Определение представления: команды определения представления также включены в SQL DDL.

4. Авторизация: включены инструкции SQL DDL для определения прав доступа к отношениям и представлениям.

5. Целостность.Язык SQL поддерживает (ограниченные) виды проверки целостности. Ожидается, что в будущем продукты и стандарты SQL будут иметь более широкие возможности проверки целостности.

Теперь мы можем пройтись по некоторым командам SQL, чтобы узнать их лучше.

  1. Команда CREATE TABLE. Команда CREATE TABLE используется для создания таблиц. Столбцы именуются, а типы и размеры данных указываются для каждого столбца при построении таблицы. В каждой таблице есть хотя бы один столбец. Синтаксис команды CREATE TABLE следующий:

Вы также можете создать таблицу, используя другую таблицу. Обратитесь к приведенному ниже синтаксису и примеру:

Оператор «CREATE TABLE AS»

2. ВЫБЕРИТЕ ИЗ: самый простой пример извлечения — получение всего материала из указанной таблицы базы данных. Если бы мы хотели узнать все категории фильмов в таблице «Категория», мы могли бы использовать следующую команду:

Вывод:

3. DISTINCT: В некоторых случаях нам нужно знать только уникальные значения. Что, если мы хотим узнать все рейтинги MPAA из таблицы фильмов? Используя DISTINCT, мы можем выбрать только уникальные значения:

Результат:

Поиск данных

  1. ГДЕ: бывают случаи, когда мы хотим получить только определенные записи, соответствующие определенным критериям. Используя предложение WHERE, мы можем указать условия, которые должны быть выполнены перед возвратом данных. По сути, мы фильтруем записи на основе условия. Что, если мы хотим знать только о фильмах с рейтингом PG-13?

Результат:

Кроме того, мы можем составить список фильмов с прокатным рейтингом 4,5 и выше:

2. ORDER BY: Иногда мы можем лучше понять данные, отсортировав возвращенный результат. Что, если нам нужен тот же список, что и раньше, но с фильмами с рейтингом PG-13, расположенными в порядке длины от самого длинного к самому короткому, и наоборот? С ORDER BY это легко сделать:

Результат:

3. ОГРАНИЧЕНИЕ: Кроме того, бывают случаи, когда нас интересует только небольшое количество отправленных материалов. Здесь нас на самом деле интересуют только десять фильмов с рейтингом PG-13 с наибольшей продолжительностью воспроизведения, поэтому мы можем использовать предложение LIMIT.

Возвращаться:

Какие советы дают известные компании студентам и стартапам? Мы попросили их! Прочитайте или посмотрите наши отраслевые вопросы и ответы, чтобы получить советы от команд из Стэнфорда, Google и HuggingFace.

Агрегации:

  • GROUP BY & COUNT(): Чтобы получить представление, агрегаты часто используются для получения сводки набора данных. Предложение GROUP BY часто используется с агрегатами. Например, если мы хотим узнать, сколько арендных плат каждый клиент уже арендовал, мы можем подсчитать арендные платы и отсортировать результаты по тому, сколько арендных плат у каждого клиента на данный момент.

Полученные результаты:

  • SUM( ):рассмотрите сумму денег, которую потратил каждый потребитель. Это можно сделать с помощью функции агрегатора SUM. В этом случае мы хотим, чтобы самые большие траты были наверху.

Результат:

  • AVG() и HAVING.После того как вы создали сгруппированный агрегат, мы можем добавить дополнительные условия с помощью оператора HAVING. Например, какие категории рейтинга MAAP в среднем содержат фильмы продолжительностью более 115 минут?

Результат:

Присоединяется

  • ВНУТРЕННЕЕ СОЕДИНЕНИЕ (JOIN).Вы, несомненно, заметили, что с одной таблицей мы можем добиться очень многого, учитывая ограничения. Мы часто хотим изучить данные из нескольких таблиц. JOIN используются в этой ситуации. На основе общего ключа мы можем связывать таблицы. Например, предположим, что мы хотим найти фильмы не на английском языке:

(Обратите внимание, что эта база данных содержит только англоязычные фильмы. По указанному выше запросу вы получите пустую таблицу.)

Кроме того, вы можете присоединиться к нескольким столам. Например, ниже перечислены категории и соответствующий средний рейтинг. Кроме того, мы вернули числа в порядке возрастания среднего рейтинга.

Возвращает:

Существует много типов соединений: INNER JOIN, LEFT JOIN, RIGHT JOIN, OUTER JOIN, CROSS JOIN. Здесь мы использовали СОЕДИНЕНИЕ, которое по умолчанию является ВНУТРЕННИМ СОЕДИНЕНИЕМ, в котором вы возвращаете записи, только если они присутствуют в обеих таблицах.

Вы можете посмотреть курс Соединение данных в SQL, если хотите больше узнать о различиях между этими объединениями.

Заключение

В этом руководстве мы рассмотрели все инструкции, которые позволят вам спланировать собственную дорожку SQL. В этой статье рассматриваются все команды, от базовых до продвинутых. Если вам нравится мой стиль письма, подписывайтесь на меня на Medium.

Примечание редактора. Heartbeat — это интернет-издание и сообщество, созданное участниками и посвященное предоставлению лучших образовательных ресурсов для специалистов по науке о данных, машинному обучению и глубокому обучению. Мы стремимся поддерживать и вдохновлять разработчиков и инженеров из всех слоев общества.

Независимая от редакции, Heartbeat спонсируется и публикуется Comet, платформой MLOps, которая позволяет специалистам по данным и командам машинного обучения отслеживать, сравнивать, объяснять и оптимизировать свои эксперименты. Мы платим нашим авторам и не продаем рекламу.

Если вы хотите внести свой вклад, перейдите к нашему призыву к участию. Вы также можете подписаться на получение нашего еженедельного информационного бюллетеня (Еженедельник глубокого обучения), заглянуть в блог Comet, присоединиться к нам в Slack и подписаться на Comet в Twitter и LinkedIn для получения ресурсов и событий. и многое другое, что поможет вам быстрее создавать более качественные модели машинного обучения.