首页 > 解决方案 > 为线性回归和 k-NN 生成双变量数据

问题描述

我正在阅读“统计学习要素”一书中的线性回归和 k 最近邻生成数据。以下是文中提到的两种情况

请记住,这些是训练数据本身的错误,我们还没有说构造数据的来源。考虑两种可能的情况:

**场景 1:每个类中的训练数据是从具有不相关分量和不同均值的双变量高斯分布生成的。

场景 2:每个类中的训练数据来自 10 个低方差高斯分布的混合,其中各个均值本身分布为高斯分布。**

在此处输入图像描述

我的问题是如何用 python 或 C++ 编写程序来生成以下数据

  1. 上面提到的场景 1。
  2. 上面提到的场景 2。
  3. 如何模拟介于上述两者之间但更接近场景 2 的数据。

感谢您的时间和帮助。这些信息将帮助我尝试理解线性回归和 k-NN。

标签: pythonnormal-distribution

解决方案


对于场景1:可以使用以下代码生成。研究如何为场景 2 生成代码。

mean_blue = [-1, 3]
cov = [[2, 0], [0, 2]]

x_blue_1, x_blue_2 = np.random.multivariate_normal(mean_blue, cov, 50).T

mean_red = [2, 0]
cov = [[2, 0], [0, 2]]

x_red_1, x_red_2 = np.random.multivariate_normal(mean_red, cov, 50).T

plt.scatter(x_blue_1, x_blue_2)
plt.scatter(x_red_1, x_red_2)

推荐阅读