降维后的数据保存在iris_pca_self.csv
时间: 2023-09-27 07:04:45 浏览: 98
PCA数据降维
好的,以下是修改后的 Python 代码:
```python
import numpy as np
# 步骤 3.6:读入 PCA 降维后的二维鸢尾花数据集
data = np.loadtxt('iris_pca_self.csv', delimiter=',')
# 步骤 3.7:按 Kmeans 算法描述的过程完成数据集的聚类处理(取 K=2)
K = 2
n_samples, n_features = data.shape
centers = np.zeros((K, n_features))
labels = np.zeros(n_samples)
# 随机初始化聚类中心
for i in range(K):
centers[i] = data[np.random.choice(range(n_samples))]
# 迭代计算聚类中心和样本所属簇编号
for _ in range(100):
for i in range(n_samples):
distances = np.linalg.norm(data[i] - centers, axis=1)
labels[i] = np.argmin(distances)
for j in range(K):
centers[j] = np.mean(data[labels == j], axis=0)
# 输出聚类结果
print('各样本的所属簇编号:', labels.astype(int))
print('各簇的聚类中心向量:', centers)
```
这里将数据集文件名修改为 `iris_pca_self.csv`,并使用逗号作为分隔符读入数据集。然后按照之前的步骤进行 Kmeans 聚类,最后输出聚类结果。
阅读全文