import numpy as np5 {2 u: x: B2 ` f. v
from sklearn.linear_model import LinearRegression2 N) Y2 G' j) S. s& k' p
import matplotlib.pyplot as plt; m& x7 f" S! L7 x* n
! S$ P' A7 y8 Z( T( `; Z: B# 生成一些示例数据. x: E D9 T5 ^% y5 i. v6 Z; U& `
np.random.seed(0)/ ]* e1 b' N7 ^1 w# J
X = 2 * np.random.rand(100, 1)5 E) V' V# R# X7 M' q5 I( J9 a& m+ I
y = 3 + 4 * X + np.random.randn(100, 1)+ s5 J; U9 q; F5 B- v1 H8 v5 P8 I
. d( ?- m" R# c% x
# 创建线性回归模型8 U6 `; |$ w! {" b
model = LinearRegression() 6 f- i! E( P; I+ @8 G+ K9 ^) B" {4 K% v$ ?7 n6 M
# 训练模型0 s, @" y2 | L0 w2 c
model.fit(X, y)/ v7 Y$ k: Q& ^$ ^+ H
# P$ M4 K6 G8 |+ e o. V( d# 打印模型的参数7 I- ~4 P5 X) {- @, V- |
print("Intercept:", model.intercept_)* L9 @' R9 G9 B$ J9 m) q- v
print("Coefficient:", model.coef_[0])2 Y) i# |1 B9 P. q' e
# t) L; E) [# [. g# 预测新数据点 # j. F: Y( A* a6 \( }8 `) V, znew_X = np.array([[1.5]]) # 输入一个新的 X 值进行预测 ( D5 X2 Q, H1 Q. r* ^! S. h8 Zpredicted_y = model.predict(new_X) 1 A9 a2 r9 }" q6 I/ G- @print("Predicted y:", predicted_y)8 y; p. z, ]8 x3 \* b' [( H
. N9 ^8 x. n, d B Z
# 绘制数据和拟合线 % d$ x8 Q' V5 T) k# n3 Vplt.scatter(X, y, color='blue'): Y" c9 J4 d. b y$ | @
plt.plot(X, model.predict(X), color='red') : C, a7 d5 J# H3 h0 D( Xplt.xlabel('X')% X/ |* h2 `, u
plt.ylabel('y') 4 @ e( v$ e; G+ x$ x3 v$ H0 eplt.title('Linear Regression')/ m2 h6 l" [6 }
plt.show()/ S8 ^" N" M3 y1 I6 V
: B* M6 e- X6 \! G3 i9 p7 Q
" [1 ~! k* ?2 q) D- r' d" ~8 d