数学建模社区-数学中国

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

作者: 2841097014    时间: 2023-8-26 18:08
标题: 线性回归代码
import numpy as np
8 r1 z( Y; V# ~. pfrom sklearn.linear_model import LinearRegression
2 w, Q; @& ?3 N- Cimport matplotlib.pyplot as plt
( R4 T* c# U" Z/ ^0 o$ X
% j2 \: S3 K0 I: S) l) f# 生成一些示例数据: F/ D: R& [7 z: J
np.random.seed(0)
+ g5 G0 P8 ~) H' V. FX = 2 * np.random.rand(100, 1)
2 S+ g1 F- D% T) J+ `y = 3 + 4 * X + np.random.randn(100, 1)
/ U8 s* F" ~5 f7 p% w3 p- C, ?7 ?* x
# 创建线性回归模型
+ s( z. w8 L9 e+ `% V& c4 Vmodel = LinearRegression()3 {9 i1 _& |7 n# h5 D0 e& E( K
1 z- ]% b8 y. ]3 C# Y1 ?( c
# 训练模型
  k# k) D, w5 |) p) ~model.fit(X, y)
1 D; M5 ~2 D( Z0 J* t% K) J
8 X9 s6 r% F% _# |5 x# 打印模型的参数
6 T+ c5 X  V- d, p0 q+ h7 Tprint("Intercept:", model.intercept_)5 V# k  t+ r. C# p. k; [+ N; P
print("Coefficient:", model.coef_[0])3 z9 o1 J, X1 |: I

3 K5 o% Z3 w' U' M% n# 预测新数据点6 D! ^' ~: g+ J. V/ g  H/ F
new_X = np.array([[1.5]])  # 输入一个新的 X 值进行预测* C7 i9 n+ ~: ]  J+ w
predicted_y = model.predict(new_X)/ H+ n7 K3 \: _; e$ W
print("Predicted y:", predicted_y)
1 Y+ x, r/ `8 x+ A( ^+ ?) X9 u) B: w1 m, X( ^# T5 P$ E
# 绘制数据和拟合线& b% s0 \. p; k( u- o
plt.scatter(X, y, color='blue')
$ o  i  G( N" T5 H: l& pplt.plot(X, model.predict(X), color='red')! E( j8 g- T5 w5 Q5 G
plt.xlabel('X')
) X9 @/ c) {/ [4 Iplt.ylabel('y')
7 p- b# j$ r' Y) j& Hplt.title('Linear Regression')3 `( v, `& U6 J! B, J6 k' h
plt.show()
* v6 R) D8 l. P( N* T$ n& x, ^0 V7 T
4 x' Q& i+ n6 W$ }6 @  S0 z( e, E6 |1 U0 I- _





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