import matplotlib.pyplot as plt
# plt.style.use('ggplot')
from matplotlib.font_manager import fontproperties # 解決中文字元顯示不全
import numpy as np
font = fontproperties(fname=r"c:\windows\fonts\simsun.ttc"
, size=
12)
x =[
3.4,
1.8,
4.6,
2.3,
3.1,
5.5,
0.7,
3.0,
2.6,
4.3,
2.1,
1.1,
6.1,
4.8,
3.8]
y =[
26.2
,17.8
,31.3
,23.1
,27.5
,36.0
,14.1
,22.3
,19.6
,31.3
,24.0
,17.3
,43.2
,36.4
,26.1
]x = np.array(x)
y = np.array(y)
class
linearregression
:def
__init__
(self)
: self.x =
none
self.y =
none
self.wb =
none
# 權重 偏置
self.w =
none
# 權重
self.b =
none
# 偏置
deffit
(self, x=
none
, y=
none):
self.x = np.array(x)
self.y = np.array(y)
iflen
(self.x.shape)==1
:# 若為單自變數
self.x.resize(
(len
(self.x),1
))# 轉為一列
self.y.resize(
(len
(self.y),1
))# 轉為一列
self.x = np.concatenate(
[self.x, np.ones(
(len
(self.x),1
))],axis=1)
# 加一列常數項1
# print(self.x )
# self.x.transpose() # 自轉置
matmul_xx = np.matmul(self.x.t, self.x)
matmul_xy = np.matmul(self.x.t, self.y)
self.wb = np.matmul(np.linalg.inv(matmul_xx)
, matmul_xy)
# print(self.wb)
self.w = self.wb.t[0,
0:-1
] self.b = self.wb[-1
,0]def
predict
(self,x=
none):
temp_x = np.array(x)
iflen
(temp_x.shape)==1
: temp_x.resize((1
,len
(temp_x)))
# 加一維[temp_x]
y_pred = temp_x * self.w + self.b
# print(y_pred)
return y_pred.flat
defgetr_2
(x, y, y_pred)
:# 獲取r^2
sr =
sum(
(y_pred - np.mean(y))**
2)se =
sum(
(y - y_pred)**2
) st = sr + se
r_square = sr / st # 相關性係數r^2
print
(r_square)
return r_square
regression = linearregression(
)regression.fit(x,y)
y_pred = regression.predict(x)
r_square = getr_2(x,y,y_pred)
plt.title(
'回歸方差:{}'
python_一元線性回歸及回歸顯著性
數理統計知識整理——回歸分析與方差分析
線性回歸與邏輯回歸
cost functionj 12m i 1m h x i y i hypothesish x tx 梯度下降求解 為了最小化j j j 1m i 1m h x i y i x i j 每一次迭代更新 j j 1m i 1m h x i y i x i j 正規方程求解 最小二乘法 xtx 1x t...
多元線性回歸分析
功能 多元線性回歸分析 include math.h include stdio.h include stdlib.h typedef struct rmatrix rm,rmp rm 實矩陣型別,rmp 實矩陣型別指標 typedef struct cnumber cnum,cnump cnum ...
1 線性回歸與非線性回歸
線性回歸就是針對回歸問題的一種線性模型。特點 簡單優雅,模型本身擬合樣本能力不強,通常需要深層次的特徵。對損失函式的一些解釋 假定誤差服從中心極限定理,說明了誤差進行疊加最後趨近於標準正態分佈,先對誤差建立極大似然估計,然後引入到樣本上,最終求解得到損失函式。ps 中心極限定理假定每個樣本需要滿足均...