Python机器学习之简单线性回归分析
2021/5/14 1:25:19
本文主要是介绍Python机器学习之简单线性回归分析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
简单线性回归
这一节我们来介绍一下最广为人知的线性回归模型——将数据拟合成一条直线。直线方程为:y = ax + b,其中a是直线的斜率,b是直线的截距。
数据分析
首先导入常用的数据库:
%matplotlib inline import matplotlib.pyplot as plt import seaborn as sns; sns.set() import numpy as np
接下来,我们将直线方程的斜率定为2,截距定为5来进行实验。
#np.random.RandomState()是伪随机数发生器,会产生一个随机状态的种子 #RandomState(1)是将种子设置为1,只要种子相同,产生的随机数序列就是相同的。 rng = np.random.RandomState(1) #将随机数赋给rng x = 10 * rng.rand(50) #rand(50)返回50个一维数组,即50个随机数 y = 2 * x - 5 + rng.randn(50) #randn函数返回50个随机数,且具有标准正态分布。 plt.scatter(x,y); #生成一个散点图
线性回归数据图如下:
拟合数据
下一步我们用Scikit-Learn的LinearRegression评估器来拟合数据, 并获得最佳拟合直线。我们的操作步骤分为以下几步:
1.建立线性回归评估器
from sklearn.linear_model import LinearRegression #线性回归,安装scikit-learn包 model = LinearRegression(fit_intercept=True) #LinearRegression → 线性回归评估器,用于拟合数据得到拟合直线fit_intercept参数为True代表计算截距
2.拟合直线
model.fit(x[:, np.newaxis], y) #model.fit(x,y) → 拟合直线,参数分别为x与y #x[:,np.newaxis] → 将数组变成(n,1)形状
3.创建测试数据
xfit = np.linspace(0,10,1000) # 这是将0到10内的数分成1000份 yfit = model.predict(xfit[:, np.newaxis]) # 创建测试数据xtest,并根据拟合曲线求出ytest # model.predict → 预测
4.生成数据图
plt.scatter(x,y) #生成一个散点图 plt.plot(xfit,yfit); #生成直线
最终生成的线性回顾模型图如下:
这篇关于Python机器学习之简单线性回归分析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门