K均值聚类(KMeans)、可视化选取最佳K值、通过TSNE进行结果可视化分析、抽取核心特征因子

K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。
k个初始类聚类中心点的选取对聚类结果具有较大的影响,因为在该算法第一步中是随机的选取任意k个对象作为初始聚类的中心,初始地代表一个簇。该算法在每次迭代中对数据集中剩余的每个对象,根据其与各个簇中心的距离将每个对象重新赋给最近的簇。当考察完所有数据对象后,一次迭代运算完成,新的聚类中心被计算出来。如果在一次迭代前后,J的值没有发生变化,说明算法已经收敛。

K均值聚类(KMeans)模型:

sklearn.cluster.KMeans

K均值聚类(KMeans)、可视化选取最佳K值、通过TSNE进行结果可视化分析、抽取核心特征因子_第1张图片

算法过程如下:
1.距离计算
2.随机选取k个初始聚类中心点,有的算法会使用Kmeans++的方式选取合理的初始中心点,促进算法收敛到期望的位置
3.更新簇的中心点
4.迭代下去,直到收敛
sklearn中的简单实例:

from sklearn.cluster import KMeans
import numpy as np
X = np.array([[1, 2], [1, 4], [1, 0],
          

你可能感兴趣的:(数据科学,算法,聚类,可视化,python,机器学习)