【Python】数据分析——直方图、散点图、线性回归、多项式回归、拟合度
目录
- 绘制直方图
- 绘制散点图
- 线性回归
- 多项式回归
- 拟合度
数据分析就是在一大批杂乱无章的数据中,运用数字化工具和技术,探索数据内在的结构和规律,构建数学模型,并进行可视化表达,通过验证将模型转化为知识,为诊断过去、预测未来发挥作用。
一个数据库的例子:
Carname=[ ]
Color=[ ]
Age=[5,7,8,7,2,17,2,9,4,11,12,9,6]
Speed=[99,86,87,88,111,86,103,87,94,78,77,85,86]
Autopass=[ ]
绘制直方图
为了可视化数据集,我们可以对收集的数据绘制直方图。我们将使用 Python 模块 Matplotlib 绘制直方图。
#车辆年龄直方图
import matplotlib.pyplot as plt
ages = [5,7,8,7,2,17,2,9,4,11,12,9,6]
plt.hist(ages, 3,rwidth=0.97)
plt.show()
绘制散点图
散点图是数据集中的每个值都由点表示的图.
#绘制年龄和速度散点图
import matplotlib.pyplot as plt
age = [5,7,8,7,2,17,2,9,4,11,12,9,6]
speed = [99,86,87,88,111,86,103,87,94,78,77,85,86]
plt.scatter(age,speed)
plt.show()
通过看图发现数据的发展趋势是什么?(线性回归)
线性回归
import matplotlib.pyplot as plt
from scipy import stats
x = [5,7,8,7,2,17,2,9,4,11,12,9,6]
y = [99,86,87,88,111,86,103,87,94,78,77,85,86]
slope, intercept, r, p, std_err = stats.linregress(x, y)
def myfunc(x):return slope * x + interceptmymodel = list(map(myfunc, x))
plt.scatter(x, y)
plt.plot(x, mymodel)
plt.show()
通过线性回归可以预测9年的车辆速度是多少?
from scipy import statsx = [5,7,8,7,2,17,2,9,4,11,12,9,6]
y = [99,86,87,88,111,86,103,87,94,78,77,85,86]
slope, intercept, r, p, std_err = stats.linregress(x, y)
def myfunc(x):return slope * x + interceptspeed = myfunc(9)
print(speed)
x = [89,43,36,36,95,10,66,34,38,20,26,29,48,64,6,5,36,66,72,40]
y = [21,46,3,35,67,95,53,72,58,10,26,34,90,33,38,20,56,2,47,15]
x 和 y 轴的这些值将导致线性回归的拟合度非常差:
在下面的例子中,我们注册了 18 辆经过特定收费站的汽车。
我们已经记录了汽车的速度和通过时间(小时)。
import matplotlib.pyplot as plt
x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22]
y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100]
plt.scatter(x, y)
plt.show()
多项式回归
import numpy
import matplotlib.pyplot as plt
x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22]
y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100]
mymodel = numpy.poly1d(numpy.polyfit(x, y, 3))
myline = numpy.linspace(1, 22, 100)
plt.scatter(x, y)
plt.plot(myline, mymodel(myline))
plt.show()
那怎么判断是否适合线性回归还是多项式回归呢?
拟合度
#线性回归拟合度
import numpy
from scipy import stats
x = [89,43,36,36,95,10,66,34,38,20,26,29,48,64,6,5,36,66,72,40]
y = [21,46,3,35,67,95,53,72,58,10,26,34,90,33,38,20,56,2,47,15]
slope, intercept, r, p, std_err = stats.linregress(x, y)
print(r)
#多项式回归拟合度
import numpy
from sklearn.metrics import r2_score
x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22]
y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100]
mymodel = numpy.poly1d(numpy.polyfit(x, y, 3))
print(r2_score(y, mymodel(x)))
【Python】数据分析——直方图、散点图、线性回归、多项式回归、拟合度相关推荐
- python计算营业额代码_[Python]通过n次多项式线性回归计算拟合度估算销售额
本文基于Python3+ 缘由是看到微博上某程序员通过计算拟合度估算出某猫2019双十一的销售额,与现实结果相差无几,本着试一试的态度,也想复现一下结果,而且预测下2020/2021的销售额 直接的线 ...
- R语言进行线性回归的拟合度
R语言进行线性回归的拟合度. 本文只是使用 R做回归计算,查看拟合度等,不讨论 R 函数的内部公式 在R中线性回归分析的函数是lm(),基本语法是 一元回归: lm(y ~ x,data) 多元回归: ...
- Python数据分析与挖掘——线性回归预测模型
线性回归模型属于经典的统计学模型,该模型的应用场景是根据已 知的变量(自变量)来预测某个连续的数值变量(因变量).例如,餐 厅根据每天的营业数据(包括菜谱价格.就餐人数.预定人数.特价菜 折扣等)预测 ...
- 彩民看过来,看老程序员如何用Python数据分析双色球基于线性回归算法预测下期中奖结果示例
@本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 本文实例讲述了Python数据分析之双色球基于线性回归算法预测下期中奖结果.分享给大家供大家参考,具体如下: 前面讲述了关于双色球 ...
- Python数据分析之一元线性回归
问题 制作一元材积表,不懂林学的可能不知道,如图,也就是构造材积和胸径间的关系,这里采用了python的一元线性回归方法(本人用spss做了幂函数非线性回归,效果最好). Python方差分析 导入库 ...
- python数据分析-matplotlib散点图-条形图的绘制以及完整方法归纳02
matplotlib的基本使用02 一.散点图的绘制 二.散点图绘图步骤及案例解析 1.导入模块 2.设置散点图所有字符的字体样式 3.编写主体代码 4.主题代码解析 5.图形展示 三.条形图的绘制 ...
- Python数据分析与挖掘——回归模型的诊断
当回归模型构建好之后,并不意味着建模过程的结束,还需要进一步对模型进行诊断,目的就是使诊断后的模型更加健壮.统计学家在发明线性回归模型的时候就提出了一些假设前提,只有在满足这些假设前提的情况下,所得的 ...
- Python实现多项式回归实战——以及与线性回归的拟合效果对比
对于给出的 数据做出散点图,可以大致看出模型是否适合做线性回归,但是,线性回归一定是拟合最好的模型吗?答案是否定的.有时候,多项式回归会得出拟合效果更好的模型,但是也需要注意过拟合的线性. 下面,还是 ...
- Python 数据分析三剑客之 Matplotlib(六):直方图 / 柱状图 / 条形图的绘制
CSDN 课程推荐:<Python 数据分析与挖掘>,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务.曾与联想.亨氏.网 ...
最新文章
- 广西区计算机一级考试操作题,全国高校计算机等级考试(广西考区)一级笔试试题卷.doc...
- Flutter混合开发:Android中如何启动Flutter
- 408计算机组成原理有汇编吗,2021考研408计算机组成原理习题:计算机系统概述
- 从大学到结婚,我和小云的这13年
- vscode中如何创新建php文件,vscode如何创建代码模板
- HTTP MIME 类型
- 总结 图(有向图、无向图、权、度、存储结构、邻接矩阵、领接表 概念)
- 安装redis 5.0.5版本 真香警告
- 车辆纵向mpc控制器
- HTML5 Canvas 画钟表
- 微软应用商店Ubuntu 20.04 LTS打开0x8007019e错误解决
- 计算机等级考试四级网络工程师真题,计算机等级考试四级网络工程师试题
- QPS、TPS、吞吐量含义
- 广告系统,业务与架构细节
- phpmywind 常用函数 整理中……
- 在docker中出现的僵尸进程怎么处理
- oracle rollup 合计,oracle中关于分组合计函数rollup使用
- 使用Python出现的错误和解决方法
- Android10.0 MTK 平台 Launcher3 修改定制
- 35岁孩子妈,2年时间彻底从互联网转型到新行业,再也不担心年龄歧视!
热门文章
- Docker网络、容器编排
- 对象布局(JOL)、分配过程以及访问定位
- CCO2017 Vera and Trail Building 构造+图论
- 天文学 python_4个天文学入门Python工具
- 计算机视觉技术英语论文,计算机视觉技术论文(2)
- 2021蓝桥杯B组 第I题杨辉三角形
- 长安二中计算机学院,最新!第一波中考录取分数线出炉!长安区12所高中录取分数线正式公布!...
- 法线向量如何归一化(Normalize)
- xstart下远程报错已拒绝X11转移申请的解决方法
- python识别电脑图像_计算机屏幕图像识别