写程序产生2维空间的样本点。第一类样本服从均值μ_1=[3,6]^T,协方差矩阵为Σ_1=[■(1/2&0@0&2)],第二类样本服从均值μ_1=[3,-2]^T,协方差矩阵为Σ_1=[■(2&0@0&2)],两类的先验概率相等,并画出散布图
时间: 2024-04-30 22:23:50 浏览: 140
em实现二维样本点分类
以下是Python代码实现:
```python
import numpy as np
# 定义第一类样本的均值和协方差矩阵
mu1 = np.array([3, 6]).reshape(-1, 1)
sigma1 = np.array([[0.5, 0.3], [0.3, 1]])
# 生成第一类样本
sample1 = np.random.multivariate_normal(mu1.flatten(), sigma1, size=100)
# 定义第二类样本的均值和协方差矩阵
mu2 = np.array([8, 4]).reshape(-1, 1)
sigma2 = np.array([[1, -0.4], [-0.4, 0.5]])
# 生成第二类样本
sample2 = np.random.multivariate_normal(mu2.flatten(), sigma2, size=100)
# 将两类样本合并
samples = np.vstack((sample1, sample2))
# 打印生成的样本点
print(samples)
```
其中,使用`numpy.random.multivariate_normal()`函数生成多维高斯分布的样本点。函数的三个参数分别为均值、协方差矩阵和样本个数。最后将两类样本合并成一个矩阵返回。
阅读全文