k均值聚类和二分k均值聚类

一、参考《机器学习与实践》

K均值聚类是一种通过距离公式把属性相近对象划分到同一类的算法,此算法对异常点和质心的选取较为敏感。二分k均值聚类是K均值聚类改进(还有一种是K中值聚类),是一种层次聚类方法,以K均值聚类为基础,通过比较和方差得到最好的分法。

K均值聚类步骤

1.得到K个数据范围类的随机质心

2.把数据划分给最近的质心得到K个簇

3.通过每个簇的平均值算出新的质点

4.重复2和3直到不再改变

二分K均值聚类

1.初始化质心和并算出每个点到质心的距离

2.分成两个簇后计算和方差选取最小误差为最好的分配方法

3.重新分配簇和质心

4.重复2和3达到K个类

python代码实现:

import numpy as np
from matplotlib import pyplot as plt
data=np.array( [
        [1.658985, 4.285136],
        [-3.453687, 3.424321],
        [4.838138, -1.151539],
        [-5.379713, -3.362104],
        [0.972564, 2.924086],
        [-3.567919, 1.531611],
        [0.450614, -3.302219],
        [-3.487105, -1.724432],
        [2.668759, 1.594842],
        [-3.156485, 3.191137],
        [3.165506, -3.999838],
        [-2.786837, -3.099354],
        [4.208187, 2.984927],
        [-2.123337, 2.943366],
        [0.704199, -0.479481],
        [-0.392370, -3.963704],
        [2.831667, 1.574018],
        [-0.790153, 3.343144],
        [2.943496, -3.357075],
        [-3.195883, -2.283926],
        [2.336445, 2.875106],
        [-1.786345, 2.554248],
        [2.190101, -1.906020],
        [-3.403367, -2.778288],
        [1.778124, 3.880832],
        [-1.688346, 2.230267],
        [2.592976, -2.054368],
        [-4.007257, -3.207066],
        [2.257734, 3.387564],
        [-2.679011, 0.785119],
        [0.939512, -4.023563],
 
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值