ResultWriter中的前n个异常值

时间:2015-03-03 14:47:00

标签: data-mining outliers elki

我正在处理高维和大数据集,因此我需要从ResultWriter的输出中获得前N个异常值。 elki中有一些选项可以从这个输出中获得前N个异常值吗?

1 个答案:

答案 0 :(得分:1)

ResultWriter是ELKI中最古老的代码之一,需要重写。它相当通用 - 它试图弄清楚如何最好地将输出序列化为文本。

如果您想要某种特定格式或特定子集,正确的方法是编写自己的ResultHandler。有tutorial for writing a ResultHandler

如果要在结果中找到输入坐标,

Database db = ResultUtil.findDatabase(baseResult);
Relation<NumberVector> rel = db.getRelation(TypeUtil.NUMBER_VECTOR_VARIABLE_LENGTH);

将返回包含数字向量的第一个关系。

要迭代按其异常值得分排序的对象,请使用:

OrderingResult order = outlierResult.getOrdering();
DBIDs ids = order.order(order.getDBIDs());
for (DBIDIter it = ids.iter(); it.valid(); it.advance()) {
  // Output as desired.
}