数学建模社区-数学中国

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

作者: 2744557306    时间: 2024-3-15 17:09
标题: 使用 sklearn 进行多元线性回归
多元线性回归是一种强大的统计方法,适用于探索多个自变量与因变量之间的复杂关系,并进行预测和解释。
. C( a5 J: G+ E6 n, v6 W4 K" _# %%
  1. import numpy as np
    2 k/ c7 V3 v! W6 F& i
  2. import pandas as pd
    5 e+ _$ w- V" F5 ?+ V
  3. from sklearn.linear_model import LinearRegression: k, F+ ^: q+ T1 e% g* X* _
复制代码
# %%
% z( t+ R1 e6 c1 J! H: ]; m4 R, b2 g8 D. k" t) h  w. @+ e) k
# 源数据
  1. df = pd.DataFrame({$ w0 B0 h! F/ H2 I' e7 T  E% w
  2.     'x1': [7, 1, 11, 11, 7, 11, 3],
      _- I7 R) Y5 @$ U4 ^9 u
  3.     'x2': [26, 29, 56, 31, 52, 55, 71],
    0 ]6 P4 Z7 _+ b4 ]; _
  4.     'y': [78.5, 74.3, 104.3, 87.6, 95.9, 109.2, 102.7],. o: b7 t/ F2 U+ ?6 l1 h
  5. })
    - v6 `5 [; o: \1 n$ t

  6. 0 k5 b, Y; X& C1 @1 i* _
  7. X = np.array(df[['x1','x2']]), l6 }7 P' b+ D2 L7 s  q
  8. y = np.array(df[['y']])
复制代码
# 多元线性回归模型
  1. model = LinearRegression().fit(X, y)$ p3 A. N- s6 ]5 m( c0 Z% E
复制代码
# %%# D3 D8 y/ u; E% ?2 x1 v0 F

- R  Y- M( q, x1 P" ^6 s# 截距
5 z; T5 Q. {# x! H8 jb0 = model.intercept_[0]5 `1 h. `  [$ a7 g+ b

7 P* U4 J! y8 t9 _( `% q# 系数. f2 Y0 b7 X7 O$ P6 @: ^
b1, b2 = model.coef_[0]
& T* W# U, N8 v- x, D% w; r
5 @# O$ S: ~- p7 z+ P. rprint('y = {:.4f} + {:.4f}*x1 + {:.4f}*x2'.format(b0, b1,b2))! t  |9 `0 J0 |) v$ s5 i& v
print('R_square =',model.score(X,y))
" `) k# q7 F% ~- r9 i( K9 d8 P* n3 ?' _% N. X2 L

  ~: p7 s' }2 c8 A0 ~

12.mul_linear_regression_sklearn.py

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

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






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