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

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

B0 - это точка пересечения с осью y, т. Е. Где X = 0 и линия пересекает ось y. B1X - это, по сути, наш B1 (степень влияния нашего X на наш y) и наш X, который является нашей характеристикой / независимой переменной. В отличие от нашей переменной y, можно использовать несколько X с соответствующей бета (коэффициент для каждого). Это позволяет нам создать модель с множеством переменных функции (X) для прогнозирования значений по y. Составляющая случайной ошибки - это неприводимая ошибка.

Первый шаг: визуализация

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

В этом случае мы использовали «Продажи» в качестве нашего ответа / г. Замените список переменных бета-версии ожидаемым списком функций.

Дополнительные параметры для использования:

size =: позволяет управлять размером визуализированного парного графика.

kind = ‘reg’: попытается добавить строку наилучшего соответствия и доверительный интервал 95%. Будет стремиться минимизировать сумму квадратов ошибок.

Второй шаг: обучение SK - установка переменных

Scikit-Learn ожидает, что X будет матрицей функций (Pandas Dataframe), а y будет вектором ответа (серия Pandas). Начнем с разделения наших переменных, как показано ниже.

Работа с вашими функциями (X):

В этом примере мы используем столбцы TV, Radio и Social в качестве переменных-предикторов.

Обработка вашего ответа (y):

Если вам интересно, почему заглавная буква X используется для обозначения функций, а строчная буква y - для ответа, то это в основном связано с соглашением.

Третий шаг: SK Learn - разделение наших данных

Разделение X и Y на наборы для обучения и тестирования:

Передав переменные X и y в метод train_test_split, мы можем фиксировать разбиение данных, присвоив результату 4 переменные.

Четвертый шаг: SK Learn - обучение нашей модели

Во-первых, для доступа к LinearRegression нам необходим импорт sklearn.linear_model. Затем необходимо создать экземпляр и модель, соответствующую нашим обучающим данным. Это видно ниже.

Пятый шаг: интерпретация коэффициентов

Коэффициенты позволят нам смоделировать наше уравнение со значениями для нашей бета-версии. Переменная linreg (присвоенная объекту LinearRegression) может извлекать точку пересечения и коэффициенты, используя приведенный ниже код.

Перехват будет вашим значением B0; и каждый коэффициент будет соответствующей бета-версией для пройденных X (в их соответствующем порядке).

Шестой шаг: прогнозирование на основе вашей модели

Делать прогнозы на основе вашей модели так же просто, как использовать приведенный ниже код: передать методу прогнозирования ваши тестовые данные. Это вернет предсказанные значения y с учетом новых тестовых данных X.

Седьмой шаг: оценка модели

Для оценки линейных моделей используются три основных показателя. Это: средняя абсолютная ошибка (MAE), среднеквадратичная ошибка (MSE) или среднеквадратичная ошибка (RMSE).

МАЭ: Легче всего понять. Представляет среднюю ошибку

MSE: Подобно MAE, но шум преувеличен, и за большие ошибки «наказываются». Его сложнее интерпретировать, чем MAE, поскольку его нет в базовых единицах, однако, как правило, он более популярен.

RMSE: самая популярная метрика, похожая на MSE, однако результат имеет квадратный корень, чтобы его было легче интерпретировать, поскольку он выражается в базовых единицах. Рекомендуется использовать RMSE в качестве основного показателя для интерпретации вашей модели.

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

Шаг восьмой: выбор функции

Как только вы получите метрику ошибок, обратите внимание на то, какие X имеют минимальное влияние на y. Удаление некоторых из этих функций может повысить точность вашей модели.

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

  1. Заменить feature_cols & X
  2. Train_test_split ваши данные
  3. Снова установите модель на линрег с помощью linreg.fit.
  4. Делайте прогнозы, используя (y_pred = linreg.predict (X_test))
  5. Вычислить RMSE
  6. Повторяйте, пока RMSE не станет удовлетворительным.