Python/python ml scatterplot

来自菜鸟教程
跳转至:导航、​搜索

<languages />

机器学习-散点图

散点图

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

文件:Img scatterplot.png

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]


The x 数组代表每辆汽车的年龄。

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

结果:

文件:Img matplotlib scatter.png


散点图解释

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

结果:

文件:Img matplotlib scatter 1000.png


散点图解释

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

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