二维坐标的聚类效果直观清晰,鸢尾花数据的特征也挺适合用来练手。用 k-means 算法搞分类,一方面思路简单,另一方面结果还蛮能看出门道。k-means.py 是算法核心,data_preprocess.py 则负责清洗数据、做标准化。用起来不复杂,输出结果也容易验证,蛮适合入门和教学场景。

分类逻辑简单——初始化中心点,不断计算距离、重新分配簇、更新中心,直到收敛。虽然是无监督的算法,但你要是拿它搞有标签的数据(比如鸢尾花),还能顺手做个精度对比。

比较建议你先试二维坐标的聚类,肉眼可见的效果直观,再撸一遍鸢尾花数据集,体验下不同维度和特征缩放带来的影响。记得注意几个点:k 值怎么选(可以试试 Elbow 法)、特征缩放别忘了、异常值最好提前。

初学者也别怕,思路上清晰,代码也不绕人,用个基础版的 sklearn 写都挺快。项目结构也清晰,data 里是数据集,.idea 是开发配置,不用管。哦对了,如果你有点 Python 基础,上手快多了。

如果你最近在找个聚类算法的练手项目,这个例子真的还不错。轻松上手,也能学到不少细节。你可以对照着试试不同的初始化方式,看下结果是不是稳定。