ResultWriter 中的前 n 个异常值
Top n outliers in ResultWriter
我正在处理高维和大型数据集,所以我需要从 ResultWriter
的输出中获取前 N 个离群值。
elki 中有一些选项可以从该输出中获取前 N 个离群值?
ResultWriter
是ELKI中最老的一些代码,需要重写。它相当通用 - 它试图弄清楚如何最好地将输出序列化为文本。
如果您想要某种特定格式或特定子集,正确的方法是编写您自己的 ResultHandler
。有个tutorial for writing a ResultHandler
.
如果要在结果中查找输入坐标,
Database db = ResultUtil.findDatabase(baseResult);
Relation<NumberVector> rel = db.getRelation(TypeUtil.NUMBER_VECTOR_VARIABLE_LENGTH);
将return包含数字向量的第一个关系。
要遍历按离群值排序的对象,请使用:
OrderingResult order = outlierResult.getOrdering();
DBIDs ids = order.order(order.getDBIDs());
for (DBIDIter it = ids.iter(); it.valid(); it.advance()) {
// Output as desired.
}
我正在处理高维和大型数据集,所以我需要从 ResultWriter
的输出中获取前 N 个离群值。
elki 中有一些选项可以从该输出中获取前 N 个离群值?
ResultWriter
是ELKI中最老的一些代码,需要重写。它相当通用 - 它试图弄清楚如何最好地将输出序列化为文本。
如果您想要某种特定格式或特定子集,正确的方法是编写您自己的 ResultHandler
。有个tutorial for writing a ResultHandler
.
如果要在结果中查找输入坐标,
Database db = ResultUtil.findDatabase(baseResult);
Relation<NumberVector> rel = db.getRelation(TypeUtil.NUMBER_VECTOR_VARIABLE_LENGTH);
将return包含数字向量的第一个关系。
要遍历按离群值排序的对象,请使用:
OrderingResult order = outlierResult.getOrdering();
DBIDs ids = order.order(order.getDBIDs());
for (DBIDIter it = ids.iter(); it.valid(); it.advance()) {
// Output as desired.
}