K-Means算法过程及代码实现,并对结果使用ARI进行评估

本文介绍了K-Means算法的步骤,包括随机选取初始聚类中心,分配数据点,更新聚类中心,直至收敛。通过Python实现并使用了sklearn库的KMeans模型,对UCI手写数字数据集进行聚类,然后用adjusted_rand_score(ARI)评估了聚类效果。
摘要由CSDN通过智能技术生成
'''K-means算法过程及代码实现
1.首先,随机布置K个特征空间内的点作为初始的聚类中心
2.然后,对于根据每个数据的特征向量,从K个聚类中心中寻找距离最近的一个,并且把该数据标记为从属这个聚类中心
3.接着,在所有的数据都被标记过聚类中心之后,根据这些数据新分配的类簇,重新对K个聚类中心做计算
4.如果一轮下来,所有的数据点从属的聚类中心与上一次的分配的类簇没有变化,那么可以迭代停止,否者回到第2步继续循环
'''
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.cluster import KMeans
from sklearn.metrics import adjusted_rand_score


#使用pandas读取网页中的测试数据和训练数据
digits_train = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/optdigits/optdigits.tra',header=None)
digits_test = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/optdigits/optdigits.tes',header=None)
#从训练数据与测试数据集上都分离出64维度的像素特征与1维度的数字目标
X_train =digits_train[np.arange(64)]
y_train =
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值