Python 机器学习 散点图(Scatter Plot)

SciPy依赖于Numpy,SciPy包含的功能:最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理、图像处理、常微分方程求解器等,SciPy是高端科学计算工具包,用于数学、科学、工程学等领域。本文主要介绍Python 机器学习 散点图(Scatter Plot)。

1、散点图(Scatter Plot)

散点图是一个图表,其中数据集中的每个值都用点表示。


Matplotlib模块有一种绘制散点图的方法,它需要两个长度相同的数组,一个数组用于x轴的值,一个数组用于y轴的值:

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]

x数组代表每辆汽车的寿命。

y数组代表每辆汽车的速度。

例如:

使用scatter()方法绘制散点图:

import matplotlib.pyplot as plt

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]

plt.scatter(x, y)
plt.show()

 Result:


散点图解释

x轴表示年龄,y轴表示速度。

从图中可以看到,两辆最快的汽车都使用了2年,最慢的汽车使用了12年。

注意:汽车似乎越新,驾驶速度就越快,但这可能是一个巧合,毕竟我们只注册了13辆汽车。

2、随机数据分布

在机器学习中,数据集可以包含成千上万甚至数百万个值。

测试算法时,您可能没有真实的数据,您可能必须使用随机生成的值。

正如我们在上一章中学到的那样,NumPy模块可以帮助我们实现这一目标!

让我们创建两个数组,它们都填充有正常数据分布中的1000个随机数。

第一个数组的平均值设置为5.0,标准差为1.0。

第二个数组的平均值设置为10.0,标准差为2.0:

例如: 

有1000个点的散点图:

import numpy
import matplotlib.pyplot as plt

x = numpy.random.normal(5.0, 1.0, 1000)
y = numpy.random.normal(10.0, 2.0, 1000)

plt.scatter(x, y)
plt.show()

Result:


散点图解释

我们可以看到,点集中在x轴上的值5和y轴上的10周围。

我们还可以看到,在y轴上的扩散比在x轴上的扩散大。

推荐阅读
cjavapy编程之路首页