K-Means聚类分析

K-Means是一种基于原型的聚类分析方法,用于将数据分为指定数量的簇。算法主要思想简单,但对数据类型有一定限制,如非球形簇和不同密度簇。文章通过实例展示了K-Means在处理不同情况下的聚类效果。
摘要由CSDN通过智能技术生成

K-Means聚类分析

概述

聚类分析是在数据中发现数据对象之间的关系,将数据进行分组,组内的相似性越大,组间的差别越大,则聚类效果越好。

聚类旨在发现有用的对象簇,在现实中我们用到很多的簇的类型,使用不同的簇类型划分数据的结果是不同的,关于更多的簇介绍参考《数据挖掘导论》。

K-Means是基于原型的、划分的距离技术,它试图发现用户指定个数的簇。

K-Means算法

算法思想较为简单:

选择K个点作为初始质心  
repeat  
    将每个点指派到距离其最近的质心  
    重新计算簇的质心  
until 簇不发生变化或达到最大迭代次数 
k均值算法非常简单且使用广泛,但是其有主要的两个缺陷: 
1. K值需要预先给定,属于预先知识,很多情况下K值的估计是非常困难的。 
2. K-Means算法对初始选取的聚类中心点是敏感的,不同的随机种子点得到的聚类结果完全不同 

3. K均值算法并不是很所有的数据类型。它不能处理非球形簇、不同尺寸和不同密度的簇。

K-Means算法实验示例

import numpy as np
import matplotlib.pyplot as plt

from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs

plt.figure(figsize=(12, 12))
n_samples = 1500
random_state = 170

X,Y = make_blobs(n_samp
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值