数学建模社区-数学中国
标题:
线性回归代码
[打印本页]
作者:
2841097014
时间:
2023-8-26 18:08
标题:
线性回归代码
import numpy as np
3 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( b
X = 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/ u
model = 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* F
print("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 `* ?( f
plt.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