机器学习-kmeans

 

1 手写kemeans 

流程:机器学习-kmeans_第1张图片 优点: 容易,缺点: 会收敛到局部最小值,在大规模数据集上收敛慢。

 

手写代码:https://blog.csdn.net/qq_41424519/article/details/81740214

F:\桌面\RNA-seq1\leetcode\10-面试真题\6- 字节跳动-手写kmeans.py

2 k 如何确定:

t-sne可视化和手肘法,k值所决定的是在该聚类算法中,所要分配聚类的簇的多少,kmeans 算法对初始值敏感,相同的k,选的点不同,会影响算法的聚类效果和迭代次数。

1 计算出不同k 下算法的BIC和AIC值,BIC或AIC越小,选择该k 值,

2 使用Canopy 算法进行粗略的聚类,产生的簇的个数作为kmeans 算法的k 值

3 使用X-menas 方法结合BIC 准则取判定簇的个数,也就是k 值。

4 使用轮廓系数来确定,选择是系数较大对应的k 值

5 使用交叉验证来确定目标函数(距中心距离的平方差)变小的k 值

6 用层次聚类,可视化后认为地观察认为聚为几类。

你可能感兴趣的:(机器学习)