Рубрики
Без рубрики

Математика за простой линейной регрессией + Scikit учиться

Линейная регрессия в основном является используемый тип прогнозирующего анализа и один из самых простых … Помечено AI, MachineLearing, Python, Jupyter.

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

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

250 1
230 2
190 5
160 6
120 8
90 9
70 10
40 11

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

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

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

Вопрос в том, чтобы Какова цена после 7 лет? . Давайте поставим туда, чтобы увидеть, сколько это так.

Это немного ниже, чем сто пятьдесят долларов. Итак, теперь смотрите математическую сторону простой линейной регрессии. Формула – Y + B Отказ Я знаю, что ты немного знаком с этой формулой. Потому что в основном мы все узнали это в школе.

  • y – Что мы собираемся предсказать. В этом случае цена мобильных телефонов (зависимая переменная)
  • м – склон или постоянный
  • x – вводится как 7 лет (независимая переменная)
  • B – Перехват

И м и B даются следующей формулой.

Найдите уравнение линейного регрессии для этого набора данных мобильных телефонов.

1 250 1 250
4 460 2 230
25 950 5 190
36 960 6 160
64 960 8 120
81 810 9 90
100 700 10 70
121 440 11 40

Хорошо, теперь мы можем назначить эти значения к этому формулам и получить значение м и B Отказ

Находить m – Склон

Находить b – Перехват

Предсказать цену мобильной связи через 7 лет. Использование Y + B Отказ y это цена мобильного телефона через 7 лет (что мы собираемся предсказать). х 7 лет.

Цена мобильных телефонов после 7 лет 133,40 грн . Теперь сделайте то же самое с Scikit Узнайте линейную регрессию Модель с помощью Python.

Модель линейной регрессии (Scikit Survey)

Во-первых, мы должны сохранить эти данные, установленные в файл CSV. Для этого создайте новый файл CSV AS MobileData.csv и добавьте эти данные такими.

Давайте кодируемся! Я использую Jupyter ноутбук Отказ Вы можете использовать любой Python IDE, как вы предпочитаете. Далее установите библиотеки, которые нам нужны. (Если вы используете Jupyter ноутбук , добавьте восклицательный знак перед командой, чтобы действовать как если бы она выполнена в терминале)

!pip install scikit-learn
!pip install numpy
!pip install pandas
!pip install matplotlib

Импортировать эти библиотеки

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

Прочитайте MobileData.csv Файл с использованием панда

data_set = pd.read_csv('mobiledata.csv')

Создайте диаграмму и положите точки там

plt.scatter(data.age, data.price, color='red')
plt.xlabel('Mobile phone Age')
plt.ylabel('Price')

Вы можете увидеть тарту, как это.

Получить возрастные значения как х и цен цен как y Отказ Нам нужно преобразовать эти значения на numpy множество.

x = np.array(data.age.values)
y = np.array(data.price.values)

Создайте объект класса линейного регрессии и обувьте модель, используя подходит функция. Кроме того, model.fit Функция позволяет двумерным массивом для х позиция.

model = LinearRegression()
model.fit(x.reshape((-1,1)), y)
# x.reshape((-1,1) is convert numpy array to two dimensional array

Мы можем найти лучшую подходящую строку для этого набора данных, если мы хотим. И получить значения м (Склон) и B (Перехватить).

plt.scatter(data.age, data.price, color='red')
plt.xlabel('Mobile phone Age')
plt.ylabel('Price')
m,b = np.polyfit(x,y,1)
plt.plot(x,m*x+b)

Наконец, прогнозировать цену мобильной связи после 7 лет с использованием модели. Объект модели определяется как модель Отказ Предсказать цену, чтобы увидеть, равно ли она ранее рассчитанной стоимости или нет. Для этого нам нужно преобразовать значение x (7) на номерного массива и двумерного массива.

year_seven = np.array([7]).reshape((-1,1))
# Predict the price
model.predict(year_seven)

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

# array([133.40425532])

Вы можете проверить значения m и B выполняя переменную в ноутбуке.

m
# -20.691489361702125
b
# 278.2446808510638

Счастливое кодирование🎉.

Оригинал: “https://dev.to/thirashapraween/math-behind-simple-linear-regression-scikit-learn-5gc2”