"""
# -*- coding: utf-8 -*-
# @Time : 2023/5/24 20:02
# @Author : 王摇摆
# @FileName: Data.py
# @Software: PyCharm
# @Blog :https://blog.csdn.net/weixin_44943389?type=blog
"""
import random
import numpy as np
m = 10000
d = 200
k = 50
trains = np.zeros((m, d))
for i in range(m):
trains[i] = np.array([random.gauss(0, 1) for z in range(d)])
test = np.array([random.gauss(0, 1) for z in range(d)])
print(trains.shape)
print('ANN数据集已生成完毕!')
解释
这段代码是一个Python脚本,用于生成一组训练数据和一个测试数据。下面是对代码的解释:
m = 10000
:设置训练数据集的大小为10000。d = 200
:设置每个数据点的维度为200。k = 50
:设置k的值为50,表示后面可能使用的k最近邻算法中的k值。
接下来是生成训练数据的部分:
trains = np.zeros((m, d))
:创建一个形状为(m, d)
的全零矩阵,用来存储训练数据。m
表示数据点的数量,d
表示每个数据点的维度。for i in range(m):
:遍历训练数据集中的每个数据点。trains[i] = np.array([random.gauss(0, 1) for z in range(d)])
:为每个数据点生成一个长度为d
的一维数组,数组中的每个元素都是从均值为0,标准差为1的正态分布中随机采样得到。
最后,生成一个测试数据:
test = np.array([random.gauss(0, 1) for z in range(d)])
:生成一个长度为d
的一维数组,作为测试数据。该数组的元素同样是从均值为0,标准差为1的正态分布中随机采样得到。
最后一行代码是输出训练数据集的形状:
print(trains.shape)
:打印trains
的形状,即训练数据集的维度信息。这里输出的结果应该是(m, d)
,表示有m个数据点,每个数据点的维度为d。