数据挖掘 K-Medoid聚类实现实例

本文介绍了K-Medoids聚类方法在数据挖掘中的应用,特别是针对waveform数据和图像分割。文章指出K-Medoids在处理噪声和孤立点时比k-means更健壮,但不适合大数据集。文中提供了添加高斯噪声的代码示例,并展示了图像分割的过程及效果,分析了分割失败的原因和改进方案,包括手动选择初始质心以提升分割质量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接着上一篇内容来讲,本次要实现K-Medoide聚类方法对waveform数据以及图像的分割。

K-Medoide聚类方法原理可参照 https://blog.youkuaiyun.com/qq_36076233/article/details/72991055

简而言之,K-Medoide就是将K-means求平均的方式替换成将各簇中所有点依次作为中心点对该簇所有点求距离之和进行遍历,最终距离之和最小的作为新的中心点即可。

优点:当存在噪音和孤立点时, PAM 比 k-平均方法更健壮。 这是因为中心点不象平均值那么容易被极端数据影响。

缺点:PAM对于小数据集工作得很好, 但不能很好地用于大数据集,每次迭代O(k(n-k)2 ),其中 n 是数据对象数目, k 是聚类数。

下面又进入代码环节:

import random 
import pandas as pd
import numpy as np
import tool

#设置精度小数点后两位
np.set_printoptions(precision=2)

#读取文件
df=pd.read_csv("waveform.data",header = None)

#增加20%的高斯噪声
for x in range(5000*22*0.2):
	i = random.randint(0,21)
	j = random.randint(0,4999)
	df[i][j] += random.gauss(0,0.5)  #均值维0,方差为0.5的高斯噪声


#随机选择三个中心
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值