အက်သုံးနည်း - ပုံစံပြန်သိန်း
- အရေးပါသည် ကြည့် အကြီးအကျယ် ကြောက်သည်
- နောက်ပိုင်း ကြည့် ပိုမိုအပြည့်အဝပြု ကြောက်သည်
ပိုမိုလေးစား သုံးပတ်လည် (Polynomial Regression)
ကင်းတူးကြောင်း သုံးပတ်လည် တွင် သင့်သည့် အချက်အလက်များ မရှိဘဲ ဖြစ်လာကြောင်း တွေ့ရှိခဲ့လျှင် အသုံးပြုသည် နှင့် သုံးပတ်လည် အသုံးပြုသည် ဖြစ်ကောင်း၍ နှင့် ပိုမိုလေးစား အသုံးပြုသည် အမျိုးအစား ကို ချဲ့ထွင်းနိုင်သည်။
像线性回归一样,多项式回归使用变量 x 和 y 之间的关系来找到绘制数据点线的最佳方法。

工作原理
Python 有一些方法可以找到数据点之间的关系并画出多项式回归线。我们将向您展示如何使用这些方法而不是通过数学公式。
在下面的例子中,我们注册了 18 辆经过特定收费站的汽车。
我们已经记录了汽车的速度和通过时间(小时)。
x 轴表示一天中的小时,y 轴表示速度:
အမှတ်အသား
首先绘制散点图:
import matplotlib.pyplot as plt x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22] y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100] plt.scatter(x, y) plt.show()
ရလဒ်:

အမှတ်အသား
导入 numpy
和 matplotlib
,然后画出多项式回归线:
import numpy import matplotlib.pyplot as plt x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22] y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100] mymodel = numpy.poly1d(numpy.polyfit(x, y, 3)) myline = numpy.linspace(1, 22, 100) plt.scatter(x, y) plt.plot(myline, mymodel(myline)) plt.show()
ရလဒ်:

例子解释
导入所需模块:
import numpy import matplotlib.pyplot as plt
创建表示 x 和 y 轴值的数组:
x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22] y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100]
NumPy 有一种方法可以让我们建立多项式模型:
mymodel = numpy.poly1d(numpy.polyfit(x, y, 3))
然后指定行的显示方式,我们从位置 1 开始,到位置 22 结束:
myline = numpy.linspace(1, 22, 100)
အချက်အလက် အပိုင်းအခါ ကြီး ကို ပြသပါ:
plt.scatter(x, y)
ပိုင်းအခါ ကျသမှာ အပိုင်းအခါ ကြီး ကို ပြသပါ:
plt.plot(myline, mymodel(myline))
အချက်အလက် ကို ပြသပါ:
plt.show()
R-Squared
အခြေအနေ ကြောင်း အကျယ်း ကို သိရှိရန် အလိုအားလျော်သည်၊ အကျယ်း မရှိဘဲ အခြေအနေ ကြောင်း အကျယ်း မရှိဘဲ အပိုင်းအခါ ကျသမှာ ခန့်မှန်းနိုင်သေးသည်。
အကျယ်း အကျယ်း ကို အမှတ်အသားချပါ၊ r-squared ဟု ခေါ်သည်。
r ပိုင်း အကျယ်း ကို ၀ မှ ၁ ထိ ခန့်မှန်းပါ၊ ၀ က မတူညီသေးသည် ဟု ညွှန်းပြီး ၁ က ၀၀၀၀၀ အရေးသတ်ချက် ဖြစ်သည်。
Python နှင့် Sklearn အဆိုပါ အစိတ်အပိုင်း က အကျိုးသတ္တု ကို ခန့်မှန်းပါ၊ သင်သည် လိုအပ်သော အရာ မှာ x နှင့် y အတွက် အတွက်ချက် အတိုင်း ပြုလုပ်ပါ
အမှတ်အသား
ကျွန်တော်မှ အချက်အလက် ကို ပိုမိုကျယ်ကျယ် ကျသမှာ အပိုင်းအခါ ကျသမှာ မည်ဆိုဖြစ်သလား?
import numpy from sklearn.metrics import r2_score x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22] y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100] mymodel = numpy.poly1d(numpy.polyfit(x, y, 3)) print(r2_score(y, mymodel(x)))
အစီအစဉ်များ:အကျိုးသတ္တု ၀.၉၄ က အခြေအနေ ကြောင်း ကောင်းသော ပတ်ဝန်းကျင် ကို တွေ့ရပြီး အိမ်ရှင် အချက်အလက် ကို ခန့်မှန်းရန် အသုံးပြုနိုင်သော အပိုင်းအခါ ကျသမှာ ဖြစ်ပါသည်。
အိမ်ရှင် အချက်အလက် ခန့်မှန်းခြင်း
ယခုအခါ ကမ္ဘာ့အချက်အလက် ကို အသုံးပြု၍ အိမ်ရှင် အချက်အလက် ကို ခန့်မှန်းနိုင်ပါသည်。
ဥပမာ: ညနေ ၁၇ နာရီ ခန့် ကုန်းကိုင်ကိုင် လမ်းကြောင်း ကြီး ခန့်မှန်းပါ
အရာမှာ ဤအချက်အလက် နှင့် တူညီသော အချက်အလက် ကို သို့မဟုတ် mymodel အတွက်ချက်:
mymodel = numpy.poly1d(numpy.polyfit(x, y, 3))
အမှတ်အသား
ညနေ ၁၇ နာရီ အချက်အလက် ကို ခန့်မှန်းပါ:
import numpy from sklearn.metrics import r2_score x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22] y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100] mymodel = numpy.poly1d(numpy.polyfit(x, y, 3)) speed = mymodel(17) print(speed)
ဤအချက်အလက် အစီအစဉ် ပြီး အချက်အလက် ကို ခန့်မှန်းပါ၊ ထို့ပြင် ယင်းအချက်အလက် ကို ကြည့်ရတာ မှာ နှင်းနှင်းချင်းဖြစ်ပါသည်:

