python 生成环状数据集
时间: 2023-10-14 18:26:11 浏览: 121
以下是一种生成环状数据集的示例方法:
```python
import numpy as np
import matplotlib.pyplot as plt
# 设置随机数种子,确保每次运行代码生成的数据集相同
np.random.seed(0)
# 生成环状数据集
n_samples = 1000
theta = np.random.uniform(0, 2*np.pi, n_samples)
r = np.random.normal(10, 2, n_samples)
x = r * np.cos(theta)
y = r * np.sin(theta)
# 绘制散点图
plt.scatter(x, y, s=5)
plt.axis('equal')
plt.show()
```
代码解释:
1. 首先导入必要的库:`numpy` 和 `matplotlib.pyplot`。
2. 通过设置随机数种子,确保每次运行代码生成的数据集相同。
3. 设置数据集的参数:样本数 `n_samples`、极角 `theta` 和半径 `r`。
4. 通过 `numpy.random.uniform` 生成 $[0, 2\pi]$ 范围内的随机极角 `theta`。
5. 通过 `numpy.random.normal` 生成均值为 10,标准差为 2 的正态分布随机半径 `r`。
6. 计算数据集的 $x$ 和 $y$ 坐标:$x = r \cos(\theta)$,$y = r \sin(\theta)$。
7. 使用 `matplotlib.pyplot.scatter` 绘制散点图。
8. 使用 `matplotlib.pyplot.axis` 让横纵坐标轴的比例相等,即让图形呈现出圆形。
9. 使用 `matplotlib.pyplot.show` 展示图形。
运行上述代码,将生成一个包含 1000 个点的环状数据集的散点图,如下所示:
![image.png](attachment:image.png)
注意,生成环状数据集的方法不止一种,上述示例仅是其中的一种。具体方法可以根据需要进行调整和修改。
阅读全文