数学建模社区-数学中国

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

作者: 2841097014    时间: 2023-8-26 18:08
标题: 线性回归代码
import numpy as np
  `; w4 D' k* D$ yfrom sklearn.linear_model import LinearRegression3 Z. N, Q$ U. W, G& ^4 M
import matplotlib.pyplot as plt
  s; D% G# y* e! G$ I3 s: @  w* g. l; Q9 @5 j( L1 u. g) H+ V
# 生成一些示例数据
9 T+ A+ \" M9 |$ _* g& bnp.random.seed(0)
% B' @, X2 z# B* p6 ?4 _4 r& bX = 2 * np.random.rand(100, 1)
# ^0 i# S" b1 L, a9 Xy = 3 + 4 * X + np.random.randn(100, 1)4 d% `. [7 R$ \, e# r

" L/ o0 `1 ]  J& Q6 v/ X8 F# 创建线性回归模型% w' H8 x' a# Z: Q0 a9 x
model = LinearRegression()
! D# r6 v* e6 W+ \+ D! c
  C& i8 }6 k. l) y, r3 X( n# 训练模型3 T' t( H5 q/ l/ q$ X
model.fit(X, y)  W7 I$ Y5 z/ k8 e# z7 a4 v7 o

1 y( @( _  }. {( W# 打印模型的参数9 C" }8 o! U) r" f
print("Intercept:", model.intercept_)6 `; q! M" g" S5 U/ i
print("Coefficient:", model.coef_[0])
6 u# T' I2 |5 q. L4 u5 `0 K" b( ]7 B# H0 |  F8 E$ }
# 预测新数据点3 {, P) l0 J6 O, j+ J/ A
new_X = np.array([[1.5]])  # 输入一个新的 X 值进行预测
; v$ }1 c' T) a& Hpredicted_y = model.predict(new_X)
5 u, L5 k+ X: K: w! l3 Hprint("Predicted y:", predicted_y)
0 Y8 R" f- k' o: w8 G+ V$ F5 ]! O: D, c) B
# 绘制数据和拟合线
' a$ k/ a. {: D) G! R5 R! @3 A( tplt.scatter(X, y, color='blue')- e# s2 Q/ _. B: f: s& w4 U' g
plt.plot(X, model.predict(X), color='red')
/ h3 {3 x/ [- U( @plt.xlabel('X')+ w1 }  r8 O6 P7 q
plt.ylabel('y')
4 l; l3 X: c9 I6 k" x) v3 ?plt.title('Linear Regression')
9 r6 C8 O: [) o4 U) `; Kplt.show()
) e1 Z& F5 s7 V# R( e" ]% H2 l& W# H0 X, r- P1 l* q7 B, ^
, m3 p  `, C  R$ D  r





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