Наука о данных — наклон и пересечение


Наклон и точка пересечения

Теперь мы объясним, как мы нашли наклон и точку пересечения нашей функции:

f(x) = 2x + 80

Изображение ниже указывает на наклон, который указывает, насколько крута линия, и точку пересечения, которая является значением y, когда x = 0 (точка, в которой диагональная линия пересекает вертикальную ось). Красная линия является продолжением синей линии с предыдущей страницы.

Линейная функция

Найдите уклон

Наклон определяется как увеличение сжигания калорий, если средний пульс увеличивается на единицу. Он говорит нам, насколько «крута» диагональная линия.

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

  • Если средний пульс равен 80, сжигание калорий составляет 240.
  • Если средний пульс равен 90, сжигание калорий составляет 260.

Мы видим, что если средний пульс увеличивается на 10, сжигание калорий увеличивается на 20.

Slope = 20/10 = 2

Уклон 2.

Математически уклон определяется как:

Slope = f(x2) - f(x1) / x2-x1

f(x2) = второе наблюдение Calorie_Burnage = 260
f(x1) = первое наблюдение Calorie_Burnage = 240
x2 = второе наблюдение среднего_пульса = 90
x1 = первое наблюдение среднего_пульса = 80

Slope = (260-240) / (90 - 80) = 2

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

Используйте Python, чтобы найти наклон

Рассчитайте уклон с помощью следующего кода:

Пример

def slope(x1, y1, x2, y2):
  s = (y2-y1)/(x2-x1)
  return s

print (slope(80,240,90,260))

Найдите перехват

Перехват используется для точной настройки способности функций предсказывать Calorie_Burnage.

Точка пересечения - это место, где диагональная линия пересекает ось Y, если она была полностью нарисована.

Точка пересечения — это значение y, когда x = 0.

Здесь мы видим, что если средний пульс (x) равен нулю, то сжигание калорий (y) равно 80.

Итак, перехват равен 80.

Иногда перехват имеет практическое значение. Иногда нет.

Имеет ли смысл, что средний пульс равен нулю?

Нет, вы были бы мертвы и уж точно не сжигали бы калории.

Однако нам нужно включить перехват, чтобы завершить способность математической функции правильно предсказать Calorie_Burnage.

Другие примеры, когда перехват математической функции может иметь практическое значение:

  • Прогнозирование доходов в следующем году с использованием расходов на маркетинг (сколько доходов мы получим в следующем году, если расходы на маркетинг равны нулю?). Вероятно, предполагается, что компания все равно будет иметь некоторый доход, даже если она не будет тратить деньги на маркетинг.
  • Расход топлива со скоростью (Сколько топлива мы используем, если скорость равна 0 миль в час?). Автомобиль, работающий на бензине, все равно будет потреблять топливо, когда он простаивает.


Найдите наклон и перехват с помощью Python

Функция np.polyfit()возвращает наклон и точку пересечения.

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

Пример

import pandas as pd
import numpy as np

health_data = pd.read_csv("data.csv", header=0, sep=",")

x = health_data["Average_Pulse"]
y = health_data["Calorie_Burnage"]
slope_intercept = np.polyfit(x,y,1)

print(slope_intercept)

Объяснение примера:

  • Изолируйте переменные Average_Pulse (x) и Calorie_Burnage (y) от health_data.
  • Вызовите функцию np.polyfit().
  • Последний параметр функции указывает степень функции, которая в данном случае равна «1».

Совет: линейные функции = функция 1.степени. В нашем примере функция является линейной, т.е. в степени 1. Это означает, что все коэффициенты (числа) находятся в степени единицы.

Теперь мы вычислили наклон (2) и точку пересечения (80). Мы можем записать математическую функцию следующим образом:

Предсказать Calorie_Burnage с помощью математического выражения:

f(x) = 2x + 80

Задача:

Теперь мы хотим предсказать сжигание калорий, если средний пульс равен 135.

Помните, что перехват является константой. Константа – это число, которое не изменяется.

Теперь мы можем заменить вход x на 135:

f(135) = 2 * 135 + 80 = 350

Если средний пульс составляет 135, сжигание калорий составляет 350.


Определить математическую функцию в Python

Вот точно такая же математическая функция, но на Python. Функция возвращает 2*x + 80 с x в качестве входных данных:

Пример

def my_function(x):
  return 2*x + 80

print (my_function(135))

Попробуйте заменить x на 140 и 150.


Постройте новый график в Python

Здесь мы построили тот же график, что и раньше, но немного отформатировали ось.

Максимальное значение по оси Y теперь равно 400, а по оси X — 150:

Пример

import matplotlib.pyplot as plt

health_data.plot(x ='Average_Pulse', y='Calorie_Burnage', kind='line'),
plt.ylim(ymin=0, ymax=400)
plt.xlim(xmin=0, xmax=150)

plt.show()

Объяснение примера

  • Импортируйте модуль pyplot библиотеки matplotlib.
  • График данных из Average_Pulse против Calorie_Burnage
  • kind='line'говорит нам, какой тип сюжета мы хотим. Здесь мы хотим иметь прямую линию
  • plt.ylim() и plt.xlim() говорят нам, какое значение мы хотим, чтобы ось начиналась и останавливалась.
  • plt.show() показывает нам вывод