文本聚类kmeans

最近做一些文本挖掘的项目,其中用到了文本聚类相关算法,比如kmeans.

就kmeans算法做一些简单记录.

Kmeans是一种非常常见的聚类算法,

算法的核心思想非常简单.

1.给定K个类别,选取K个中心点

2.对于任意其他数据,计算他与这K个中心点的距离,选取距离最近的那个中心点作为该点的类别.

3.重新计算中心点,用同一类别的所有点的均值作为新的中心点,

4.重复步骤2,直到新的中心点与旧的中心点的距离再某个设定阈值内即可.

 

kmeans的几个关键问题:

1.首先K值如何选取,我一般是画图,通过PCA或TSNE,umap等降维算法,将数据降维到2维平面,然后看数据分布,进行K值选取.

2,中心点怎么选,基本都是随机选取,但是要多随机几次,防止选取到某些异常的离群点.然后根据聚类出的结果,再降维数据看看聚类结果.

3.距离一般采用欧氏距离.也有一些其他距离.

4.新的中心点,一般采用算术平均值作为均值化的方法.

 

Kmeans实战代码

from sklearn.cluster import KMeans

#建模

kmeans_model = KMeans(n_clusters=5)
s = kmeans_model .fit(train_data)

#打印每个类的中心点

print(clf.cluster_centers_)

#打印每个样本所属的类别
print(clf.labels_)

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值