yhlhhhhh -
每日与生物工程斗智斗勇到谢顶
祖源分析
利用k均值聚类算法进行祖源分析
k均值聚类算法(kmeans)是机器学习中无监督学习的一种聚类算法。
原理:
先随机选取K个对象作为初始的聚类中心。然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。一旦全部对象都被分配了,每个聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是以下任何一个:
1)没有(或最小数目)对象被重新分配给不同的聚类。
2)没有(或最小数目)聚类中心再发生变化。
3)误差平方和局部最小。
------
我们以从某处(懂得都懂)获取到的国内人群祖源PCA二维数据为例
首先目前k值我们是未知的,所以我们先以CH系数为衡量聚类效果的标准,CH系数越高聚类效果越好。所以我们先求从3到20的CH系数。
代码:
CH系数可视化:
因为k值越小(也就是分的类别越少)我们分析起来就越方便,所以我们遵从的规则是在保证CH系数的前提下尽量选择小k值。根据可视化结果可以观察出,k=5或许是个较好的选择。
接着上代码:
可视化聚类结果(红色五角星为每一簇的质心)
与原来带标签的散点图对比:
将两图对比我们可大概分析出
质心从左向右分别为:西北地区少数民族、西北地区汉族以及华北地区和少部分西南地区、华中东部、西南以及华东地区、华南地区。
原理:
先随机选取K个对象作为初始的聚类中心。然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。一旦全部对象都被分配了,每个聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是以下任何一个:
1)没有(或最小数目)对象被重新分配给不同的聚类。
2)没有(或最小数目)聚类中心再发生变化。
3)误差平方和局部最小。
------
我们以从某处(懂得都懂)获取到的国内人群祖源PCA二维数据为例
首先目前k值我们是未知的,所以我们先以CH系数为衡量聚类效果的标准,CH系数越高聚类效果越好。所以我们先求从3到20的CH系数。
代码:
CH系数可视化:
因为k值越小(也就是分的类别越少)我们分析起来就越方便,所以我们遵从的规则是在保证CH系数的前提下尽量选择小k值。根据可视化结果可以观察出,k=5或许是个较好的选择。
接着上代码:
可视化聚类结果(红色五角星为每一簇的质心)
与原来带标签的散点图对比:
将两图对比我们可大概分析出
质心从左向右分别为:西北地区少数民族、西北地区汉族以及华北地区和少部分西南地区、华中东部、西南以及华东地区、华南地区。
3 个回复
-3.04E-03,3.42E-04
-1.61E-02,-5.71E-02
1.10E-02,-4.41E-03
-6.22E-03,-6.66E-03
3.39E-03,-9.45E-04
赞同来自:
赞同来自:
赞同来自:
要回复问题请先登录或注册