全文共684个字,1张图,预计阅读时间6分钟。
K-means原理
K-means算法是输入聚类个数k,以及包含 n个数据对象的数据库,输出满足方差最小标准k个聚类的一种算法。
基本流程:
步骤1:
从n个数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的
(聚类中心所代表的)聚类;
步骤2:
再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);
步骤3:
不断重复这一过程直到标准测度函数开始收敛为止。
一般都采用均方差作为标准测度函数. k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。
算法的时间复杂度上界为O(n*k*t), 其中t是迭代次数。
k-means算法是一种基于样本间相似性度量的间接聚类方法,属于非监督学习方法。此算法以k为参数,把n 个对象分为k个簇,以使簇内具有较高的相似度,而且簇间的相似度较低。
我们使用sklearn库来实现k-means。
中心点的个数从3到80对应的误差值的曲线
10个簇的数据集的个数
10个类的tfidf标签结果
评分
说明
代码大部分来自这篇文章:K-means算法及文本聚类实践,只是没有数据集,然后自己手撕写了个36kr文章的爬虫的程序。φ(>ω
代码地址上传到github:text-cluster
领取专属 10元无门槛券
私享最新 技术干货