这段代码是在做什么 if Dataset == -1: X, y = datasets.make_s_curve(3000, random_state=0, noise=0.07) X = np.delete(X, 1, axis=1) # X/=2 X[:, -1] += 1 X[-1, :] -= 1 X3, y = datasets.make_circles(n_samples=(2000, 0), factor=.6, noise=.13) X3 /= 2 X2, y = datasets.make_blobs(n_samples=400, n_features=2, centers=[ [-0.1, 0]], cluster_std=[.05], random_state=2) #X3, y = datasets.make_blobs(n_samples=400, n_features=2, centers=[[0,0]], cluster_std=[[.1]], random_state=10) # #X2, y3=datasets.make_blobs(n_samples=500, centers=2, random_state=0) X = np.concatenate((X, X2, X3)) N = len(X)# number of node # # t=np.zeros(N) X = np.insert(X, 2, np.zeros(N), axis=1) # f = open('x.txt', 'w+') # for i in X: f.write('{0}\t{1}\t{2}\N'.format(i[0],i[1],i[2])) # f.close() else: f =fileNames[Dataset] with open(f, 'r') as file: X = [[float(number) for number in line.strip().rstrip('\t').split('\t')] for line in file.readlines()] X = np.array(X) X[:,2].fill(0)
时间: 2023-12-12 13:05:50 浏览: 84
这段代码是用于生成或者读取数据集的。如果 `Dataset` 的值为 `-1`,那么代码就会生成三个数据集:
- `datasets.make_s_curve(3000, random_state=0, noise=0.07)`:生成一个 S 形曲线的数据集,包含 3000 个样本,随机种子为 0,噪声为 0.07。
- `datasets.make_circles(n_samples=(2000, 0), factor=.6, noise=.13)`:生成一个圆环形的数据集,包含 2000 个样本,其中内圆环和外圆环的比例为 1:1,噪声为 0.13。
- `datasets.make_blobs(n_samples=400, n_features=2, centers=[[-0.1, 0]], cluster_std=[.05], random_state=2)`:生成一个高斯分布的数据集,包含 400 个样本,其中心点为 `[-0.1, 0]`,标准差为 0.05。
然后将这三个数据集拼接在一起,生成一个三维的数据集,并将每个样本的第三个维度填充为 0。
如果 `Dataset` 的值不为 `-1`,那么代码就会读取文件名为 `fileNames[Dataset]` 的文件,并将其解析为一个二维的数据集,然后将每个样本的第三个维度填充为 0。
阅读全文