import numpy as np( t' A4 B; R; y5 u
from sklearn.linear_model import LinearRegression $ W3 g* e. Q" `5 y# Simport matplotlib.pyplot as plt R9 ^! i! \- U * U" c5 g; ?! R9 ~# 生成一些示例数据' U' Q! X# O; s) ?' c' ]" W1 M
np.random.seed(0) 2 ?" K; X" N# g9 p0 {' ~5 MX = 2 * np.random.rand(100, 1) ' G/ T1 }! z' A H# n1 m- i1 Py = 3 + 4 * X + np.random.randn(100, 1)* h4 y/ F6 K, [! \, `+ |4 t
) h4 d. a" k9 ~8 b7 w2 Y b# 创建线性回归模型7 z0 [/ m/ o# K9 e
model = LinearRegression() % k4 u1 q' _4 ~: R - W1 Q; n$ K$ N9 u% a; K' ?# 训练模型 ; D: A) h1 P' Cmodel.fit(X, y)0 h* |% A W. w; x% v6 f' l- A
2 V U2 Y/ C2 u2 D# U" t& V# Z# 打印模型的参数 . \% G% Y6 J; F1 I4 H9 I2 _print("Intercept:", model.intercept_) 0 ^2 R O' r A- c$ Pprint("Coefficient:", model.coef_[0]) 0 Y+ u! {1 V/ [5 c: {: M4 {$ e2 c, N; K 1 g; s9 v* S/ [ z h# 预测新数据点! L) e: l9 _& Q- c/ D1 l# ^
new_X = np.array([[1.5]]) # 输入一个新的 X 值进行预测; |" X' Z4 A$ @' h9 s
predicted_y = model.predict(new_X): x& ?1 F$ T2 f1 U: o
print("Predicted y:", predicted_y)& q2 I1 D9 v( X
4 e/ H; ~" e2 }2 `7 `1 @
# 绘制数据和拟合线 2 p; p# E5 L, m" lplt.scatter(X, y, color='blue') 9 Z. `7 i' Z, B* _8 S6 a) Uplt.plot(X, model.predict(X), color='red') 4 d/ G9 F" Y% j0 n) Xplt.xlabel('X') 4 Z/ }1 f$ U" g" k! h- Qplt.ylabel('y') 9 l2 ^+ o8 k+ l8 Z5 u. cplt.title('Linear Regression')9 L( G- Y3 y0 B: D( V j6 u! ?2 E
plt.show()& f; N. x" x" _! K- ~; O& V7 x
4 p" U! J( W/ m7 @7 J8 B6 t. O4 E 5 ^ H9 P% l. D) d# E