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

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 轴上的分布更宽。