按西瓜書公式寫的,比較簡陋,但可以執行幫助理解
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...