Анализируем данные и строим графики | Вводный курс ML

Анализируем данные и строим графики

Все курсы > Вводный курс > Занятие 7

Структура Питона

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

Нас будут интересовать те библиотеки и модули, с помощью которых можно анализировать данные, строить графики и производить математические вычисления. Приведу несколько примеров:

библиотеки Питона для анализа данных

Пусть многообразие инструментов вас не пугает. Мы будем изучать их по мере необходимости. На сегодняшнем занятии мы познакомимся с двумя библиотеками: Pandas и Matplotlib.

По традиции вначале откроем ноутбук к этому занятию

Библиотека Pandas

Библиотека Pandas используется для анализа данных в форме таблиц или, как еще говорят, датафреймов. Для того чтобы воспользоваться библиотекой Pandas, ее нужно предварительно импортировать. Делается это довольно просто. Напишем:

В данном случае мы сказали компьютеру: «Загрузи дополнительную библиотеку Pandas и создай для нее псевдоним или сокращение pd». Сокращение может быть любым, однако для основных библиотек уже давно появились устоявшиеся псевдонимы и будет разумно использовать именно их.

Создадим первую таблицу или датафрейм на основе данных наших старых знакомых, Ивана Ивановича и Ивана Петровича. Вначале, вспомним, что это за данные:

данные о заемщиках

Теперь то же самое, но с помощью кода:

Результат:

Что мы сделали?

Шаг 1. Мы взяли данные в форме словаря и вложенных в него списков и поместили в переменную bank_db от английского bank database. Как я уже говорил, чтобы не запутаться, переменным лучше давать осмысленные названия.

Шаг 2. Далее мы передали наш словарь bank_db в pd.DataFrame() и сохранили результат (наш датафрейм) в переменную df.

Теперь эти данные удобно анализировать. Например, можно с помощью одной строчки кода посчитать средний доход (среднее арифметическое) наших заемщиков:

Должно получиться 85.

В данном случае мы взяли столбец Salary датафрейма df и применили к нему метод .mean().

Теперь отложим на время библиотеку Pandas и попробуем построить график. Для этого нам понадобится библиотека Matplotlib, а точнее ее модуль pyplot.

Библиотека Matplotlib

Вначале импортируем модуль pyplot из библиотеки Matplotlib под псевдонимом plt. Опять же псевдоним может быть любым, но лучше оставить общепринятое сокращение.

Теперь построим наш первый график. Например, на горизонтальной оси x отложим доход человека, а на вертикальной оси его уровень счастья.

Для этого воспользуемся функцией plot и передадим ей два аргумента: список значений дохода [70, 80, 100, 150, 300] и список со значениями уровня счастья [1, 4, 6, 9, 16].

Результат:

доход и уровень счастья

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

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

Несколько слов про print() и plt.show()

Как вы возможно заметили, Google Colab умеет выводить результат исполнения кода без print() и plt.show(). Другими словами, вы можете написать 7+7 или print(7+7) и в обоих случаях программа выведет результат без ошибок. То же самое и с графиками и командой plt.show(). Но есть один нюанс.

Если внутри одной ячейки вы указали две операции, например, сложения, 7+7 и 8+4, Colab выведет результат только второй операции.

Чтобы вывести обе суммы, нужно использовать print().

Похожая ситуация с графиками. Без plt.show() Colab постарается разместить все данные на одном графике.

две линии на одном графике

Если вам нужно два разных графика, лучше использовать plt.show().

одна линия на графике 1
одна линия на графике 2

Вопросы для закрепления

Как в библиотеке Pandas называется табличная структура данных?

Ответ: датафрейм (DataFrame)

Какая библиотека и какой модуль в Питоне используются для построения графиков?

Ответ: модуль pyplot библиотеки matplotlib

Дополнительные упражнения⧉ вы найдете в конце ноутбука.

Вы отлично поработали!

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

Теперь пора переходить ко второй составляющей машинного обучения — математике.

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