聚类算法实验常用数据集


前言

本文包含了我在实验中使用和收集到的一些非常好(经典聚类算法效果都不大行)的数据集,已经对数据和标签进行了分离,txt格式,直接用,very good!


一、二维人工数据集

包含了简单的流形数据,球形数据,无噪声数据,复杂结构包含噪声的数据集。
在这里插入图片描述

二、UCI真实数据集

包含了10个数据集

DatasetDimensionsClusters
iris43
wine133
control606
segment197
pendigits1610
letter1626
glass106
ionosphere342
optdigits6410
vehicl184

下载地址

下载地址

  • 2
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
K-means聚类算法是一种常用的无监督学习算法,用于将数据集划分为K个簇。下面是一个K-means聚类算法实验分析过程: 1.准备数据集 首先,需要准备一个数据集,该数据集应该包含多个数据点,每个数据点应该有多个特征。例如,可以使用sklearn库中的make_blobs函数生成一个随机数据集。 2.确定簇的数量K 在K-means算法中,需要指定簇的数量K。可以使用肘部法则来确定K的值。肘部法则是通过绘制不同K值下的误差平方和(SSE)与K值的折线图来确定K值的。当K值增加时,SSE会减小,但是减小的速度会变慢。当K值增加到某个值时,SSE的下降速度会急剧减缓,形成一个肘部。这个肘部所对应的K值就是最佳的K值。 3.初始化质心 在K-means算法中,需要随机初始化K个质心。可以使用numpy库中的random函数来随机初始化质心。 4.计算距离并分配数据点 对于每个数据点,需要计算它与每个质心之间的距离,并将该数据点分配到距离最近的质心所在的簇中。 5.重新计算质心 对于每个簇,需要重新计算该簇的质心。可以使用numpy库中的mean函数来计算簇中所有数据点的平均值,从而得到新的质心。 6.重复步骤4和5,直到质心不再改变或达到最大迭代次数 重复执行步骤4和5,直到质心不再改变或达到最大迭代次数。可以设置一个最大迭代次数来避免算法陷入死循环。 下面是一个使用Python实现K-means聚类算法的例子: ```python from sklearn.datasets import make_blobs import numpy as np # 生成随机数据集 X, y = make_blobs(n_samples=100, centers=3, n_features=2, random_state=42) # 初始化质心 k = 3 centroids = X[np.random.choice(X.shape[0], k, replace=False)] # 迭代次数 max_iter = 100 for i in range(max_iter): # 计算距离并分配数据点 distances = np.sqrt(((X - centroids[:, np.newaxis])**2).sum(axis=2)) labels = np.argmin(distances, axis=0) # 重新计算质心 for j in range(k): centroids[j] = X[labels == j].mean(axis=0) # 输出聚类结果 print(labels) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值