这是学习用keras框架组装神经网络进行学习的第二个台阶,使用softmax函数来进行多分类模型的搭建。
源码下载:https://download.csdn.net/download/rance_king/11010033
- 导入包
import keras
#这是一个用来导入数据集的包
from sklearn import datasets
import matplotlib.pyplot as plt
from keras.models import Sequential
from keras.layers import Dense
from keras.optimizers import Adam
#keras框架中的分类包
from keras.utils.np_utils import to_categorical
- 在坐标系中放置五组点,分别以五个中心进行高斯分布,通过dataset里面的功能对五个点打上0-4的标签,并且将这些点画在坐标系上。
n_pts = 500
centers = [[-1, 1], [-1, -1], [1, -1], [1, 1], [0, 0]]
#dataset.make_*用于取出制造一个数据集,centers是一个二维数组,取出中心来用,cluster_std是离散程度
X, y = datasets.make_blobs(n_samples=n_pts, random_state = 220, centers=centers, cluster_std=0.3)
这里有一个我以前一直没有注意到的问题,就是,datasets里面的每个点的值是如何按照标签被取出来的?X只是一个包含了坐标的矩阵,y只是标签,而X[y==1, 0] 为什么能够取出我希望得到的横坐标呢?这里用的是一个np.array中通过布尔值取值的技巧 y == 1返回了一个布尔数组,筛选了对应标签为1的数(这里依然有疑问,为什么可以这样对应呢?),所以取得了相应的坐标点。
plt.scatter(X[y==0, 0], X