- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我需要以编程方式使用 ELKI 来运行 k-medoids 聚类算法。我有一个相似度矩阵,我希望输入到算法中。
是否有任何代码片段可用于如何运行 ELKI 算法?
我基本上需要知道如何创建 Database
和 Relation
对象,创建自定义距离函数,并读取算法输出。
不幸的是,ELKI 教程 (http://elki.dbs.ifi.lmu.de/wiki/Tutorial) 侧重于 GUI 版本和实现新算法,并且试图通过查看 Javadoc 来编写代码令人沮丧。
如果有人知道任何易于使用的 k-medoids 库,这也可能是这个问题的一个很好的答案。
最佳答案
我们非常感谢文档贡献! ( 更新: 我暂时把这篇文章变成了 new ELKI tutorial entry。)
ELKI确实提倡不将其嵌入其他应用程序 Java 出于多种原因。这就是我们推荐使用 MiniGUI(或它构建的命令行)的原因。最好添加自定义代码,例如作为定制 ResultHandler
或仅使用 ResultWriter
并解析生成的文本文件。
如果你真的想把它嵌入你的代码中(在很多情况下它很有用,特别是当你需要多个关系,并且想要相互评估不同的索引结构时),这里是获取一个的基本设置Database
和 Relation
:
// Setup parameters:
ListParameterization params = new ListParameterization();
params.addParameter(FileBasedDatabaseConnection.INPUT_ID, filename);
// Add other parameters for the database here!
// Instantiate the database:
Database db = ClassGenericsUtil.parameterizeOrAbort(
StaticArrayDatabase.class,
params);
// Don't forget this, it will load the actual data...
db.initialize();
Relation<DoubleVector> vectors = db.getRelation(TypeUtil.DOUBLE_VECTOR_FIELD);
Relation<LabelList> labels = db.getRelation(TypeUtil.LABELLIST);
NumberVector<?>
.
#!/bin/bash
for k in $( seq 3 39 ); do
java -jar elki.jar KDDCLIApplication \
-dbc.in whatever \
-algorithm clustering.kmeans.KMedoidsEM \
-kmeans.k $k \
-resulthandler ResultWriter -out.gzip \
-out output/k-$k
done
ResultWriter
.你可能最容易 Hook 这个 API,然后使用 ResultUtil
选择您想要的结果 以您自己喜欢的格式输出 或分析:List<Clustering<? extends Model>> clusterresults =
ResultUtil.getClusteringResults(result);
LabelList
关系。默认解析器会在看到数字属性中的文本时执行此操作,即文件,例如1.0 2.0 3.0 ObjectLabel1
关于java - 在 ELKI 中运行聚类算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15326505/
我尝试从多个 csv 文件中获取数据。我使用 ConcatenateFilesDatabaseConnection 进行数据库 Database getDbFromFiles(List files)
我正在尝试使用 ELKI ( http://elki.dbs.ifi.lmu.de/#GettingELKI:DownloadandCitationPolicy ) 但无法找到 Maven 依赖项。有
我想在 ELKI 中使用 dbscan 算法(而不是在 GUI 上)。请给我一些例子,包括加载数据、运行算法、显示结果? ELKI 的文档没有任何示例。 最佳答案 使用例子在 https://elki
我想绘制聚类结果的树状图。现在我正在使用 ELKI 0.7.5 中的 ElkiBuilder 进行集群。 在最好的情况下,我想直接绘制树状图。 如果不可能,我想从聚类中提取信息(距离)以使用另一个库(
我想使用 ELKI 中的 OPTICS 算法对 100,000 个点进行聚类。对于这个点集,我有一个包含大约 50 亿个条目的上三角距离矩阵。按照ELKI想要的矩阵格式,大约需要100GB的内存。我想
我是新来的,ELKI 也是新来的。这就是我正在尝试做的事情: 我有一个实例列表 MyInstance,其中包含数字和分类变量,例如 {int xpto;字符串客户; int 另一个,...} 我需要针
我正在从事一个研究项目,该项目涉及以可视化方式显示许多聚类结果的结果。我看到集群类总是带有自己的参数化静态类。 是否有可能以某种方式实例化所有带有预定义参数设置的 elki 算法? 非常感谢! 最佳答
我尝试在官方网站 (mouse.csv) 上提供的示例数据集上运行 COPAC ELKI 实现,但我得到一个 NullPointerException,这让我认为我忽略了一些细节(我感到羞耻)。 异常
我正在使用 ELKI 数据挖掘软件进行异常值检测。它有许多异常值检测技术,但都提供相同的结果(所有技术的异常值相同,唯一的区别在于点周围的圆圈大小,如下图所示)。我使用 ELKI 网站上提供的鼠 he
我有一个距离矩阵,我想在对数据进行聚类时使用该距离矩阵。 我已阅读 ELKI 文档,它指出我可以在扩展 AbstractNumberVectorDistanceFunction 类时覆盖 distan
我需要以编程方式使用 ELKI 来运行 k-medoids 聚类算法。我有一个相似度矩阵,我希望输入到算法中。 是否有任何代码片段可用于如何运行 ELKI 算法? 我基本上需要知道如何创建 Datab
这些是报价单http://elki.dbs.ifi.lmu.de/ : "本质上,我们将抽象距离查询绑定(bind)到一个数据库,然后对这个距离进行最近邻搜索。此时,ELKI会自动选择最合适的kNN查
我需要实现一个自定义的 ResultHandler,但我对如何将我的自定义类实际集成到软件包中感到困惑。 我读过这个:http://elki.dbs.ifi.lmu.de/wiki/HowTo/Inv
我正在使用ELKI使用OPTICSXi以分层方式将地理位置数据集聚类。 算法执行的结果是一组文件。 文件的内容可以是: # Cluster: nameOfCluster # OPTICSModel #
我正在使用 ELKI 的 DBSCAN 实现来聚类不同大小的不同数据集(从数百万到数千个观测值),并且由于当我运行该算法时,不同的数据集可能需要相当长的时间,我想知道它是否以某种方式是否可以显示算法的
我是 ELKI 的新手,并且我已经成功调整了我想要运行的算法。我在 3K 坐标上使用它并且速度非常快 - 所以现在我尝试扩展到大约 1 MM 记录。现在我的运行速度为 30K,但已经几个小时了,它仍在
我似乎无法让这个算法在我的数据集上工作,所以我使用了数据的一个非常小的子集并尝试让它工作,但这也不起作用。 我想将预先计算的距离矩阵输入 ELKI,然后让它找到我的点的可达距离列表,但我得到的所有点的
我正在考虑将 PH 树添加到 ELKI。我找不到任何示例教程,而且内部架构目前对我来说还不是很清楚。 您认为将 PH 树添加到 ELKI 是否有意义? 需要付出多少努力? 我能得到一些帮助吗? 像 k
我已经开始使用ELKI进行数据分析,但是一件看似简单的事情我似乎做不到,那就是在运行DBSCAN后将计算出的簇的凸包输出到一个文件中。我可以通过可视化图形用户界面可视化凸包,但无法生成 KML 文件。
我在 ELKI 中使用 OPTICS 实现时遇到问题环境。我在 DBSCAN 实现中使用了相同的数据,它就像一个魅力。可能我错过了一些带有参数的东西,但我无法弄清楚,一切似乎都是正确的。 数据是一个简
我是一名优秀的程序员,十分优秀!