我试图从高维数据集中检测稠密子空间。为此,我想使用ELKI库。但是ELKI库的文档和例子很少。在ELKI中使用CLIQUE进行子空间聚类
我尝试了以下事项
Database db=makeSimpleDatabase("D:/sample.csv", 600);
ListParameterization params = new ListParameterization();
params.addParameter(CLIQUE.TAU_ID, "0.1");
params.addParameter(CLIQUE.XSI_ID, 20);
// setup algorithm
CLIQUE<DoubleVector> clique = ClassGenericsUtil.parameterizeOrAbort(CLIQUE.class, params);
// run CLIQUE on database
Clustering<SubspaceModel<DoubleVector>> result = clique.run(db);
for(Cluster<?> cl : result.getToplevelClusters()) {
System.out.println(cl.getIDs());
}
我给下面的输入 -
2,2
2,3
5,2
5,3
8,4
并且结果是-
[2, 1]
[4, 3]
[5]
[3, 1]
[4, 2]
[5]
[1]
[2]
[3]
[4]
[5]
我希望输出作为输入数据点分组到子空间中。 可能是我选错了值或以错误的方式设置参数。
请帮忙。提前致谢。
“did not worked”不是很精确。发生了什么?你期望会发生什么?它在MiniGUI中工作吗?我主要使用MiniGUI。 –
感谢您的回复,并对不准确的问题抱歉。我编辑了这个问题。 –
我从来没有用CLIQUE得到过非常好的结果。我认为它只适用于合成数据。此外,它可能只适用于连续数据,高维数据和更大的数据集。如果我记得正确的话,它的确基于一些维度是均匀噪音的概念。但我不认为这是一种值得尝试的方法 - 它确实从来没有用于我的数据集。 –