阅读背景:

神经网络搭建八股

来源:互联网 

一、生成数据集

generator.py

#导入模块,生成模拟数据集
import numpy as np
import matplotlib.pyplot as plt


seed = 2


def generator():
    # 基于seed产生随机数
    rdm = np.random.RandomState(seed)
    # 随机数返回300行2列的矩阵,表示300组坐标点(x0,x1)作为输入数据集
    X = rdm.randn(300, 2)
    # 从X这个300行2列的矩阵中取出一行,判断如果两个坐标平方和小于2,给Yield赋值1,其余赋值0
    # Y_作为输入数据集的标签(正确答案)
    Y_ = [int(x0*x0+x1*x1 < 2) for (x0, x1) in X]
    #  遍历Y中每个元素,1赋值'red',其余赋值'blue',这样便于可视化观察
    Y_c =[['red' if y else 'blue'] for y in Y_]
    # 对数据集X和标签Y进行形状整理,第一个元素为-1表示跟随第二列计算;
    # 第二个元素表示多少列,可见X为两列,Y为1列
    X = np.vstack(X).reshape(-1, 2)
    Y_ = np.vstack(Y_).reshape(-1, 1)
    return X, Y_, Y_c


if __name__ == '__main__':
    X, Y, Y_c = generator()
    X = np.array(X)
    Y = np.array(Y)
    Y_c = np.array(Y_c)
    print("X:", X.shape)
    print("Y:", Y.shape)
    print("Y_c:", Y_c.shape)
    print("show_over")

    # squeeze函数:从数组的形状中删除单维度条目,即把shape中为1的维度去掉
    plt.scatter(X[:, 0], X[:, 1], c=np.squeeze(Y_c))
    plt.show()#导入模块,生成模拟数据集
import n



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: