ဒေတာသိပ္ပံ - Linear Regression


လေ့ကျင့်ခန်း၏ကြာချိန်ဖြစ်သည့် Calorie_Burnage ကို သက်ရောက်သည့် အရေးကြီးသောပြောင်းလဲမှုတစ်ခု ကျွန်ုပ်တို့ ပျောက်ဆုံးနေပါသည်။

Average_Pulse နှင့် ပေါင်းစပ်ထားသော ကြာချိန်သည် Calorie_Burnage ကို ပိုမိုတိကျစွာ ရှင်းပြပါမည်။


Linear Regression

ကိန်းရှင်များကြား ဆက်နွယ်မှုကို သင်ရှာဖွေသောအခါ ဆုတ်ယုတ်ခြင်းဟူသော ဝေါဟာရကို အသုံးပြုသည်။

Machine Learning နှင့် Statistical Modeling တွင်၊ ထိုဆက်နွယ်မှုကို အဖြစ်အပျက်များ၏ ရလဒ်ကို ခန့်မှန်းရန် အသုံးပြုသည်။

ဤသင်ခန်းစာတွင်၊ ကျွန်ုပ်တို့သည် အောက်ပါမေးခွန်းများကို အကျုံးဝင်ပါမည်-

  • Average_Pulse နှင့် Duration သည် Calorie_Burnage နှင့် ဆက်စပ်နေသည်ဟု ကျွန်ုပ်တို့ ကောက်ချက်ချနိုင်မလား။
  • Calorie_Burnage ကို ခန့်မှန်းရန် Average_Pulse နှင့် Duration ကို သုံးနိုင်ပါသလား။

အနည်းဆုံး စတုရန်းသုံးနည်း

Linear regression သည် အနည်းဆုံး စတုရန်းပုံနည်းလမ်းကို အသုံးပြုသည်။

သဘောတရားသည် ကြံစည်ထားသော အချက်အလက်အချက်များအားလုံးကို မျဉ်းတစ်ကြောင်းဆွဲရန်ဖြစ်သည်။ မျဉ်းကြောင်းသည် ဒေတာအချက်များအားလုံးသို့ အကွာအဝေးကို လျှော့ချသည့်နည်းဖြင့် နေရာချထားပါသည်။

အကွာအဝေးကို "ကျန်များ" သို့မဟုတ် "အမှားများ" ဟုခေါ်သည်။

အနီရောင် မျဉ်းကြောင်းများ သည် ဒေတာအမှတ်များမှ ဆွဲယူထားသော သင်္ချာလုပ်ဆောင်ချက်ဆီသို့ အကွာအဝေးကို ကိုယ်စားပြုသည်။

Linear Regression - အနိမ့်ဆုံးစတုရန်း

မျဉ်းကြောင်းပြန်ဆုတ်ခြင်း ၊

ဤဥပမာတွင်၊ Linear Regression ကို အသုံးပြု၍ Calorie_Burnage ကို Average_Pulse ဖြင့် ခန့်မှန်းရန် ကြိုးစားပါမည်။

ဥပမာ

import pandas as pd
import matplotlib.pyplot as plt
from scipy import stats

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

x = full_health_data["Average_Pulse"]
y = full_health_data ["Calorie_Burnage"]

slope, intercept, r, p, std_err = stats.linregress(x, y)

def myfunc(x):
 return slope * x + intercept

mymodel = list(map(myfunc, x))

plt.scatter(x, y)
plt.plot(x, slope * x + intercept)
plt.ylim(ymin=0, ymax=2000)
plt.xlim(xmin=0, xmax=200)
plt.xlabel("Average_Pulse")
plt.ylabel ("Calorie_Burnage")
plt.show()

ဥပမာ ရှင်းပြထားသည်-

  • သင်လိုအပ်သော မော်ဂျူးများကို တင်သွင်းပါ- Pandas၊ matplotlib နှင့် Scipy
  • Average_Pulse ကို x အဖြစ် ခွဲထုတ်ပါ။ Calorie_burnage ကို y အဖြစ် ခွဲထုတ်ပါ။
  • အရေးကြီးသော့တန်ဖိုးများကို ရယူပါ- လျှောစောက်၊ ကြားဖြတ်၊ r၊ p၊ std_err = stats.linregress(x၊ y)
  • တန်ဖိုးအသစ်တစ်ခုပြန်စရန် slope နှင့် intercept တန်ဖိုးများကို အသုံးပြုသည့် လုပ်ဆောင်ချက်တစ်ခုကို ဖန်တီးပါ။ ဤတန်ဖိုးအသစ်သည် y-ဝင်ရိုးပေါ်တွင် သက်ဆိုင်သော x တန်ဖိုးကို ထားရှိမည့်နေရာကို ကိုယ်စားပြုသည်။
  • function မှတဆင့် x array ၏တန်ဖိုးတစ်ခုစီကို run ။ ၎င်းသည် y-ဝင်ရိုးအတွက် တန်ဖိုးအသစ်များပါရှိသော array အသစ်ကို ဖြစ်ပေါ်စေလိမ့်မည်- mymodel = list(map(myfunc, x))
  • မူရင်းကွက်လပ်ကိုဆွဲပါ- plt.scatter(x၊ y)
  • linear regression မျဉ်းကိုဆွဲပါ- plt.plot(x၊ mymodel)
  • ဝင်ရိုး၏ အမြင့်ဆုံးနှင့် အနိမ့်ဆုံးတန်ဖိုးများကို သတ်မှတ်ပါ။
  • ဝင်ရိုးကို အညွှန်း- "Average_Pulse" နှင့် "Calorie_Burnage"

အထွက်-

Linear Regression - ကိန်းရှင်တစ်ခု - အနိမ့်ဆုံးစတုရန်း

မျဉ်းကြောင်းသည် Calorie_Burnage ကို တိကျစွာ ခန့်မှန်းနိုင်သည်ဟု သင်ထင်ပါသလား။

Calorie_Burnage ၏ တိကျသော ခန့်မှန်းမှုကို ပြုလုပ်ရန် ကိန်းရှင် Average_Pulse တစ်ခုတည်းနှင့် မလုံလောက်ကြောင်း ကျွန်ုပ်တို့ ပြသပါမည်။