数据: 随机生成10000个两个特征的样本,标记为0,1,2三类,聚类中心设置为center=[[1,1],[-1,-1],[1,-1]],随机数据可视化如图所示。 任务: 1.生成样本 2.绘制散点
时间: 2024-12-10 10:42:54 浏览: 14
为了生成这样的数据集并进行可视化,我们可以按照以下步骤操作:
1. **生成样本**:
使用Python中的`numpy`库生成随机数据。我们将创建一个10000行2列的数据矩阵,其中每行代表一个样本,每个列代表一个特征。然后,我们根据给定的类别标签(0, 1, 2)分配样本到三个聚类中心。
```python
import numpy as np
# 定义聚类中心
centers = [[1, 1], [-1, -1], [1, -1]]
# 生成随机数据
num_samples = 10000
features_per_sample = 2
labels = np.random.randint(0, len(centers), size=num_samples)
data = np.zeros((num_samples, features_per_sample))
for i in range(num_samples):
data[i] = centers[labels[i]] + np.random.randn(features_per_sample) * 0.5
# 将标签转换为one-hot编码,如果需要
if len(np.unique(labels)) > 3:
labels = pd.get_dummies(labels).values
```
2. **绘制散点图**:
我们可以使用matplotlib库来创建散点图,将样本按类别分别绘制,并用不同颜色表示各聚类。
```python
import matplotlib.pyplot as plt
plt.scatter(data[:, 0], data[:, 1], c=labels, cmap='viridis')
plt.title('Randomly Generated Data with Three Clusters')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.show()
```
阅读全文