ဒေတာသိပ္ပံ - Linear Regression Case
ဖြစ်ရပ်- Calorie_Burnage ကို ခန့်မှန်းရန် ကြာချိန် + Average_Pulse ကိုသုံးပါ။
Average_Pulse နှင့် Duration ဖြင့် Linear Regression Table ကို ဖန်တီးပါ-
ဥပမာ
import pandas as pd
import statsmodels.formula.api as smf
full_health_data = pd.read_csv("data.csv", header=0, sep=",")
model = smf.ols('Calorie_Burnage ~ Average_Pulse + Duration', data = full_health_data)
results
= model.fit()
print(results.summary())
ဥပမာ ရှင်းပြထားသည်-
- စာကြည့်တိုက် statsmodels.formula.api ကို smf အဖြစ် ထည့်သွင်းပါ။ Statsmodels သည် Python ရှိ စာရင်းအင်းစာကြည့်တိုက်တစ်ခုဖြစ်သည်။
- full_health_data set ကို သုံးပါ။
- smf.ols(). ရှင်းလင်းချက်ကိန်းရှင်အား ကွင်းပိတ်တွင် ဦးစွာရေးသားရမည်ဖြစ်ကြောင်း သတိပြုပါ။ full_health_data ဒေတာအစုံကို သုံးပါ။
- .fit() ကိုခေါ်ဆိုခြင်းဖြင့် သင်သည် ပြောင်းလဲနိုင်သောရလဒ်များကို ရရှိမည်ဖြစ်သည်။ ၎င်းသည် ဆုတ်ယုတ်မှုပုံစံနှင့်ပတ်သက်သော အချက်အလက်များစွာကို ရရှိထားသည်။
- linear regression ၏ရလဒ်များနှင့်အတူဇယားကိုရယူရန် summary() ကိုခေါ်ဆိုပါ။
အထွက်-
linear regression function ကို သင်္ချာနည်းဖြင့် ပြန်လည်ရေးသားနိုင်သည်-
Calorie_Burnage = Average_Pulse * 3.1695 + Duration * 5.8424 - 334.5194
ဒဿမနှစ်ခုသို့ အဝိုင်းပြသည်-
Calorie_Burnage = Average_Pulse * 3.17 +
Duration * 5.84 - 334.52
Python တွင် Linear Regression Function ကို သတ်မှတ်ပါ။
ခန့်မှန်းချက်များကိုလုပ်ဆောင်ရန် Python တွင် linear regression function ကိုသတ်မှတ်ပါ။
အကယ်၍ Calorie_Burnage ဆိုတာဘာလဲ။
- ပျမ်းမျှသွေးခုန်နှုန်းက 110 ဖြစ်ပြီး လေ့ကျင့်ချိန်က မိနစ် 60 ဖြစ်ပါတယ်။
- ပျမ်းမျှသွေးခုန်နှုန်း 140 ဖြစ်ပြီး လေ့ကျင့်ရေးသင်တန်း၏ ကြာချိန်မှာ 45 မိနစ်ဖြစ်သည်။
- ပျမ်းမျှသွေးခုန်နှုန်းက 175 ဖြစ်ပြီး လေ့ကျင့်ချိန်က မိနစ် 20 ဖြစ်ပါတယ်။
ဥပမာ
def Predict_Calorie_Burnage(Average_Pulse,
Duration):
return(3.1695*Average_Pulse + 5.8434 * Duration - 334.5194)
print(Predict_Calorie_Burnage(110,60))
print(Predict_Calorie_Burnage(140,45))
print(Predict_Calorie_Burnage(175,20))
အဖြေများ:
- ပျမ်းမျှသွေးခုန်နှုန်းသည် 110 ဖြစ်ပြီး လေ့ကျင့်ချိန် 60 မိနစ် = 365 ကယ်လိုရီ
- ပျမ်းမျှသွေးခုန်နှုန်း 140 ဖြစ်ပြီး လေ့ကျင့်ချိန် 45 မိနစ် = 372 ကယ်လိုရီ
- ပျမ်းမျှသွေးခုန်နှုန်းက 175 ဖြစ်ပြီး လေ့ကျင့်ချိန် 20 မိနစ် = 337 ကယ်လိုရီ
Coefficients ကိုရယူပါ။
Coefficients ကိုကြည့်ပါ-
- Average_Pulse တစ်ခုပြီးတစ်ခုတိုးလာပါက Calorie_Burnage သည် 3.17 ဖြင့်တိုးလာသည်။
- ကြာချိန်တစ်ခုပြီးတစ်ခုတိုးလာပါက Calorie_Burnage သည် 5.84 ဖြင့်တိုးလာသည်။
P-Value ကို အသုံးပြုပါ။
coefficient တစ်ခုစီအတွက် P-value ကိုကြည့်ပါ။
- P-value သည် Average_Pulse၊ Duration နှင့် Intercept အတွက် 0.00 ဖြစ်သည်။
- 0.05 ထက်နည်းသောကြောင့် P-value သည် variable များအားလုံးအတွက် ကိန်းဂဏန်းအရသိသာထင်ရှားပါသည်။
ဒီတော့ Average_Pulse နဲ့ Duration ဟာ Calorie_Burnage နဲ့ ဆက်စပ်နေတယ်လို့ ဒီနေရာမှာ ကောက်ချက်ချနိုင်ပါတယ်။
R-Squared ချိန်ညှိထားသည်။
ကျွန်ုပ်တို့တွင် ရှင်းပြချက်တစ်ခုထက်ပိုပါက R-squared ပြဿနာရှိသည်။
ကိန်းရှင်များကို ထပ်ထည့်ပါက R-squared သည် အမြဲတမ်းနီးပါး တိုးလာမည်ဖြစ်ပြီး မည်သည့်အခါမျှ လျော့မည်မဟုတ်ပါ။
အဘယ်ကြောင့်ဆိုသော် ကျွန်ုပ်တို့သည် linear regression function အနီးတစ်ဝိုက်တွင် ဒေတာအချက်များ ပိုမိုထည့်သွင်းနေခြင်းကြောင့်ဖြစ်သည်။
Calorie_Burnage ကိုမထိခိုက်စေသောကျပန်းပြောင်းလွဲချက်များကိုကျွန်ုပ်တို့ထည့်ပါက၊ linear regression function သည် သင့်လျော်သည်ဟု မှားယွင်းစွာကောက်ချက်ချရန်အန္တရာယ်ရှိသည်။ ဤပြဿနာအတွက် ချိန်ညှိထားသော R-squared ချိန်ညှိမှုများ။
ထို့ကြောင့် ကျွန်ုပ်တို့တွင် ရှင်းပြချက်တစ်ခုထက်ပို၍ ချိန်ညှိထားသော R-squared တန်ဖိုးကို ကြည့်ရှုခြင်းသည် ပိုကောင်းပါသည်။
ချိန်ညှိထားသော R-squared သည် 0.814 ဖြစ်သည်။
R-Squared ၏တန်ဖိုးသည် အမြဲတမ်း 0 မှ 1 (0% မှ 100%) ကြားဖြစ်သည်။
- မြင့်မားသော R-Squared တန်ဖိုးသည် ဒေတာအချက်များစွာသည် linear regression function line နှင့် နီးစပ်သည်ဟု ဆိုလိုသည်။
- R-Squared တန်ဖိုးနည်းသော အဓိပ္ပါယ်မှာ linear regression function line သည် data နှင့် ကောင်းစွာ မကိုက်ညီကြောင်း ဆိုလိုသည်။
နိဂုံး- မော်ဒယ်သည် ဒေတာအမှတ်ကို ကောင်းစွာ လိုက်ဖက်ပါသည်။
ဂုဏ်ယူပါသည်။ ယခုသင်သည် ဒေတာသိပ္ပံစာကြည့်တိုက်၏ နောက်ဆုံးသင်ခန်းစာကို ပြီးသွားပါပြီ။