데이터 과학 - 기울기 및 절편


기울기와 절편

이제 우리는 우리가 우리 함수의 기울기와 절편을 어떻게 찾았는지 설명할 것입니다:

f(x) = 2x + 80

아래 이미지는 선이 얼마나 가파른지를 나타내는 Slope와 x = 0일 때 y 값인 Intercept를 가리킵니다(대각선이 수직 축과 교차하는 지점). 빨간색 선은 이전 페이지에서 파란색 선의 연속입니다.

선형 함수

슬로프 찾기

기울기는 평균 맥박이 1 증가하면 칼로리 소모량이 증가하는 것으로 정의됩니다. 대각선이 얼마나 "가파른"지 알려줍니다.

그래프에서 두 점의 비례 차를 사용하여 기울기를 찾을 수 있습니다.

  • 평균 맥박이 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 = Average_Pulse의 두 번째 관찰 = 90
x1 = Average_Pulse의 첫 번째 관찰 = 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축과 교차하는 위치입니다.

절편은 x = 0일 때 y의 값입니다.

여기에서 평균 맥박(x)이 0이면 칼로리 소모(y)가 80임을 알 수 있습니다.

따라서 절편은 80입니다.

때때로 절편에는 실용적인 의미가 있습니다. 때로는 그렇지 않습니다.

평균 펄스가 0이라는 것이 말이 됩니까?

아니요, 당신은 죽었을 것이고 어떤 칼로리도 태우지 않을 것입니다.

그러나 Calorie_Burnage를 올바르게 예측하는 수학 함수의 기능을 완료하려면 절편을 포함해야 합니다.

수학 함수의 절편이 실용적인 의미를 가질 수 있는 다른 예:

  • 마케팅 비용을 사용하여 다음 해 수익 예측(마케팅 비용이 0이면 내년 수익은 얼마입니까?). 회사가 마케팅에 돈을 쓰지 않더라도 여전히 약간의 수익이 있을 것이라고 가정하기 쉽습니다.
  • 속도에 따른 연료 사용량(속도가 0mph와 같은 경우 연료를 얼마나 사용합니까?). 휘발유를 사용하는 자동차는 유휴 상태일 때도 연료를 사용합니다.


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)

설명된 예:

  • health_data에서 Average_Pulse(x) 및 Calorie_Burnage(y) 변수를 분리합니다.
  • np.polyfit() 함수를 호출합니다.
  • 함수의 마지막 매개변수는 함수의 정도를 지정하며 이 경우에는 "1"입니다.

팁: 선형 함수 = 1.도 함수. 이 예에서 함수는 1도에 있는 선형입니다. 이는 모든 계수(숫자)가 1의 거듭제곱임을 의미합니다.

이제 기울기(2)와 절편(80)을 계산했습니다. 수학 함수는 다음과 같이 작성할 수 있습니다.

수학 표현식을 사용하여 Calorie_Burnage를 예측합니다.

f(x) = 2x + 80

일:

이제 평균 맥박이 135일 때 칼로리 소모량을 예측하려고 합니다.

절편이 상수라는 것을 기억하십시오. 상수는 변하지 않는 숫자입니다.

이제 입력 x를 135로 대체할 수 있습니다.

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

평균 맥박이 135이면 칼로리 소모량은 350입니다.


Python에서 수학 함수 정의

다음은 정확히 동일한 수학 함수이지만 Python에서입니다. 이 함수는 x를 입력으로 사용하여 2*x + 80을 반환합니다.

예시

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()

예시 설명

  • matplotlib 라이브러리의 pyplot 모듈 가져오기
  • Calorie_Burnage에 대해 Average_Pulse의 데이터를 플로팅합니다.
  • kind='line'우리가 원하는 플롯 유형을 알려줍니다. 여기서 우리는 직선을 원합니다.
  • plt.ylim() 및 plt.xlim()은 축이 시작하고 중지할 값을 알려줍니다.
  • plt.show()는 출력을 보여줍니다.