机器学习中数据的可视化是我们必不可少的工具,今天我们来学习matplotlib的基本画图操作。
matplotlib中我们只需要借助matplotlib.pyplot进行数据可视化,首先引入第三方库。
import matplotlib.pyplot as plt
同时为便于选取可视化的数据,我们借助numpy得到数据。
import numpy as np
x = np.linspace(0,10,100)
y = np.sin(x)
代码如下:
plt.plot(x, y)
这里的y是我们在1.2中准备的y=sin(x),所以做出的图为正弦函数的图像。图片如下:
代码如下(示例):
plt.plot(x,siny)
plt.plot(x,cosy)
改变颜色和形状,形状由linestyle更改,读者可在help文档中查阅;颜色直接改为如color="red"即可。
plt.plot(x,siny,plt.plot(x,siny,linestyle = "--")
plt.plot(x,cosy,linestyle=":")
可通过axis纵坐标所属区间。
plt.plot(x,siny)
plt.plot(x,cosy)
plt.axis([-1,11,-2,2])
通过label标签显示横纵坐标名字,title显示标题,legend自动给出图例。
plt.plot(x,siny,label= "sin(x)")
plt.plot(x,cosy,label= "cos(x)")
plt.xlabel("x axis")
plt.ylabel("y value")
plt.legend()
plt.title("Welcome to the ML World!")
同样以上文的数据为例
plt.scatter(x,siny)
散点图各个属性值的更改于连续图没有区别 ,这里要说明一个设置散点图透明度的函数,便于以后使用。
通过plt.scatter(x,y, alpha=0.2)本语句中alpha的值来调节透明度的高低,值一般在0,1之间,读者可更具需求自行更改。
代码如下:
x = np.random.normal(0,1,100)
y = np.random.normal(0,1,100)
plt.scatter(x,y, alpha=0.2)
笔者取alpha值为0.2,由于比较小,故透明度较高,运行结果如下:
虽然数据可视化并不是机器学习的重点内容,但它是机器学习过程中,必不可少的必要工具,希望读者多加练习,不仅仅把matplotlib应用在机器学习领域,还可用于数学建模等做数据的可视化。