Kmeans

参考了N篇博客和机器学习实战写出来这个。1.关于分类和聚类:共同点是都是对数据进行分类。不同点:分类是事先知道分类数据具有哪些类型(特点、属性),然后对数据进行归类。聚类的已知信息只有数据,然后根据对数据的特点、属性将数据分出类别。2.Kmeans:(1)Kmeans算法原理: 初始条件:给出数据和**指定的K值**,K值是指这些数据需要分出多少类,**这里的类也被叫做簇**。
摘要由CSDN通过智能技术生成
参考了N篇博客和机器学习实战写出来这个。

1.关于分类和聚类:

共同点是都是对数据进行分类。
不同点:
分类是事先知道分类数据具有哪些类型(特点、属性),然后对数据进行归类。
聚类的已知信息只有数据,然后根据对数据的特点、属性将数据分出类别。

2.Kmeans:

(1)Kmeans算法原理:

    初始条件:给出数据和**指定的K值**,K值是指这些数据需要分出多少类,**这里的类也被叫做簇**。
    分类的依据:根据数据之间的相似程度,一般来说是把**数据点之间的距离大小作为数据间的相似程度**。
算法思想:
选择K个点作为初始质心  
repeat  
    将每个点指派到最近的质心,形成K个簇  
    重新计算每个簇的质心  
until 簇不发生变化或达到最大迭代次数

(2)簇的介绍:

这里写图片描述
明显分离的

可以看到(a)中不同组中任意两点之间的距离都大于组内任意两点之间的距离,明显分离的簇不一定是球形的,可以具有任意的形状。

基于原型的

簇是对象的集合,其中每个对象到定义该簇的原型的距离比其他簇的原型距离更近,如(b)所示的原型即为中心点,在一个簇中的数据到其中心点比到另一个簇的中心点更近。这是一种常见的基于中心的簇,最常用的K-Means就是这样的一种簇类型。
这样的簇趋向于球形。

基于密度的

簇是对象的密度区域,(d)所示的是基于密度的簇,当簇不规则或相互盘绕,并且有早上和离群点事,常常使用基于密度的簇定义。

(3)距离类型的介绍:

常见的距离:

这里写图片描述

(4)质心的重新计算:

根据SSE公式来计算质心,全称是误差平方和公式,SSE值越小说明该质心越符合这些数据点的中心。
最后的结果是取所有簇内点的平均值作为新的质点。

这里写图片描述
k表示k个聚类中

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyCharm是一个Python集成开发环境(IDE),而KMeans是一种常用的聚类算法。如果你想在PyCharm中使用KMeans算法,你需要先安装科学计算库,比如NumPy和scikit-learn。 首先,确保你已经安装了PyCharm和Python。然后,打开PyCharm并创建一个新的Python项目。 接下来,你需要安装所需的库。在PyCharm的菜单栏中,选择"File" -> "Settings"。在弹出的窗口中,选择 "Project: [你的项目名字]" -> "Python Interpreter"。点击右上角的加号"+"按钮,搜索并安装NumPy和scikit-learn。安装完成后,关闭设置窗口。 现在,你可以在项目中创建一个新的Python文件,开始编写KMeans代码。首先,导入所需的库: ```python import numpy as np from sklearn.cluster import KMeans ``` 然后,你可以定义你的数据。KMeans算法需要一个样本矩阵作为输入,每一行代表一个样本,每一列代表一个特征。例如: ```python data = np.array([[1, 2], [1.5, 1.8], [5, 8], [8, 8], [1, 0.6], [9, 11]]) ``` 接下来,创建一个KMeans对象,并指定聚类的数量: ```python kmeans = KMeans(n_clusters=2) ``` 然后,使用fit方法对数据进行聚类: ```python kmeans.fit(data) ``` 最后,你可以使用labels_属性获得每个样本的聚类标签,使用cluster_centers_属性获得聚类中心: ```python labels = kmeans.labels_ centers = kmeans.cluster_centers_ ``` 这样,你就可以在PyCharm中使用KMeans算法进行聚类分析了。记得保存和运行你的代码,查看结果。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值