数学建模社区-数学中国

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

作者: 2744557306    时间: 2024-3-15 17:09
标题: 使用 sklearn 进行多元线性回归
多元线性回归是一种强大的统计方法,适用于探索多个自变量与因变量之间的复杂关系,并进行预测和解释。
7 i$ C% c5 P4 U! s9 `# %%
  1. import numpy as np
    : W  C9 G9 K3 Q, c6 O$ S  M
  2. import pandas as pd# M% P, c) d2 x
  3. from sklearn.linear_model import LinearRegression' i; }( M5 A6 b/ v1 G8 l! ]
复制代码
# %%
* X& ~: V& W; k/ ^0 r/ B, V3 f) U9 I! W0 @# O; r& A
# 源数据
  1. df = pd.DataFrame({
    0 [1 F/ B  E' a! ^
  2.     'x1': [7, 1, 11, 11, 7, 11, 3],
    * U) [+ D# q7 ^
  3.     'x2': [26, 29, 56, 31, 52, 55, 71],
    ' [4 |$ j1 }$ O' D
  4.     'y': [78.5, 74.3, 104.3, 87.6, 95.9, 109.2, 102.7],3 X; p: N" L; u2 {
  5. })# y. l8 c" V; H' e7 T

  6. , n& @) Z* m0 p; ^
  7. X = np.array(df[['x1','x2']])
    ; F' f9 B/ [% g
  8. y = np.array(df[['y']])
复制代码
# 多元线性回归模型
  1. model = LinearRegression().fit(X, y)' S0 z, N5 m3 A6 W
复制代码
# %%# d. O' t' x3 h5 S- u# ^$ N( X
) h# w2 H4 D2 Q
# 截距
) s* h& G/ F- S. _b0 = model.intercept_[0]0 W6 h3 H7 x, e6 v. I

( i0 F. M6 o8 K# 系数" L4 h1 \% k* q% q8 P
b1, b2 = model.coef_[0], s4 T* \& L. x$ `. K! g

; G6 u& e/ |/ Q5 ]  q6 }print('y = {:.4f} + {:.4f}*x1 + {:.4f}*x2'.format(b0, b1,b2))/ O8 @) Q5 U- h  S; [
print('R_square =',model.score(X,y))
7 o( G! @: ^# ^2 z* j
/ H- M* f! e0 ?% D2 T7 y% F( t5 m! Q- W) Y1 g

12.mul_linear_regression_sklearn.py

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

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






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