编写生成数据x的代码,x=(x1,x2),x1和x2符合二维三模态的高斯混合模型,
时间: 2023-03-01 18:15:56 浏览: 130
下面是用Python语言编写的生成数据x的代码:
```
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import multivariate_normal
# 定义三模态高斯混合模型的参数
mean1 = np.array([0, 0])
cov1 = np.array([[1, 0], [0, 1]])
mean2 = np.array([5, 5])
cov2 = np.array([[1, 0], [0, 1]])
mean3 = np.array([10, 10])
cov3 = np.array([[1, 0], [0, 1]])
# 生成数据
num_samples = 1000
x1, x2 = np.random.multivariate_normal(mean1, cov1, num_samples).T
x3, x4 = np.random.multivariate_normal(mean2, cov2, num_samples).T
x5, x6 = np.random.multivariate_normal(mean3, cov3, num_samples).T
x = np.concatenate((x1, x3, x5), axis=0)
y = np.concatenate((x2, x4, x6), axis=0)
x = np.column_stack((x, y))
# 可视化数据
plt.scatter(x[:, 0], x[:, 1])
plt.show()
```
上面的代码生成了一个二维的数据x,其中x1和x2符合二维三模态的高斯混合模型。
阅读全文