数学建模社区-数学中国

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

作者: 2841097014    时间: 2023-8-26 18:08
标题: 线性回归代码
import numpy as np3 P9 d3 _3 C/ {; e/ H; @2 U
from sklearn.linear_model import LinearRegression' R6 \+ c$ ?0 w% B( W, U1 @& z. I
import matplotlib.pyplot as plt
  g1 L* y  ^, u( D7 g, ]2 {1 Q: l5 d, F: }9 Z8 ^2 W4 h
# 生成一些示例数据1 c' E# r. p6 ?) L3 f+ V" o% P
np.random.seed(0)
3 I. j3 |- V9 w- T/ p  Z( bX = 2 * np.random.rand(100, 1)9 a. Q9 e' `" ]% Y/ o9 z* ], O4 M
y = 3 + 4 * X + np.random.randn(100, 1)4 [0 F9 k8 J+ K
9 C8 ^: v9 t4 l2 G; [8 W+ ]
# 创建线性回归模型
7 P' z; D4 z; S2 h- S/ umodel = LinearRegression()
# k) w' ^- t, q1 v1 \: v
% L2 [6 y* `# p' p# 训练模型& r9 b3 a: }8 A
model.fit(X, y)4 |" G" m9 w& F9 w8 b
) c. s+ e% M" k
# 打印模型的参数
7 Q4 \# Q- Y8 X9 U. B* Fprint("Intercept:", model.intercept_)) O+ i8 ]( w, K( i% n' ^
print("Coefficient:", model.coef_[0])& K, G& ~, y# u7 ?/ {

0 C  A( e, W) W, U# D# 预测新数据点
) w2 Q/ ^" {+ y' p$ }: Q  ^new_X = np.array([[1.5]])  # 输入一个新的 X 值进行预测, `& B5 ~8 s% n  l; N
predicted_y = model.predict(new_X)9 [: e2 G9 x9 B
print("Predicted y:", predicted_y): A* D' h8 N; b/ z
" [' Q) Y4 v6 ~/ ~
# 绘制数据和拟合线, J% p& M" H. e, B& T8 G0 @
plt.scatter(X, y, color='blue')# U5 Y5 x; d9 w+ P/ S6 ]$ I
plt.plot(X, model.predict(X), color='red')
  q' Z  g4 l3 p  `* ?( fplt.xlabel('X')+ ?7 N2 G& A7 l* B3 ~5 ]
plt.ylabel('y'), f1 U3 U* z% Z5 i+ O: Q
plt.title('Linear Regression')3 m3 q  Y- ~1 z5 x) [6 i. z3 p
plt.show()$ `$ ?0 ~  F& @% n
" x5 u0 A& D$ r1 [6 |" y
3 O& D0 C3 w5 O# F! `1 I# _$ m' Q" ^





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