数学建模社区-数学中国
标题:
线性回归代码
[打印本页]
作者:
2841097014
时间:
2023-8-26 18:08
标题:
线性回归代码
import numpy as np
`; w4 D' k* D$ y
from sklearn.linear_model import LinearRegression
3 Z. N, Q$ U. W, G& ^4 M
import matplotlib.pyplot as plt
s; D% G# y* e! G$ I3 s: @ w* g
. l; Q9 @5 j( L1 u. g) H+ V
# 生成一些示例数据
9 T+ A+ \" M9 |$ _* g& b
np.random.seed(0)
% B' @, X2 z# B* p6 ?4 _4 r& b
X = 2 * np.random.rand(100, 1)
# ^0 i# S" b1 L, a9 X
y = 3 + 4 * X + np.random.randn(100, 1)
4 d% `. [7 R$ \, e# r
" L/ o0 `1 ] J& Q6 v/ X8 F
# 创建线性回归模型
% w' H8 x' a# Z: Q0 a9 x
model = LinearRegression()
! D# r6 v* e6 W+ \+ D! c
C& i8 }6 k. l) y, r3 X( n
# 训练模型
3 T' t( H5 q/ l/ q$ X
model.fit(X, y)
W7 I$ Y5 z/ k8 e# z7 a4 v7 o
1 y( @( _ }. {( W
# 打印模型的参数
9 C" }8 o! U) r" f
print("Intercept:", model.intercept_)
6 `; q! M" g" S5 U/ i
print("Coefficient:", model.coef_[0])
6 u# T' I2 |5 q. L4 u5 `
0 K" b( ]7 B# H0 | F8 E$ }
# 预测新数据点
3 {, P) l0 J6 O, j+ J/ A
new_X = np.array([[1.5]]) # 输入一个新的 X 值进行预测
; v$ }1 c' T) a& H
predicted_y = model.predict(new_X)
5 u, L5 k+ X: K: w! l3 H
print("Predicted y:", predicted_y)
0 Y8 R" f- k' o: w
8 G+ V$ F5 ]! O: D, c) B
# 绘制数据和拟合线
' a$ k/ a. {: D) G! R5 R! @3 A( t
plt.scatter(X, y, color='blue')
- e# s2 Q/ _. B: f: s& w4 U' g
plt.plot(X, model.predict(X), color='red')
/ h3 {3 x/ [- U( @
plt.xlabel('X')
+ w1 } r8 O6 P7 q
plt.ylabel('y')
4 l; l3 X: c9 I6 k" x) v3 ?
plt.title('Linear Regression')
9 r6 C8 O: [) o4 U) `; K
plt.show()
) e1 Z& F5 s7 V# R( e" ]% H2 l& W# H
0 X, r- P1 l* q7 B, ^
, m3 p `, C R$ D r
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5