【机器学习】人像识别(三)——K-Means聚类

本文介绍了K-Means聚类算法在人像识别中的使用,阐述了算法的基本原理,并分享了在实际操作中遇到的质心不变问题及解决方案。通过调整色调较暗图片的灰度值,成功改善了聚类稳定性。

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

简介

  K-Means聚类是一种非监督的聚类方式,原理参看数据挖掘十大算法 | k-means
  

代码

import sys
import random
import numpy as np
from sklearn.decomposition import IncrementalPCA

imgNum = 10 # 几张图片
KNum = 2 # 分成几类
n = 2 # 每张图片都是n×n
dimension = 2016 # 每张图片的维数
dst_dimension = 10 # 想降到的维数
bound = 10 # 前后两次迭代结果之差小于这个时可以停止
maxRecurseTime = 10 # 最多迭代次数
centroids = [] # 存放KNum个质心的n维坐标向量
last_centroids = [] # 上一次递归得到的质心坐标们
ori_dots = [] # 存放每个点的n维坐标向量
dots  = [] # 降维之后的点的坐标
clusters = [] # 存放每个类中有哪些点, clusters[i]中存放的是第i类中的点的下标,第i类的中心是centroids[i]
selected = []

Distance = 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值