聚类算法(KMeans)模型评估方法(SSE、SC)及案例

本文详细介绍了聚类算法,包括K-means、层次聚类、DBSCAN和谱聚类,重点讲解了K-means的实现流程和评估方法如SSE、肘方法和轮廓系数。并通过实际的客户数据分析案例展示了聚类在业务中的应用。

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

一、概述

        将相似的样本自动归到一个类别中,不同的相似度计算方法,会得到不同的聚类结果,常用欧式距离法;聚类算法的目的是在没有先验知识的情况下,自动发现数据集中的内在结构和模式。是无监督学习算法

二、分类

根据聚类颗粒度:细聚类、粗聚类

根据实现方法

        K-means:按照 质心 分类,主要介绍K-means,通用、普遍;

        层次聚类:对数据进行逐层划分,直到达到聚类的类别个数;

        DBSCAN聚类:一种基于 密度 的聚类算法;

        谱聚类:是一种基于 图论 的聚类算法

三、KMeans方法
实现流程

1 、事先确定常数K ,常数K意味着最终的聚类类别数

2、随机选择 K 个样本点作为初始聚类中心

3、计算每个样本到 K 个中心的距离,选择最近的聚类中心点作为标记类别

4、根据每个类别中的样本点,重新计算出新的聚类中心点(平均值),如果计算得出的新中心点与原中心点一样则停止聚类,否则重新进行第 2 步过程,直到聚类中心不再变化

# 导包
from sklearn.cluster import KMeans

sklearn.cluster.KMeans ( n_clusters = 8 )

# 方法
estimator.fit_predict(x)

导包:from sklearn.cluster import KMeans

        sklearn.cluster.KMeans ( n_clusters = 8 )

参数:n_clusters:开始的聚类中心数量(整型,缺省值=8,生成的聚类数,即产生的质心(centroids)数

方法:estimator.fit_predict(x)

评估:silhouette_score(x, y_pred)        # 评估 聚类效果,数值越大越好

案例

1 导包

# 1.导入工具包
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.metrics import silhouette_score  # 计算SC系数

2 创建数据集

# 2.创建数据集 1000个样本,每个样本2个特征 4个质心蔟数据标准差[0.4, 0.2, 0.2, 0.2]
x, y = make_blobs(n_samples=1000, n_features=2, centers=[[-1,-1], [0,0], [1,1], [2,2]],cluster_std = [0.4, 0.2, 0.2, 0.2], random_state=22)
plt.figure()
plt.scatt
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值