一种在数据集中选择最佳聚类数的定量方法。
curve-method的Python项目详细描述
曲率法
一种在数据集中选择最佳聚类数的定量方法。在
目录
简介
聚类是无监督机器学习的一个重要领域。在许多方面 聚类算法中,所需的聚类数是 参数。选择数据集的真实集群号k可以 但是,随着模型精度随着簇的增加而增加,这是一个挑战 过高的k值会导致过度拟合,并导致模型的意义降低。 因为k的值对聚类结果有显著影响, 仔细挑选是很重要的。在
选择真实簇号的最常见方法是 “肘部方法”,包括手动选择沿 似乎包含最锐角的求值图。有 这种方法有几个问题,因为它是经验性的,需要直接 干预。此外,评估图的轴往往位于 明显不同的尺度,这使得很难识别 视觉上最佳的k值。相比之下,曲率法是最近才出现的 定量地找到最佳k值[1]的方法。这个 该方法可以应用于广泛的聚类应用中 使学习过程与人为干预脱钩。在
安装
可以使用pip安装此项目:
pip install curve-method
示例
首先,获取一个作为2dnumpy数组的数据集。在这些示例中,我们使用
^来自Scikit的{
评估
要查看每个k值的曲率指数,直到指定的最大值,
使用curve_scores()
函数。在
fromcurve_methodimportcurve_scorescurve_scores(X,k_max=10)
或者,要获得具有最大曲率的k值,请使用true_k()
功能。在
fromcurve_methodimporttrue_ktrue_k(X,k_max=10)
绘制
要从曲率方法查看求值图,请使用
scatter()
函数。如果需要,可以通过
正在设置line=True
。在
fromcurve_methodimportscatterscatter(X,k_max=12,line=False)
或者,使用polyfit()函数生成求值
多项式逼近图。多项式的次数n
可以通过设置deg=n
来指定。在
fromcurve_methodimportpolyfitpolyfit(X,k_max=12,deg=3)
依赖关系
- NumPy公司
- Matplotlib库
- Scikit学习
参考文献
[1] Zhang,Y.,Maèdziuk,J.,Quek,C.H.和Goh,B.W.,2017年。 基于曲率的簇数确定方法。 信息科学,415,第414-428页。在
许可证
这个项目是根据麻省理工学院的许可条款授权的。在
- 项目
标签: