栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【机器学习】Python详细实现基于欧式Euclidean、切比雪夫Chebyshew、曼哈顿Manhattan距离的Kmeans聚类

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【机器学习】Python详细实现基于欧式Euclidean、切比雪夫Chebyshew、曼哈顿Manhattan距离的Kmeans聚类

目录
  • 1 算法过程
  • 2 实现
    • 2.1 Python代码
    • 2.2 实验结果

1 算法过程

(1)随机选取K个簇中心点

(2)通过计算每个样本与每个簇中心点的距离,选择距离最小的簇心,将样本归类到该簇心的簇中
m i n ∑ i = 1 K ∑ x ∈ c i d i s t ( c i , x ) 2 minsum_{i=1}^K sum_{xin c_i}dist(c_i,x)^2 mini=1∑K​x∈ci​∑​dist(ci​,x)2

这里距离可以使用欧几里得距离(Euclidean Distance)、余弦距离(Cosine Distance)、切比雪夫距离(Chebyshew Distance)或曼哈顿距离(Manhattan Distance),计算距离之前需要先对特征值进行标准化。

3、在已经初次分配的簇中,计算该簇中所有向量的均值,作为该的簇中心点

4、重复步骤2和3来进行一定数量的迭代,直到簇中心点在迭代之间变化不大

评价指标

轮廓系数(Silhouette Coefficient),是聚类效果好坏的一种评价方式。 轮廓系数的值是介于 [-1,1] ,越趋近于1代表内聚度和分离度都相对较优。

2 实现 2.1 Python代码
# kmeans算法
#  1. 初始化k个族中心
#  2. 计算每个样本与k个族中心距离,标记样本为距离最短的族
#  3. 重新确定K族中心(族中平均位置)
#  4. 循环2-3,直到前后两次所有族中心距离变化 
2.2 实验结果 

(1)曼哈顿距离

轮廓系数:0.7333423486262539

(2)切比雪夫距离

轮廓系数0.7333423486262539

(3)欧式距离

轮廓系数:0.7333423486262539

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/664335.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号