数学建模社区-数学中国

标题: 线性回归代码 [打印本页]

作者: 2841097014    时间: 2023-8-26 18:08
标题: 线性回归代码
import numpy as np! ]1 ~8 w/ p) M7 O5 Q
from sklearn.linear_model import LinearRegression9 h9 E9 d5 y3 m( w0 O# D4 ]# u
import matplotlib.pyplot as plt) E8 _9 H: M0 d- \' X. w/ S. S

* r7 |) p: {3 r0 z& L- n6 d# 生成一些示例数据
+ o* S, |+ u% H$ V/ m0 rnp.random.seed(0)
9 X! G) y6 P) V6 X1 SX = 2 * np.random.rand(100, 1)
. z1 X, l" o2 gy = 3 + 4 * X + np.random.randn(100, 1)/ [! O- d: T) a7 V2 {  J

0 }) F+ x$ y- g6 h6 m# 创建线性回归模型
4 i- A8 F2 \6 v$ X2 ?- Rmodel = LinearRegression()
1 u0 Y! N/ \% a" P" u9 U2 Y1 {: r. I3 Y% [/ V
# 训练模型! |! `: Z' x( r4 P
model.fit(X, y)( g2 \! Q" w6 G( a0 k3 P  o
  g9 J  X) R0 |- l* x+ ?' S
# 打印模型的参数' {# h- H8 q- R6 S5 C+ ~/ y: G/ H
print("Intercept:", model.intercept_)9 e7 @; C; q+ O
print("Coefficient:", model.coef_[0]), w  y! u; M0 w; h9 j3 ?

2 V9 F: q' n4 k+ a: i* H# 预测新数据点
4 G8 E- Z. q2 B7 y1 jnew_X = np.array([[1.5]])  # 输入一个新的 X 值进行预测7 f7 K8 ]) e+ g1 V
predicted_y = model.predict(new_X)
9 a7 k+ u# D$ V# L( O4 ]print("Predicted y:", predicted_y)
- b+ v9 X2 \4 Z% `8 y1 U: v+ h, B+ L2 r+ F
# 绘制数据和拟合线5 p, e5 O" X) \) y& K) Z8 z
plt.scatter(X, y, color='blue')! m" Q4 C' t+ g5 k
plt.plot(X, model.predict(X), color='red')
8 ]. ]: j6 i2 Bplt.xlabel('X')
! i& x" }0 B' ]: dplt.ylabel('y')
" {2 h% i  g5 c" @- U; _plt.title('Linear Regression')
" ]/ I( A- z, D- Hplt.show()
/ E, `" Q% R" |7 ~2 v+ @3 n7 x' e* r, c- ^

( [0 N/ m  R" r0 o2 t




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5