kmeans聚类算法

前言

kmeans是一种聚类算法

其简单,易用

在机器学习,数据挖掘领域常常应用

原理

众所周知聚类就是要对一堆杂乱无章的数据进行分类合并

假设我们有数据集dataset,并且将其聚类为k个簇
kmeans聚类算法的思想有如下几步

第一步

首先在数据集随机挑选k个点,分别作为这k个簇的质心

第二步

其余的点根据欧式距离公式,找到离其自身最近的质心
并合并为一类

第三步

现在我们已经初步的到聚类过的样本集合

然后我们取每个样本集合的均值点作为新的质心
重新进行聚类

第四步

各样本点根据新的质心再进行回归

直到样本点分类不再发生改变

算法实现

网上也有很多算法实现
这里我找到一篇比较有效率的代码
下面是该博客地址
https://blog.csdn.net/xufive/article/details/101448969
我在其源代码上增加了一些注释
话不多说直接上代码

import numpy as np
import time
import matplotlib.pyplot as plt


def kmeans(ds, k):
    """
    kmeans聚类算法
    :param ds: 数据集,形式为ndarray(m, n) 即m个样本,每个样本有 n 个属性值
    :par
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值