写一个无监督学习,去学习分辨事物的代码
时间: 2024-05-08 14:20:21 浏览: 56
好的,以下是一个简单的无监督学习代码:
```
import numpy as np
# 生成随机数据
data = np.random.rand(100, 2)
# 初始化聚类中心
centers = np.random.rand(3, 2)
# 迭代次数
n_iters = 10
for i in range(n_iters):
# 计算每个数据点与聚类中心的距离
distances = np.sqrt(((data - centers[:, np.newaxis])**2).sum(axis=2))
# 将每个数据点分配给最近的聚类中心
labels = np.argmin(distances, axis=0)
# 更新聚类中心
for j in range(3):
centers[j] = np.mean(data[labels == j], axis=0)
# 打印聚类结果
print(labels)
```
以上代码使用 k-means 聚类算法对随机数据进行聚类。该算法不需要标注数据集,通过迭代计算数据点与聚类中心的距离,以及重新计算聚类中心,最终将数据点分配到不同的聚类簇中,从而实现无监督学习。
阅读全文