实验三 聚类算法的使用
- 下面通过实验程序介绍K均值聚类、谱聚类、密度聚类算法的使用,演示程序基于Python的sklearn工具库。
- 注:请还没部署好Python环境,以及没安装sklearn工具的同学先准备好实验环境。
- Pip更新:
Python -m pip install --upgrade pip
- Sklearn安装:
Python -m pip install scikit-learn
- matplotlib安装:
Python -m pip install matplotlib
实验任务:
- 使用三种聚类算法对随机生成的点簇完成聚类,并分析结果
- 使用K均值聚类、密度聚类算法对鸢尾花IRIS数据集进行聚类,并分析结果
- 本次实验演示K均值聚类算法,程序基于sklearn库,对随机生成的3类样本进行聚类,然后显示每个簇的样本及簇中心。
- K均值聚类是一种非监督机器学习算法,只需要输入样本的特征 ,而无需标记。
- K均值聚类首先需要随机初始化K个聚类中心,然后遍历每一个样本,将样本归类到最近的一个聚类中,一个聚类中样本特征值的均值作为这个聚类新的聚类中心,聚类中心的改变,又会改变样本的类别,如此循环往复,直至每一个样本的类别稳定后,也就是聚类中心不再改变时完成。
- sklearn对于所有的机器学习算法有一个一致的接口,一般需要以下几个步骤来进行学习
- 初始化分类器,根据不同的算法,需要给出不同的参数,一般所有的参数都有一个默认值。对于K均值聚类,我们需要给定类别的个数n_cluster,通过先验的知识,我们随机生成的数据集里共有三类样本,于是取3;K均值聚类,是一个循环更新聚类中心以及样本类别的算法,需要设定循环的次数;最后K均值聚类的结果还与初始聚类中心有关,n_init设为10意味着进行10次随机初始化,选择效果最好的一种来作为模型。