データサイエンス-スロープとインターセプト


スロープとインターセプト

次に、関数の傾きと切片をどのように見つけたかを説明します。

f(x) = 2x + 80

下の画像は、線の急勾配を示す勾配(線の急勾配を示す)と、x = 0(対角線が垂直軸と交差する点)の場合のyの値である切片を示しています。赤い線は前のページの青い線の続きです。

一次関数

スロープを探す

傾きは、平均脈拍が1増加した場合に、どれだけのカロリー燃焼が増加するかとして定義されます。対角線がどれだけ「急」かを教えてくれます。

グラフから2点の比例差を利用して傾きを求めることができます。

  • 平均脈拍が80の場合、カロリー消費量は240です。
  • 平均脈拍が90の場合、カロリー消費量は260です。

平均脈拍が10で増加すると、カロリー燃焼量が20増加することがわかります。

Slope = 20/10 = 2

傾きは2です。

数学的には、勾配は次のように定義されます。

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

f(x2)= Calorie_Burnageの2回目の観測= 260
f(x1)= Calorie_Burnageの最初の観測= 240
x2 = Average_Pulseの2回目の観測= 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)がゼロの場合、カロリー燃焼量(y)は80であることがわかります。

したがって、切片は80です。

時々、傍受は実際的な意味を持っています。時々そうではありません。

平均脈拍がゼロであることは理にかなっていますか?

いいえ、あなたは死んでいて、確かにカロリーを消費しません。

ただし、Calorie_Burnageを正しく予測する数学関数の機能を完了するには、切片を含める必要があります。

数学関数の切片が実際的な意味を持つ可能性がある他の例:

  • マーケティング支出を使用して来年の収益を予測します(マーケティング支出がゼロの場合、来年はどのくらいの収益がありますか?)。マーケティングにお金をかけなくても、企業にはまだある程度の収益があると想定される可能性があります。
  • 速度による燃料使用量(速度が0 mphに等しい場合、どのくらいの燃料を使用しますか?)。ガソリンを使用する車は、アイドル状態でも燃料を使用します。


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度です。これは、すべての係数(数値)が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()は出力を表示します