sklearn中聚类算法有两种表现形式,一种是类,需要实例化,然后训练并调动接口,另一种是函数,输入特征矩阵和超参数就可得到结果。
k-means 聚类算法的典型代表
将一组n个样本的特征矩阵X划分为K个无交集的簇,直观上来看簇是一组聚集的数据,在一个簇中的数据认为同一类。
簇中所有数据的均值被称为这个簇的质心。
簇的个数K是一个超参数,需要人为输入来确定,kmeans的核心人物就是根据我们设定好的K找出K个最优质心,并将离这些质心最近的数据分别分配到这些质心代表的簇中。
簇内差异:样本点到其所在簇的质心的距离
簇内平方和 整体平方和,越小表示聚类效果越好,kmeans求解过程为一个最优化问题
可以把这个看做是kmeans的损失函数,但并不严谨,更像模型评估指标
sklearn中只能使用欧氏距离 曼哈顿距离和余弦距离不能用
kmeans算法时间复杂度,最快的聚类算法
计算成本很大 时间复杂度很大
sklearn.cluster.KMeans
重要参数n_clusters 是参数K,模型要分为几个簇 唯一的必填参数
有随机性参数 random_state=0
属性labels_ 查看聚好的类别,每