အကျယ်းကျယ်းသော အပိုင်းအခါ ကျသမှာမည်ဆိုဖြစ်သလား?
ကျွန်တော်တို့ တစ်ခုခု အကြောင်းကြောင်း ကို တည်ဆောက်ပါ၊ ထိုအခါ ပိုမိုသုံးစွဲသော နည်းလမ်း မှာ အလိုအားလျော် သုံးစွဲနိုင်သော အပိုင်းအခါ အရေးသတ်ချက် မဟုတ်။
အမှတ်အသား
x နှင့် y အရိပ် အချက်အလက် သည် ပိုမိုတိုးမြှင့် ကြောက်သည် အတူ ပြုလုပ်သည်
import numpy import matplotlib.pyplot as plt x = [89,43,36,36,95,10,66,34,38,20,26,29,48,64,6,5,36,66,72,40] y = [21,46,3,35,67,95,53,72,58,10,26,34,90,33,38,20,56,2,47,15] mymodel = numpy.poly1d(numpy.polyfit(x, y, 3)) myline = numpy.linspace(2, 95, 100) plt.scatter(x, y) plt.plot(myline, mymodel(myline)) plt.show()
ရလဒ်:

r-squared အချက်အလက် အတွက်
အမှတ်အသား
သင်သည် အကြီးအကျယ် နည်းပါးသော r-squared အချက်အလက် ကို ရရှိသင့်ပါ
import numpy from sklearn.metrics import r2_score x = [89,43,36,36,95,10,66,34,38,20,26,29,48,64,6,5,36,66,72,40] y = [21,46,3,35,67,95,53,72,58,10,26,34,90,33,38,20,56,2,47,15] mymodel = numpy.poly1d(numpy.polyfit(x, y, 3)) print(r2_score(y, mymodel(x)))
ရလဒ်: 0.00995 သည် ပတ်ဝန်းကျင် ကျဆင်းသည် ကို ကိုးကွယ်ပြီး အချက်အလက် စက္ခု သည် ပိုမိုတိုးမြှင့် ကြောက်သည် ကို အခိုင်အမာပြောဆိုသည်
- အရေးပါသည် ကြည့် အကြီးအကျယ် ကြောက်သည်
- နောက်ပိုင်း ကြည့် ပိုမိုအပြည့်အဝပြု ကြောက်သည်