【发布时间】:2015-07-15 16:08:17
【问题描述】:
我正在尝试从高维数据集中检测密集子空间。为此,我想使用 ELKI 库。但是ELKI库的文档和例子很少。
我尝试了以下-
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]
我希望输出为分组到子空间中的输入数据点。 可能是我选择了错误的值或以错误的方式设置了参数。
请帮忙。提前致谢。
【问题讨论】:
-
“没有工作”不是很精确。发生了什么?你期望会发生什么?它在 MiniGUI 中有效吗?我主要使用 MiniGUI。
-
感谢您的回复,抱歉问题不准确。我已经编辑了问题。
-
我在使用 CLIQUE 时从未获得过真正好的结果。我认为它只适用于合成数据。此外,它可能仅适用于连续数据、高维数据和更大的数据集。如果我没记错的话,它实际上是基于某些维度是均匀噪声的概念。但我不认为这是一个值得尝试的方法——它真的从来没有在我的数据集上工作过。
标签: java cluster-analysis elki clique