我的理解是,用于在二维坐标系上的x,y轴的分区上色比如下面这幅图
xx1, xx2 = np.meshgrid(np.arange(min_x1, max_x1, step), np.arange(min_x2, max_x2, step))
xMat = np.c_[xx1.ravel(), xx2.ravel()]
xMat = np.column_stack((np.ones(((xMat.shape[0]), 1)), xMat))
xMat = np.mat(xMat)
xx1是对x1进行step为0.02步长在[min_x1,max_x1]中取值,xx2同样。
xMat是主要是为了对于我的输入参数Train_xy(94,3),将xx1与xx2ravel()之后按列拼接,之后添加一列1。反正要和你的输入数据格式对应。
之后,将xMat与输入权重进行相乘,作为输入送入softmax分类器中,进行预测。
y = softmax(xMat * w)
predicted = y.argmax(axis=1)
predicted = predicted.reshape(xx1.shape).getA()
plt.pcolormesh(xx1, xx2, predicted, cmap='Accent')
而y就是预测出的类别numpy数组,prediceted是将每个种类提取出来,作为进行分类的依据进行上色。
总的说就是将坐标轴上每一个点都进行上色。