我正在尝试使用R中clustMixType包的kproto函数对我的数据运行kprototype聚类算法,但它不起作用 我有1000行和5个变量:只有一行是分类的,其他的已经缩放(当没有缩放时仍然无法工作)
一直说:
估计的lambda:Inf 合并的原型合并。群集数量减少到:3 表(簇)中的错误:所有参数必须具有相同的长度 另外:警告信息: 在kproto.default(inputdata_test,4)中: 所有分类变量的方差均为零。
或者我的分类变量至少有3个属性,数值变量都至少有2个不同的值,并且数据框中没有NaN值。
我的数据有一小部分摘录
答案 0 :(得分:1)
首先,不要在kproto中使用scale function()。但是当你使用k-means时使用它。 其次,将分类特征的字符更改为数字。例如,其他= 1,平板电脑= 2,手机= 3 ......
并且,当我看到您的错误消息时..
所有参数必须具有相同的长度另外
这意味着您的变量数据行是不同的。所以检查你的数据集。
而且,
所有分类变量的方差均为零。
这意味着分类变量在方差方面存在问题。 检查此代码。
lambdaest(df of kproto)
祝你有个愉快的一天。
答案 1 :(得分:0)
kproto也会抛出Error in table(clusters) : all arguments must have the same length
。
我在数据框上使用na.omit
修复此问题。