生成数据make_circles和make_moons并显示X=400x2,Y={0,1}^400 画图
时间: 2024-09-26 16:12:43 浏览: 44
生成数据通常用于机器学习的数据集构建,比如`make_circles`和`make_moons`这两个函数,在scikit-learn库中常用作示例数据生成工具。它们可以创建二维或三维的数据分布,常用于演示分类任务。
`make_circles`会生成两个相互围绕的圆环数据集,而`make_moons`则产生类似月牙形状的模式,通常包含两个类别的样本点,每个类别代表一个"moon"。
如果你想展示400个样本点分布在二维空间(X=400x2),并且每个样本是一个四维向量(Y={0, 1}^400),即每个样本有四个二进制特征(0或1),你可以这样做:
首先,导入所需的库:
```python
import numpy as np
from sklearn.datasets import make_circles, make_moons
import matplotlib.pyplot as plt
# 生成400个样本,每个样本有两个实际维度,和四个二进制特征
X, y = make_moons(n_samples=400, noise=0.1, random_state=42)
X = X[:, :2] # 取前两个实际维度
Y = (y + 1) // 2 # 将标签转换为0和1,方便可视化
# 绘制数据点
plt.figure(figsize=(8, 6))
plt.scatter(X[:, 0], X[:, 1], c=Y, cmap='viridis')
plt.title('二维数据示例 - Moons')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.grid(True)
plt.show()
```
同样的,如果你想要`make_circles`,只需替换`make_moons`即可。这将显示一个散点图,每个点的颜色表示其对应的类别。
阅读全文