一种在数据集中选择最佳聚类数的定量方法。

curve-method的Python项目详细描述


曲率法

Code QualityBuild StatuscodecovPyPI versionLicense: MIT

一种在数据集中选择最佳聚类数的定量方法。在

目录

简介

聚类是无监督机器学习的一个重要领域。在许多方面 聚类算法中,所需的聚类数是 参数。选择数据集的真实集群号k可以 但是,随着模型精度随着簇的增加而增加,这是一个挑战 过高的k值会导致过度拟合,并导致模型的意义降低。 因为k的值对聚类结果有显著影响, 仔细挑选是很重要的。在

选择真实簇号的最常见方法是 “肘部方法”,包括手动选择沿 似乎包含最锐角的求值图。有 这种方法有几个问题,因为它是经验性的,需要直接 干预。此外,评估图的轴往往位于 明显不同的尺度,这使得很难识别 视觉上最佳的k值。相比之下,曲率法是最近才出现的 定量地找到最佳k[1]的方法。这个 该方法可以应用于广泛的聚类应用中 使学习过程与人为干预脱钩。在

安装

可以使用pip安装此项目:

pip install curve-method

示例

首先,获取一个作为2dnumpy数组的数据集。在这些示例中,我们使用 ^来自Scikit的{}生成器学习模拟真实的数据集。在

^{pr2}$

评估

要查看每个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页。在

许可证

这个项目是根据麻省理工学院的许可条款授权的。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
virtualbox无法从java移动共享文件夹中的文件   java如何连接Android 4.3.5(GA)的apache HttpClient库?   片段中的java Recyclerview未立即显示警报对话框结果   javac(n,r)计算器程序不工作   java使用BooleanQuery还是编写更多索引?   如何在java中设置y/n循环?   java不兼容的通用通配符捕获   java如何在安卓xml中编写数据绑定时的三元操作条件   java如何使用FileDialog?   java如何创建单元测试来检测是否有人使用错误的编码编辑了文件?   java如何从唯一的字符串生成唯一的int?   java gradletomcatplugin:log4j:WARN找不到记录器的附加程序   java我的动态编程解决方案(Kefa和第一步)在codeforces中有什么问题?   java每天更新两个数据库,使它们都包含相同的有效数据集   java如何检查给定的时间是否在时间限制之间   java在单个json POST上保存父级和子级   java如何获取Solr字段类型