🥰2.2 线性回归 API 使用总结

🎯学习目标

  • 知道线性回归 api 的简单使用
  • 了解正规方程的 api 及常用参数
  • 了解梯度下降法 api 及常用参数

🌟线性回归 API 介绍

🧐简单使用版 API

sklearn.linear_model.LinearRegression()

  • 属性
    • LinearRegression.coef_:回归系数

🎉示例代码

📋步骤分析

  1. 获取数据集
  2. 数据基本处理(该案例中省略)
  3. 特征工程(该案例中省略)
  4. 机器学习
  5. 模型评估(该案例中省略)

💻代码过程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 导入模块
from sklearn.linear_model import LinearRegression

# 构造数据集
x = [[80, 86],
[82, 80],
[85, 78],
[90, 90],
[86, 82],
[82, 90],
[78, 80],
[92, 94]]
y = [84.2, 80.6, 80.1, 90, 83.2, 87.6, 79.4, 93.4]

# 机器学习 -- 模型训练
# 实例化API
estimator = LinearRegression()
# 使用fit方法进行训练
estimator.fit(x, y)

# 查看回归系数
print(estimator.coef_)

# 进行预测
print(estimator.predict([[100, 80]]))

🤓详细参数版 API 介绍

📝正规方程实现

sklearn.linear_model.LinearRegression(fit_intercept=True)

  • 参数
    • fit_intercept:是否计算偏置,默认为True
  • 属性
    • LinearRegression.coef_:回归系数
    • LinearRegression.intercept_:偏置

🚀梯度下降法实现

sklearn.linear_model.SGDRegressor(loss="squared_loss", fit_intercept=True, learning_rate ='invscaling', eta0=0.01)

  • 参数

    • loss:损失类型,loss="squared_loss" 表示普通最小二乘法
    • fit_intercept:是否计算偏置,默认为True
    • learning_rate:学习率填充方式,可选值有:

      • 'constant'eta = eta0
      • 'optimal'eta = 1.0 / (alpha * (t + t0))(默认)
      • 'invscaling'eta = eta0 / pow(t, power_t),其中 power_t=0.25 存在于父类中。对于常数值学习率,可使用 learning_rate='constant' 并通过 eta0 指定学习率。
  • 属性
    • SGDRegressor.coef_:回归系数
    • SGDRegressor.intercept_:偏置

✨小结

  • 正规方程:sklearn.linear_model.LinearRegression()
  • 梯度下降法:sklearn.linear_model.SGDRegressor()

通过以上 API,我们可以根据具体需求选择合适的方法来实现线性回归模型。