数学建模社区-数学中国

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

作者: 2744557306    时间: 2024-3-15 17:09
标题: 使用 sklearn 进行多元线性回归
多元线性回归是一种强大的统计方法,适用于探索多个自变量与因变量之间的复杂关系,并进行预测和解释。
( J' ^( `7 _5 g# %%
  1. import numpy as np
    $ k$ n2 A' `6 x8 y
  2. import pandas as pd6 @0 Y$ r+ ^9 r: g+ j0 A4 b# |' N: W
  3. from sklearn.linear_model import LinearRegression
    8 l8 T/ g" Y8 y# p
复制代码
# %%
/ O/ b+ ~, a9 I8 ?4 Q
% p$ W; {! y  v6 O$ q8 H# 源数据
  1. df = pd.DataFrame({, L+ Z6 @6 b& I% A6 Z% r  d: {
  2.     'x1': [7, 1, 11, 11, 7, 11, 3],
    5 n$ C) b5 ^  U7 }! {8 G
  3.     'x2': [26, 29, 56, 31, 52, 55, 71],9 i' R! [9 D9 s9 h& a5 L- g
  4.     'y': [78.5, 74.3, 104.3, 87.6, 95.9, 109.2, 102.7],( u6 l; Y. ^! W  i* y7 ]
  5. })
    / w# \  ]6 L- r- I5 O- |) B6 T

  6. : i  o  b7 g. L! _, o  e1 n' d% G
  7. X = np.array(df[['x1','x2']])
      c2 F* G# z; d
  8. y = np.array(df[['y']])
复制代码
# 多元线性回归模型
  1. model = LinearRegression().fit(X, y)
      o8 B1 b% j" P* k' h
复制代码
# %%
  x/ p% r& Y4 J2 x( d  P3 h$ k. b7 Q* H+ P% o0 E0 w6 \8 t
# 截距
& I( W( P' ~, zb0 = model.intercept_[0]
! |! X; Z1 Y% C8 b5 x* ^
8 Z7 F2 U2 [3 n& ~( K& w8 Z# 系数& h9 G  t6 U4 ]- R' X+ b! }8 {/ T* V3 ~
b1, b2 = model.coef_[0]( f, H. v2 u6 W. ~; ]
) |& B9 ~1 ^6 ~- W
print('y = {:.4f} + {:.4f}*x1 + {:.4f}*x2'.format(b0, b1,b2))
/ a% T- i8 V( v! O: hprint('R_square =',model.score(X,y))( T4 o) h# I0 D5 @& f$ ?
7 b! G" Y* v# p  T

( Y, j0 U- c/ H) U

12.mul_linear_regression_sklearn.py

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

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






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