ПРАКТИКА КОМПЛЕКСНОГО МАШИННОГО ОБУЧЕНИЯ (ЭКОНОМИЧЕСКИЙ ПЕРСПЕКТИВ)

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

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

В рамках проекта по науке о данных вас могут попросить выполнить одну или несколько из следующих задач:

1. Predict something
2. Explore the dataset and find reasons for something

В этом случае мы будем строить эту модель для прогнозирования инфляции в Нигерии с использованием множественной линейной регрессии.

Из названия «Наука о данных» мы видим, что данные — это самый важный винтик вашего колеса проекта по науке о данных. В этом случае мы будем работать со вторичными данными, полученными из data.world, щелкните ссылку ниже, чтобы быть перенаправленными на сайт, где вы можно скачать файл.

Перспективы развития экономики Африки, январь 2019 г. — набор данных от afdb | данные.мир

Теперь мы полностью погрузимся в наш анализ, сначала импортировав все библиотеки, необходимые для анализа

ПРИМЕЧАНИЕ:

Pandas предоставляет инструменты для чтения и записи данных в структуры данных и файлы. Он также предоставляет мощные функции агрегирования для управления данными.
NumPy преодолевает более медленное выполнение с использованием объекты многомерного массива, а также имеет встроенные функции для управления массивами.
Matplotlib.pyplot заставляет matplotlib работать как MATLAB. Matplotlib — это библиотека для построения графиков.
Seaborn используется для создания статистических графиков. Центральной частью Seaborn является визуализация, которая помогает в изучении и понимании данных.
Train_test_split используется для оценки производительности алгоритма машинного обучения. В данном случае проблема регрессии.
Линейная регрессия используется для решения проблемы регрессии путем прогнозирования целевой переменной с использованием линии наилучшего соответствия (наилучшее соотношение между независимой и зависимой переменной).
Метрики используются для анализа производительности модели.
%matplotlib inline позволяет отображать выходные данные графика и сохранять их в записной книжке.

Мы продолжаем читать данные (файл Excel), сохраненные на моем ПК, в ноутбук (извлечение данных).

Мы проверяем форму наших данных, то есть количество строк и столбцов.

Теперь давайте посмотрим на наши данные, используя mydata.head(2), который показывает нам все столбцы набора данных и только первые две строки.

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

Очистка данных

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

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

Давайте иметь четкое представление о наших транспонированных данных

Теперь нам нужно сбросить индекс, чтобы текущий индекс стал столбцом, которым он должен быть.

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

Теперь мы присваиваем значение четвертой строки новым столбцам. Функция tolist() преобразует значения в индексе 4 в список значений, поскольку «.columns» принимает только список, и мы просто хотим изменить наши текущие имена столбцов.

Очевидно, что первые семь бросков, то есть от 0 до 6, бесполезны в нашем анализе, поэтому мы убираем их, используя срез индекса.

Теперь мы переименовываем первый столбец (название индикатора) как год, поскольку он содержит годы

Обратите внимание, что индекс начал отсчет с 7 вместо 0? Мы исправим это, сбросив индекс, но на этот раз с помощью (drop=true), чтобы текущий индекс был сброшен вместо нового индекса.

Заметили, что набор данных организован правильно? Мы продолжаем искать пропущенные значения в нашем наборе данных и обрабатывать их. Обратите внимание, что true указывает на отсутствующее значение.

Получим сумму всех пропущенных значений в каждом столбце

давайте получим более четкое представление, используя «.describes ()», который дает статистическую информацию о нашем наборе данных.

Давайте также используем .info, который показывает нам количество ненулевых счетчиков, присутствующих в каждом столбце.

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

Теперь давайте посмотрим на результат преобразования типа

Теперь мы используем метод обратного заполнения bfill для строк, чтобы обработать пропущенные значения.

Метод обратного заполнения берет значение перед отсутствующим значением и заполняет его вместо отсутствующего значения в обратном направлении.

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

Теперь приступим к графическому одномерному анализу.

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

Давайте посмотрим на взаимосвязь между годом и валовым внутренним продуктом (в постоянных ценах в долларах США).

Давайте используем подзаговоры для четырех графиков

Год по отношению к валовому внутреннему продукту (в постоянных ценах, долл. США)

Год по отношению к текущему балансу счета (нетто, платежный баланс, текущие доллары США)

Год по сравнению с Расходами на конечное потребление (% от ВВП)

Год по отношению к инфляции, потребительским ценам (годовой %)

Давайте построим год по сравнению с валовым внутренним продуктом (в постоянных ценах в долларах США) и инфляцией, потребительскими ценами (годовые %), на одном графике.

Корреляционный анализ множественной линейной регрессии (с использованием тепловых карт)

Давайте получим более четкое представление о попарной корреляции всех столбцов в кадре данных.

Давайте сделаем дистанционный график инфляции, потребительских цен (годовой %)

Давайте сделаем множественную линейную регрессию, используя Scikit Learn

давайте масштабируем

Масштабирование или стандартизация — это этап предварительной обработки данных, который применяется к независимым переменным или данным объектов.

В основном это помогает нормализовать данные в определенном диапазоне, а иногда помогает ускорить вычисления в алгоритме.

Теперь давайте получим уравнение для модели Y = mx + c, где c — точка пересечения, а m — коэффициент x (градиент).

Теперь давайте предскажем значение Y (зависимая переменная, в данном случае инфляция).

Давайте сравним значения y_pred и реального y

Давайте посмотрим на среднюю абсолютную ошибку модели

Давайте на этот раз воспользуемся статистической моделью

Давайте посмотрим на прогнозы статистической модели

И это только наш Y

Я надеюсь, что это поможет некоторым ученым, ищущим реализацию Python.