当前位置: 首页 > 知识库问答 >
问题:

K Means算法中n_clusters的最大值

钦耀
2023-03-14

我有一个包含28000条记录的数据集。数据是一个电子商务商店的菜单项。挑战如下:

多家商店有相似的产品,但名称不同。例如,'HP笔记本电脑1102'存在于不同的商店中,如'HP笔记本电脑1102'、'惠普笔记本电脑1102'、'HP笔记本电脑1102'等许多不同的名称。

我选择将产品列表转换为tfidf向量,并使用KMeans集群将类似的产品分组在一起。我还使用了一些其他功能,如产品类别、子类别等(我有一个热编码的所有分类功能)

现在我的挑战是估计KMeans算法中的最佳n_clusters。由于集群应该发生在产品级别,我假设我需要一个高n_clusters值。n_clusters有上限吗?

此外,任何关于解决方案方法的建议和建议都将非常有用。提前感谢。

共有2个答案

都昊乾
2023-03-14

上限是数据点的数量,但几乎可以肯定的是,集群需要一个稍微低一点的数量来提供任何值。如果你有10000个产品,我认为从实用性的角度来看,5000个集群是一个粗略的最大值。

您可以使用剪影分数和惯性指标来帮助确定集群的最佳数量。

使用每个样本的平均簇内距离(a)和平均最近簇距离(b)计算轮廓系数。样本的轮廓系数为(b-a)/max(a,b)。为了澄清,b是样本与样本不属于的最近簇之间的距离。。。。最佳值为1,最差值为-1。接近0的值表示重叠簇。-从scikit学习文档

惯性是scikit学习中适合的集群对象的属性,而不是单独的评估指标。它是“样本到其最近聚类中心的平方距离之和”。-例如,请参阅scikit learn中的KMeans集群文档。

请注意,惯性随着添加更多簇而增加,因此您可能希望使用弯头图来可视化变化最小的位置。

富凯风
2023-03-14

您正在优化k,因此可以尝试类似于此的方法:如何按距离对地理点列表进行聚类?

对于maxk,你只能拥有和数据点一样多的集群,所以试着用它作为你的上限

 类似资料:
  • 本文向大家介绍kmeans算法原理?相关面试题,主要包含被问及kmeans算法原理?时的应答技巧和注意事项,需要的朋友参考一下 随机初始化中心点范围,计算各个类别的平均值得到新的中心点。 重新计算各个点到中心值的距离划分,再次计算平均值得到新的中心点,直至各个类别数据平均值无变化。

  • 算法介绍 K-Means又名为K均值算法,他是一个聚类算法,这里的K就是聚簇中心的个数,代表数据中存在多少数据簇。K-Means在聚类算法中算是非常简单的一个算法了。有点类似于KNN算法,都用到了距离矢量度量,用欧式距离作为小分类的标准。 算法步骤 (1)、设定数字k,从n个初始数据中随机的设置k个点为聚类中心点。 (2)、针对n个点的每个数据点,遍历计算到k个聚类中心点的距离,最后按照离哪个中心

  • 本文向大家介绍Python实现Kmeans聚类算法,包括了Python实现Kmeans聚类算法的使用技巧和注意事项,需要的朋友参考一下 本节内容:本节内容是根据上学期所上的模式识别课程的作业整理而来,第一道题目是Kmeans聚类算法,数据集是Iris(鸢尾花的数据集),分类数k是3,数据维数是4。 关于聚类     聚类算法是这样的一种算法:给定样本数据Sample,要求将样本Sample中相似的

  • 问题内容: 是否可以做这样的事情 要么 在CSS中? 问题答案: ,和终于可以! 从Firefox 75,Chrome 79和Safari 11.1(除外)开始。 并接受任意数量的参数。 具有语法,等效于。 并且可以嵌套。它们既可以在内部使用,也可以在外部使用,它们还可以包含数学表达式,这意味着您可以避免使用它们。 因此,原始示例可以写成:

  • 本文向大家介绍算法题:股票最大值。相关面试题,主要包含被问及算法题:股票最大值。时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 最大利润无外乎就是计算后面的数字减去前面的数字得到的一个最大的差值; 求总体的最大差值,需要的数据:当前的最小值,当前的最大差值;遍历求解即可。 C++ 代码示例:  

  • 主要内容:Min-Max算法的工作人工智能中的最小最大算法: Mini-max算法是一种递归或回溯算法,用于决策和博弈论。它为玩家提供了一个最佳的动作,假设对手也在玩最佳状态。 Mini-Max算法使用递归来搜索游戏树。 Min-Max算法主要用于AI中的游戏。如Chess,Checkers,tic-tac-toe,go和各种拖车玩家游戏。该算法计算当前状态的最小极大决策。 在该算法中,两个玩家玩游戏,一个叫做MAX,另一个叫做M

  • 我偶然发现了这个问题上的CodurityLessons,这里是描述: 给出了一个由N个整数组成的非空零索引数组A。 一个三元组(X,Y,Z),使得≤ 十、 双切片(X,Y,Z)的和是A[x1]A[x2]的总和。。。A[Y]− 1] A[Y 1]A[Y 2]。。。A[Z]− 1]. 例如,数组A使得: 包含以下双切片示例: 双层(0,3,6),总和为2 6 4 5 = 17, 双层(0,3,7),和

  • 参考资料: http://blog.csdn.net/zouxy09/article/details/8537620 http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.html 我的数据挖掘算法代码实现: https://github.com/linyiqun/DataMiningAlgorithm 介绍 em算法是一种迭代算法