k均值聚类算法优缺点_六、K-means(均值聚类)

本文介绍了K-means聚类算法的基本概念,包括其工作流程和选择K值的方法。通过实战部分,详细展示了算法的可视化过程以及如何在客户分层问题中应用K-means。

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

de1d260644ae2b8360f635c1979f4837.png

聚类是一种无监督的学习,它将相似的对象归到同一个簇中。它有点像全自动分类。聚类与分类的最大不同在于,分类的目标事先已知,而聚类则不一样。因为其产生的结果与分类相同,而只是类别没有预先定义。聚类方法几乎可以应用于所有对象,簇内的对象越相似,聚类的效果越好。

本章要介绍一种称为K-均值(K-means)聚类的算法。这种算法可以发现k个不同的簇,且每个簇的中心采用簇中所含值的均值计算而成。

1. 基本介绍

K-均值是发现给定数据集的k个簇的算法。簇个数k是用户给定的,每一个簇通过其质心(centroid),即簇中所有点的中心来描述。该算法是循环迭代式的。

1.1 算法的工作流程

  • 初始化:随机选择K个点作为初始中心点,每个点代表一个group
  • 交替更新:计算每个点到所有中心点的距离,把最近的距离记录下来并把group赋给当前点;针对每一个group里的点,计算其平均并作为这个group的新的中心点

1.2 选择K值

首先画出K-means目标函数的图像,找到斜率开始变小所对应的K值。

1e9a09c0db2daee46fe07862d10add8e.png
目标函数

2. 实战

2.1 算法可视化

2.1.1 导入各种包和数据

# 导入相应的包
from copy import deepcopy
import numpy as np
import pandas as pd
from matplotlib import pyplot as plt

# 导入数据
data = pd.read_csv('data.csv')
#打印数据的大小和头五行
print("Input Data and Shape")
print(data.shape)
data.head()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值