目录

机器学习 - 散点图


散点图

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

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()

结果:

运行示例 »

散点图解释

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

从图中我们可以看出,最快的两辆汽车都有 2 年的车龄,最慢的汽车有 12 年的车龄。

笔记:似乎车越新,开得越快,但这可能是巧合,毕竟我们只登记了13辆车。



随机数据分布

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

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

正如我们在上一章中了解到的,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()

结果:

运行示例 »

散点图解释

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

我们还可以看到 y 轴上的分布比 x 轴上的分布更宽。