高斯分布产生两二维数据点,将数据分成训练集,验证集,训练集用于对参数的训练,验证集用于对不同模型的选择。 python
时间: 2024-05-04 18:20:37 浏览: 13
下面是一个示例代码,其中使用numpy库生成高斯分布的二维数据点,并将数据集分成训练集和验证集:
```python
import numpy as np
# 生成高斯分布的二维数据点
mean1 = [0, 0] # 第一个高斯分布的均值
cov1 = [[1, 0], [0, 1]] # 第一个高斯分布的协方差矩阵
data1 = np.random.multivariate_normal(mean1, cov1, 1000) # 生成1000个数据点
mean2 = [3, 3] # 第二个高斯分布的均值
cov2 = [[2, 0], [0, 2]] # 第二个高斯分布的协方差矩阵
data2 = np.random.multivariate_normal(mean2, cov2, 1000) # 生成1000个数据点
# 将数据集分成训练集和验证集
train_ratio = 0.8
train_size1 = int(train_ratio * data1.shape[0])
train_size2 = int(train_ratio * data2.shape[0])
train_data = np.concatenate((data1[:train_size1], data2[:train_size2]))
train_labels = np.concatenate((np.zeros(train_size1), np.ones(train_size2)))
val_data = np.concatenate((data1[train_size1:], data2[train_size2:]))
val_labels = np.concatenate((np.zeros(data1.shape[0]-train_size1), np.ones(data2.shape[0]-train_size2)))
```
上述代码生成了两个二维高斯分布的数据点,每个分布包含1000个数据点。然后将数据集分成了训练集和验证集,其中训练集占80%。最终得到了train_data、train_labels、val_data、val_labels四个变量,分别表示训练集的数据、标签,验证集的数据、标签。这些数据可以用于训练和验证模型。