python实现kmeans聚类不使用科学计算包_python 代码实现k-means聚类分析的思路(不使用现成聚类库)...

本文介绍了如何不依赖科学计算包,用Python实现K-means聚类算法。通过设定不同的K值,计算训练集和测试集的损失函数SSE,以图表展示分析结果,最终确定最佳的K值。
摘要由CSDN通过智能技术生成

一、实验目标

1、使用 K-means 模型进行聚类,尝试使用不同的类别个数 K,并分析聚类结果。

​    2、按照 8:2 的比例随机将数据划分为训练集和测试集,至少尝试 3 个不同的 K 值,并画出不同 K 下 的聚类结果,及不同模型在训练集和测试集上的损失。对结果进行讨论,发现能解释数据的最好的 K 值。二、算法原理

首先确定k,随机选择k个初始点之后所有点根据距离质点的距离进行聚类分析,离某一个质点a相较于其他质点最近的点分配到a的类中,根据每一类mean值更新迭代聚类中心,在迭代完成后分别计算训 练集和测试集的损失函数SSE_train、SSE_test,画图进行分析。

229d3670bad5994a39b3ff51313f5acf.png

伪代码如下: num=10 #k的种类

for k in range(1,num):

随机选择k个质点

for i in range(n): #迭代n次

根据点与质点间的距离对于X_train进行聚类

根据mean值迭代更新质点

计算SSE_train

计算SSE_test

画图

算法流程图:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值