多元线性回归 指的 是一个样本 有多个特征的 线性回归问题。
w 被统称为 模型的 参数,其中 w0 被称为截距(intercept),w1~wn 被称为 回归系数(regression coefficient)。这个表达式和 y=az+b 是同样的性质。其中 y 是目标变量,也就是 标签。xi1~xin 是样本 i 上的特征 不同特征。如果考虑有 m 个样本,则回归结果 可以被写作:
实例代码:
#一元线型回归模型
print("一元线型回归模型")
import sklearn.linear_model as lm
import numpy as np
x=[1,3,5,7]
x=np.array(x).reshape(-1,1)
print(x)
y = np.array([2, 4, 6, 8])
model=lm.LinearRegression()
model.fit(x,y)
print("Intercept:",model.intercept_)
print("Coefficients:",model.coef_)
print("Prediction for 60:",model.predict(np.array([60]).reshape((-1, 1))))
#二元线型回归模型(多元线型回归与此类似)
print("二元线型回归模型")
x1=[1,2,3,4]
x2=[2,4,6,8]
#矩形转置
x=np.array([x1,x2]).T
print(x)
x=np.array([x1,x2]).reshape(-1,2)
y = np.array([2, 4, 6, 8])
model=lm.LinearRegression()
model.fit(x,y)
print("Intercept:",model.intercept_)
print("Coefficients:",model.coef_)
print("Prediction for [60,60]:",model.predict(np.array([60,60]).reshape((-1, 2))))
结果:
一元线型回归模型
[[1]
[3]
[5]
[7]]
Intercept: 1.0
Coefficients: [1.]
Prediction for 60: [61.]
二元线型回归模型
[[1 2]
[2 4]
[3 6]
[4 8]]
Intercept: -0.9999999999999991
Coefficients: [-2.2 2.8]
Prediction for [60,60]: [35.]