数学建模社区-数学中国

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

作者: 2744557306    时间: 2024-3-15 17:09
标题: 使用 sklearn 进行多元线性回归
多元线性回归是一种强大的统计方法,适用于探索多个自变量与因变量之间的复杂关系,并进行预测和解释。0 H) y7 G- T' K. j6 N
# %%
  1. import numpy as np8 [) i/ w. z  K( G+ G' m
  2. import pandas as pd- J, B+ Q: w) k" O9 Y5 U( h, Y
  3. from sklearn.linear_model import LinearRegression
    6 C4 k0 K! v- g+ O+ I/ T" H, d+ A
复制代码
# %%
/ C( m% M9 R! g  o
8 m; L, w8 l. }$ W  Y5 p& g- G8 a# 源数据
  1. df = pd.DataFrame({
    ! A9 a8 n; d0 F2 r( P# E. q
  2.     'x1': [7, 1, 11, 11, 7, 11, 3],
    % z3 q6 v2 d3 T4 Y9 D! w' e
  3.     'x2': [26, 29, 56, 31, 52, 55, 71],
    & B7 T, W7 V9 ]
  4.     'y': [78.5, 74.3, 104.3, 87.6, 95.9, 109.2, 102.7],/ q+ [. G  F  y) z+ f0 c
  5. })! ~" k$ L( ^0 |# P5 f$ [

  6. 1 r" y, ?8 u6 }0 g
  7. X = np.array(df[['x1','x2']])
    1 U4 }" i; m) y( q  \
  8. y = np.array(df[['y']])
复制代码
# 多元线性回归模型
  1. model = LinearRegression().fit(X, y), k: r% \; Z5 \( z. n. }$ y
复制代码
# %%) d: [# X' y# W& g/ G! P
+ x3 p8 D; F8 l( _* C0 j- p
# 截距# r8 p0 l* f: `' A% m# x) k
b0 = model.intercept_[0]) K+ y# i* t8 Q: X
; |0 U' p  R1 k6 i) E4 O% T. r
# 系数
# }  R: b( b' H6 fb1, b2 = model.coef_[0]
) d5 S0 T' O5 T
; Z0 `+ [3 K( j$ N9 C& h  ]5 pprint('y = {:.4f} + {:.4f}*x1 + {:.4f}*x2'.format(b0, b1,b2))
( U6 A! W* q" N% Jprint('R_square =',model.score(X,y))
2 z! t8 g- S/ M, r$ ]
- K7 m  `( t3 ^/ `9 ~% Z7 C/ b
9 h* @$ [' l, j5 r' ]

12.mul_linear_regression_sklearn.py

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

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






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