当前位置:   article > 正文

六、回归与聚类算法 - 线性回归

六、回归与聚类算法 - 线性回归

目录

1、线性回归的原理

1.1 应用场景

1.2 什么是线性回归

1.2.1 定义

1.2.2 线性回归的特征与目标的关系分析

2、线性回归的损失和优化原理

2.1 损失函数

2.2 优化算法

2.2.1 正规方程

2.2.2 梯度下降

3、线性回归API

4、回归性能评估

5、波士顿房价预测

5.1 流程分析

5.2 代码

6、正规方程和梯度下降对比

7、梯度下降优化器


  1. 线性回归
  2. 欠拟合与过拟合
  3. 线性回归的改进 - 岭回归
  4. 分类算法:逻辑回归
  5. 模型保存与加载
  6. 无监督学习:K-means算法

1、线性回归的原理

回归问题:

       目标值:连续性的数据

1.1 应用场景

1.2 什么是线性回归

1.2.1 定义

1.2.2 线性回归的特征与目标的关系分析

2、线性回归的损失和优化原理

2.1 损失函数

2.2 优化算法

2.2.1 正规方程

2.2.2 梯度下降

学习率:步长

3、线性回归API

4、回归性能评估

5、波士顿房价预测

5.1 流程分析

  • 获取数据集
  • 划分数据集
  • 特征工程
  1. 无量纲化 - 标准化
  • 预估器流程
  1. fit()  --> 模型
  2. coef_      intercept_
  • 模型评估

5.2 代码

  1. from sklearn.datasets import load_boston
  2. from sklearn.metrics import mean_squared_error
  3. from sklearn.model_selection import train_test_split
  4. from sklearn.preprocessing import StandardScaler
  5. from sklearn.linear_model import LinearRegression, SGDRegressor
  6. def linear1():
  7. # 正规方程的优化方法对波士顿房价进行预测
  8. # 1、获取数据
  9. boston = load_boston()
  10. # 2、划分数据集
  11. x_train,x_test,y_train,y_test=train_test_split(boston.data,boston.target,random_state=22)
  12. # 3、标准化
  13. transfer = StandardScaler()
  14. x_train=transfer.fit_transform(x_train)
  15. x_test = transfer.transform(x_test)
  16. # 4、预估器
  17. estimator = LinearRegression()
  18. estimator.fit(x_train,y_train)
  19. # 5、得出模型
  20. print("正规方程-权重系数为:\n",estimator.coef_)
  21. print("正规方程-偏置为:\n",estimator.intercept_)
  22. # 6、模型评估
  23. y_predict = estimator.predict(x_test)
  24. print("正规方程-预测房价:\n",y_predict)
  25. errror = mean_squared_error(y_test,y_predict)
  26. print("正规方程-均方差误差:\n",errror)
  27. return None
  28. def linear2():
  29. # 梯度下降的优化方法对波士顿房价进行预测
  30. # 1、获取数据
  31. boston = load_boston()
  32. # 2、划分数据集
  33. x_train, x_test, y_train, y_test = train_test_split(boston.data, boston.target, random_state=22)
  34. # 3、标准化
  35. transfer = StandardScaler()
  36. x_train = transfer.fit_transform(x_train)
  37. x_test = transfer.transform(x_test)
  38. # 4、预估器
  39. estimator = SGDRegressor()
  40. estimator.fit(x_train, y_train)
  41. # 5、得出模型
  42. print("梯度下降-权重系数为:\n", estimator.coef_)
  43. print("梯度下降-偏置为:\n", estimator.intercept_)
  44. # 6、模型评估
  45. y_predict = estimator.predict(x_test)
  46. print("梯度下降-预测房价:\n", y_predict)
  47. errror = mean_squared_error(y_test, y_predict)
  48. print("梯度下降-均方差误差:\n", errror)
  49. return None
  50. if __name__ == "__main__":
  51. # 代码1 :正规方程的优化方法对波士顿房价进行预测
  52. linear1()
  53. # 代码2:梯度下降的优化方法对波士顿房价进行预测
  54. linear2()

6、正规方程和梯度下降对比

7、梯度下降优化器

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/131441
推荐阅读
相关标签
  

闽ICP备14008679号