机器学习 - 散点图
散点图
散点图是一种图表,其中数据集中每个值都用一个点表示。
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 轴更宽。