数学建模社区-数学中国

标题: 使用 sklearn 进行多元线性回归 [打印本页]

作者: 2744557306    时间: 2024-3-15 17:09
标题: 使用 sklearn 进行多元线性回归
多元线性回归是一种强大的统计方法,适用于探索多个自变量与因变量之间的复杂关系,并进行预测和解释。
- ?! k6 A+ N' Q# %%
  1. import numpy as np. U& U7 @4 a7 V" V5 A
  2. import pandas as pd4 _  T' g  |2 B
  3. from sklearn.linear_model import LinearRegression* w! }# z5 q; r( \) G3 \" M* V
复制代码
# %%& m5 A7 H& Q. V( x
2 k, C  s6 B# ~& f. T  J
# 源数据
  1. df = pd.DataFrame({2 R3 |# o, z" l+ e9 i& m4 g' s. ]0 Y
  2.     'x1': [7, 1, 11, 11, 7, 11, 3],
    - }5 C+ C) R4 z: k& D* K3 M
  3.     'x2': [26, 29, 56, 31, 52, 55, 71],/ s: o9 E5 ^, v( U9 K) a$ q
  4.     'y': [78.5, 74.3, 104.3, 87.6, 95.9, 109.2, 102.7],
    * g" X2 H0 |  r- a0 u) V1 ]$ M
  5. })
    " c1 W) Y: _+ {& Q( D" v

  6. 4 s4 X6 t! W. l
  7. X = np.array(df[['x1','x2']])9 @# |* Q; ^; y+ ~, k
  8. y = np.array(df[['y']])
复制代码
# 多元线性回归模型
  1. model = LinearRegression().fit(X, y)
    ! L! u! G% r1 h+ k3 R) @
复制代码
# %%! H2 [' j+ q: x7 f. ]: j6 p5 W& _

" j0 D8 _8 g2 T3 I  r. M9 e# 截距
3 w5 M. M% {& N+ P3 u! jb0 = model.intercept_[0]
! l( y8 `. G  i% e
- g4 ^: i" N  ^3 ^+ D3 m+ `# 系数
$ {7 t" v3 V! @9 G1 u- H, qb1, b2 = model.coef_[0]+ t1 u8 i' R$ t: z

# H9 V) G' D0 z: ]0 ^: Bprint('y = {:.4f} + {:.4f}*x1 + {:.4f}*x2'.format(b0, b1,b2))
6 n6 A' @5 o3 h" `! kprint('R_square =',model.score(X,y))
) O' E; w" ~" m, H! o
) d" U. T% Y5 e8 Z3 G6 G# U6 T
$ W8 z+ M- ]3 \7 v

12.mul_linear_regression_sklearn.py

704 Bytes, 下载次数: 0, 下载积分: 体力 -2 点

售价: 2 点体力  [记录]  [购买]






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