写程序产生2 维空间的样本点。第一类样本服从均值μ1 = [3,6]𝑇 ,协方差矩阵为"Σ1=" [■("1" ⁄"2" &"0" @"0" &"2" )],第二类样本服从均值μ2 = [3, −2]𝑇,协方差矩阵为"Σ2=" [■("2" &"0" @"0" &"2" )],两类的先验概率相等,并画出散布图; 2. 根据生成的训练样本,使用非参数估计方法估计数据的类条件概率密度函数
时间: 2023-07-21 08:05:18 浏览: 116
第1次作业1
import numpy as np
import matplotlib.pyplot as plt
# 生成2维样本点
np.random.seed(0)
mu1 = np.array([3, 6])
cov1 = np.array([[1/2, 0], [0, 2]])
class1_samples = np.random.multivariate_normal(mu1, cov1, 100)
mu2 = np.array([3, -2])
cov2 = np.array([[2, 0], [0, 2]])
class2_samples = np.random.multivariate_normal(mu2, cov2, 100)
# 绘制散布图
plt.scatter(class1_samples[:, 0], class1_samples[:, 1], label='Class 1')
plt.scatter(class2_samples[:, 0], class2_samples[:, 1], label='Class 2')
plt.xlabel('X')
plt.ylabel('Y')
plt.legend()
plt.show()
# 使用非参数估计方法估计数据的类条件概率密度函数
class1_density = np.histogramdd(class1_samples, bins=10, density=True)
class2_density = np.histogramdd(class2_samples, bins=10, density=True)
print("Class 1 density estimate:")
print(class1_density[0])
print("Class 2 density estimate:")
print(class2_density[0])
阅读全文