2、我们第一个(极小的)机器学习应用【图形化数据】

接上回

我们已经有了原始数据(x,y)了,在处理这些数据之前先将它们在图上展现出来,这会用到Matplotlib模块。

1、首先,上一节的代码保存到first.py文件中,并且放到同一个工作目录下:

1 import matplotlib.pyplot as plt
2 from first import x,y 

2、将x,y标示在坐标系里面,我一开始就想用plot()函数,试一下:

1 plt.plot(x,y)
2 plt.show()

  出来的像心电图,plot()是将各个点生硬的连接起来,不是我们想要的,还是按照书里面的用离散函数scatter()做成散点图

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

  就是这样,只是蓝点有点大,不是很清晰,改一下:

1 plt.scatter(x,y,s=10)
2 plt.show()

  自己对比一下有什么区别,s表示的是原点的大小size,默认情况下是20(像素)。

3、其实这样就没有问题了,只是光秃秃的不是很正规,试着给图加上标题、XY轴加上标签,以及显示网格。

1 plt.title("Web traffic over the last month")
2 plt.xlabel("Time")
3 plt.ylabel("Hits/hour")
4 plt.grid()

  如图:

4、Y轴上的刻度代表次数,从0~6000没有什么问题,但是X轴的刻度如果以小时为单位就有点太小了,换成以“周”为单位吧。

1 plt.xticks([w*7*24 for w in range(10)],['week %i' % w for w in range(10)])

  一周有7*24个小时,这里给了10周,其实没有必要,因为743个小时也就4.5周的样子,给10周后边的都是空白,好在有自动放缩能够让图像紧凑一点

1 plt.autoscale(tight=True)

以上就将原始数据在图像中展现出来了,接下来的工作就是在此图上画一条特殊的直线。。

《待续....》

原文地址:https://www.cnblogs.com/wffett/p/4682406.html