数学建模社区-数学中国

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

作者: 2744557306    时间: 2024-3-15 17:09
标题: 使用 sklearn 进行多元线性回归
多元线性回归是一种强大的统计方法,适用于探索多个自变量与因变量之间的复杂关系,并进行预测和解释。9 t5 a7 ^, [* O( X6 I+ o
# %%
  1. import numpy as np
    . i6 n; u$ }2 K, e
  2. import pandas as pd
    0 u, ?" a% r1 `0 b8 H2 x) u: p4 J
  3. from sklearn.linear_model import LinearRegression
    ' i  d7 n9 R5 U; r# R2 t
复制代码
# %%  N7 _/ h8 w1 j9 ?8 A9 \# n3 w* \
; ~1 B5 s# o5 c8 ?' ^# x( ]& K
# 源数据
  1. df = pd.DataFrame({
    1 v7 R5 V% ~/ P% G% K8 b
  2.     'x1': [7, 1, 11, 11, 7, 11, 3],
    # {; A  ~3 L7 q1 H& ]
  3.     'x2': [26, 29, 56, 31, 52, 55, 71],
    " l  m( A$ q" T
  4.     'y': [78.5, 74.3, 104.3, 87.6, 95.9, 109.2, 102.7],
    1 @9 n+ t1 [& G8 r' R9 Z# a  f
  5. })
      b3 d. m& E4 a% ~4 V0 N5 @4 L
  6. & {* C" T4 x$ g" ^: D# k- a
  7. X = np.array(df[['x1','x2']])
      P# W& R, M, R
  8. y = np.array(df[['y']])
复制代码
# 多元线性回归模型
  1. model = LinearRegression().fit(X, y)
    . E* `) f+ a2 g; q0 _
复制代码
# %%
, x. ]' t! H( L/ g- j5 f7 Z
7 C' W8 F1 o- {$ b' }) q# 截距
# L3 U" D/ S& ~b0 = model.intercept_[0]) b% D* E. N# T5 O" n% B
# F  r1 Q6 B6 m# G
# 系数4 [9 @  [9 F5 e
b1, b2 = model.coef_[0]6 a) }/ R/ J8 Y; k

7 z" ]$ a2 }5 |; l- R9 Fprint('y = {:.4f} + {:.4f}*x1 + {:.4f}*x2'.format(b0, b1,b2))5 c5 b5 \7 p' I
print('R_square =',model.score(X,y))  \5 Z( M5 I  ]- d4 u4 X5 Q

( E7 C( \# w( Q0 W" k
8 n% w/ g+ I5 \8 v

12.mul_linear_regression_sklearn.py

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

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






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