聚类的k值确定之轮廓系数
发布于 2024-10-27
2047
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
Python学习杂记
扫码关注公众号
扫码阅读
手机扫码阅读
确定聚类簇数的轮廓系数方法概述
在进行聚类分析时,确定最佳聚类簇数(如k-means中的k值)常使用手肘法,但这方法存在主观误差。轮廓系数,由Peter J. Rousseeuw于1986年提出,是一个评价聚类效果的指标,它通过计算内聚度和分离度来评估聚类的k值。
轮廓系数的定义与计算
轮廓系数是用来衡量一个聚类结果的紧密度和分离度,其公式为 s = (b-a)/max(a,b),其中a是簇内不相似度的平均值即内聚度,b是簇间不相似度的平均值即分离度。通过计算每个点的轮廓系数并求平均值,可以得到整个模型的轮廓系数。
轮廓系数的解释
轮廓系数的值介于-1到1之间,值越大表示聚类结果越好。负值表示聚类效果不佳,接近0表示聚类结果不明显,而接近1则表示聚类结果很好。
k-means算法流程
k-means算法包括选择初始质心、将点指派到最近质心形成簇、计算新的聚类中心以及迭代上述步骤直到质心不变。
轮廓系数的计算实践
可以使用sklearn的silhouette_score函数直接计算轮廓系数。通过实例演示,当k值为3时,轮廓系数最大,建议分为3类。此外,也可以手动计算轮廓系数,包括内聚度、分离度和每个点的轮廓系数的计算。
评价和局限性
虽然轮廓系数是一个有用的指标,但它对于凸簇结构的数据效果较好,对于需要使用DBSCAN等算法聚类的非凸簇结构数据效果则不佳。因此,在使用轮廓系数评价不同聚类算法时应注意其局限性。
Python学习杂记
Python学习杂记
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
Python学习杂记的其他文章
Python 中的正反斜杠用法详解
在Python编程中,字符串是一个常用的数据类型,字符串中的斜杠(反斜杠\x5c和正斜杠/)具有特殊的用法和意义。
爬虫写得好,牢饭...哦不,数据少不了!Python 爬虫的“红线”与“金矿”
各位朋友,大家好!最近在技术群里,总有小伙伴问我:“博主,能不能教教怎么爬那个某宝的商品数据?我想做个比价工具。
逻辑回归模型及算法实例
逻辑回归模型在很多领域都有应用,比如:病人是否患病(阴性、阳性)客户未来违约情况(违约、不违约)客户流失预测
FelooPy,一个Python的算法建模集成库介绍
今天要给大家介绍一个解决运筹优化问题的开源库FelooPy 。
谷歌gemma:先进的轻量级开源大模型
2月21日,谷歌宣布正式发布了一款名为Gemma的开源大模型。而令人吃惊的是,这一发布距离谷歌上一次发布大模型Gemini1.5还不到一周时间。
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线