一元線性回歸模型

2021-10-09 21:15:07 字數 1785 閱讀 1622

按西瓜書公式寫的,比較簡陋,但可以執行幫助理解

import math

d =[(65

,6),

(50,5

),(120,15

),(98

,12),

(51,6

),(66

,8),

(70,10

),(78

,11),

(75,10

),(120,8

),(45

,7)]

# 該資料集表示(體重,血糖值) 體重為x 血糖值為標記

# 一元線性回歸試圖求得g=ax+b使g擬合f 輸入乙個新的x,得g(x)來**f(x)

#求wdef

getw

(d):

w =0 x_mean =

0 total =

0 i =

0for element in d:

total = total+element[0]

i = i+

1 x_mean = total/i

#定義分子

fenzi =

0 fenmu =

0#計算分子

total_fenzi =

0for element in d:

total_fenzi=total_fenzi+

(element[1]

*(element[0]

-x_mean)

)#分母第一項和分母第二項

fenzi = total_fenzi

fenmu_1 =

0 fenmu_2 =

0 fenmu_2_total =

0for element in d:

fenmu_1 = fenmu_1+element[0]

*element[0]

j =0for element in d:

fenmu_2_total = fenmu_2_total+element[0]

j = j+

1 fenmu_2 =

(fenmu_2_total*fenmu_2_total)

/j fenmu = fenmu_1-fenmu_2

w = fenzi/fenmu

return w

#計算b

w = getw(d)

defgetb

(d, w)

: i =

0#計數器

b =0 b_element =

0for element in d:

b_element = b_element+

(element[1]

-w*element[0]

) i = i+

1 b = b_element/i

return b

b = getb(d,w)

test =

0def

g(test, d)

: z =

0 z = w*test+b

return z

print

("輸出學得模型w值為:"

)print

(w)print

("輸出學得模型b值為:"

)print

(b)print

("測試輸入3所得g(x)為多少:"

)print

(g(45

, d)

)

一元線性回歸模型

在回歸模型裡,線性回歸絕對是最簡單的,但這並不妨礙它成為回歸問題上的佼佼者。對於絕大部分的資料分析場景,線性回歸是我們的首選。歸其原因,有幾點 模型簡單且適用於大資料。訓練起來也非常快,資源消耗也少。線性回歸的評估標準?一種最簡單的方法就是測量真實值和 值之間的差異,也叫做誤差。假設一條線很好地擬合...

一元線性回歸模型 Python

演示建模過程 import collections collections 是python內建的乙個集合模組 import pandas as pd import matplotlib.pyplot as plt 1 建立資料集 jobdict job orderdict collections.o...

python 一元線性回歸模型

模型中只有乙個自變數和因變數可表示成 數學公式可表示成 其中a為模型的截距項,b為模型的斜率項,就是如何根據自變數x和因變數y求解回歸係數a和b。如果擬合線能夠精確地捕捉到每乙個點 所有的散點全部落在擬合線上 那麼對應的誤差項 誤差平方和的公式可以表示為 公式轉換 求解a和b 樣本量 n incom...