目录

  • 绘制直方图
  • 绘制散点图
  • 线性回归
  • 多项式回归
  • 拟合度

数据分析就是在一大批杂乱无章的数据中,运用数字化工具和技术,探索数据内在的结构和规律,构建数学模型,并进行可视化表达,通过验证将模型转化为知识,为诊断过去、预测未来发挥作用。

一个数据库的例子:

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】数据分析——直方图、散点图、线性回归、多项式回归、拟合度相关推荐

  1. python计算营业额代码_[Python]通过n次多项式线性回归计算拟合度估算销售额

    本文基于Python3+ 缘由是看到微博上某程序员通过计算拟合度估算出某猫2019双十一的销售额,与现实结果相差无几,本着试一试的态度,也想复现一下结果,而且预测下2020/2021的销售额 直接的线 ...

  2. R语言进行线性回归的拟合度

    R语言进行线性回归的拟合度. 本文只是使用 R做回归计算,查看拟合度等,不讨论 R 函数的内部公式 在R中线性回归分析的函数是lm(),基本语法是 一元回归: lm(y ~ x,data) 多元回归: ...

  3. Python数据分析与挖掘——线性回归预测模型

    线性回归模型属于经典的统计学模型,该模型的应用场景是根据已 知的变量(自变量)来预测某个连续的数值变量(因变量).例如,餐 厅根据每天的营业数据(包括菜谱价格.就餐人数.预定人数.特价菜 折扣等)预测 ...

  4. 彩民看过来,看老程序员如何用Python数据分析双色球基于线性回归算法预测下期中奖结果示例

    @本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 本文实例讲述了Python数据分析之双色球基于线性回归算法预测下期中奖结果.分享给大家供大家参考,具体如下: 前面讲述了关于双色球 ...

  5. Python数据分析之一元线性回归

    问题 制作一元材积表,不懂林学的可能不知道,如图,也就是构造材积和胸径间的关系,这里采用了python的一元线性回归方法(本人用spss做了幂函数非线性回归,效果最好). Python方差分析 导入库 ...

  6. python数据分析-matplotlib散点图-条形图的绘制以及完整方法归纳02

    matplotlib的基本使用02 一.散点图的绘制 二.散点图绘图步骤及案例解析 1.导入模块 2.设置散点图所有字符的字体样式 3.编写主体代码 4.主题代码解析 5.图形展示 三.条形图的绘制 ...

  7. Python数据分析与挖掘——回归模型的诊断

    当回归模型构建好之后,并不意味着建模过程的结束,还需要进一步对模型进行诊断,目的就是使诊断后的模型更加健壮.统计学家在发明线性回归模型的时候就提出了一些假设前提,只有在满足这些假设前提的情况下,所得的 ...

  8. Python实现多项式回归实战——以及与线性回归的拟合效果对比

    对于给出的 数据做出散点图,可以大致看出模型是否适合做线性回归,但是,线性回归一定是拟合最好的模型吗?答案是否定的.有时候,多项式回归会得出拟合效果更好的模型,但是也需要注意过拟合的线性. 下面,还是 ...

  9. Python 数据分析三剑客之 Matplotlib(六):直方图 / 柱状图 / 条形图的绘制

    CSDN 课程推荐:<Python 数据分析与挖掘>,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务.曾与联想.亨氏.网 ...

最新文章

  1. 广西区计算机一级考试操作题,全国高校计算机等级考试(广西考区)一级笔试试题卷.doc...
  2. Flutter混合开发:Android中如何启动Flutter
  3. 408计算机组成原理有汇编吗,2021考研408计算机组成原理习题:计算机系统概述
  4. 从大学到结婚,我和小云的这13年
  5. vscode中如何创新建php文件,vscode如何创建代码模板
  6. HTTP MIME 类型
  7. 总结 图(有向图、无向图、权、度、存储结构、邻接矩阵、领接表 概念)
  8. 安装redis 5.0.5版本 真香警告
  9. 车辆纵向mpc控制器
  10. HTML5 Canvas 画钟表
  11. 微软应用商店Ubuntu 20.04 LTS打开0x8007019e错误解决
  12. 计算机等级考试四级网络工程师真题,计算机等级考试四级网络工程师试题
  13. QPS、TPS、吞吐量含义
  14. 广告系统,业务与架构细节
  15. phpmywind 常用函数 整理中……
  16. 在docker中出现的僵尸进程怎么处理
  17. oracle rollup 合计,oracle中关于分组合计函数rollup使用
  18. 使用Python出现的错误和解决方法
  19. Android10.0 MTK 平台 Launcher3 修改定制
  20. 35岁孩子妈,2年时间彻底从互联网转型到新行业,再也不担心年龄歧视!

热门文章

  1. Docker网络、容器编排
  2. 对象布局(JOL)、分配过程以及访问定位
  3. CCO2017 Vera and Trail Building 构造+图论
  4. 天文学 python_4个天文学入门Python工具
  5. 计算机视觉技术英语论文,计算机视觉技术论文(2)
  6. 2021蓝桥杯B组 第I题杨辉三角形
  7. 长安二中计算机学院,最新!第一波中考录取分数线出炉!长安区12所高中录取分数线正式公布!...
  8. 法线向量如何归一化(Normalize)
  9. xstart下远程报错已拒绝X11转移申请的解决方法
  10. python识别电脑图像_计算机屏幕图像识别