- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经开始使用ELKI进行数据分析,但是一件看似简单的事情我似乎做不到,那就是在运行DBSCAN后将计算出的簇的凸包输出到一个文件中。我可以通过可视化图形用户界面可视化凸包,但无法生成 KML 文件。我还可以将聚类结果写入文件夹(使用 ResultWriter 结果处理程序),但是当我设置 KMLOutputHandler 时没有生成文件。我在日志窗口中没有收到任何错误消息(即使 verbose 参数设置为 true)。
在 ELKI 中生成 KML 文件有技巧吗?任何人都可以完成执行此操作的步骤吗?
如有任何帮助,我们将不胜感激。
(顺便说一句,是否可以使用 ELKI 为 DBSCAN 结果生成 alpha 形状?如果可以,必须调整哪个参数?)
最佳答案
所以这实际上是一个问题很多...
Cunvex hulls:它们在 ELKI 中用于可视化,但不被视为输出结果的一部分,因此不会保存到文件中。您可以使用的一个技巧是将可视化保存为 SVG 并从此文件中提取它们,但它们将位于不同的坐标系中。
其中一个原因是凸包仅针对 2D 欧几里得空间实现 - 我想你想将它用于空间数据,但由于曲率,它实际上可能不会返回正确的凸包地球表面。此外,许多数据集将具有更高的维度。
不过,您当然可以查看源代码并调用凸包算法,然后将结果写入您喜欢的输出格式。一般来说,就像您需要花时间进行预处理一样,您还需要自定义输出。
这让我想到了第二个问题。 KMLResultHandler
与 ELKI 0.4.0 的发布密切相关:Spatial Outlier Detection: Data, Algorithms, Visualizations。这几乎总结了此类的作用:可视化空间异常值检测。例如,它目前(还)不包括可视化空间数据集群的代码。不幸的是,为了从类中获得输出,您需要确保一些限制。本质上,如果它找到可以相互映射的 Polygon
关系和 OutlierResult
,它会将其输出到 KML。它还不是可以将任意结果写入 KML 的类。它可能也需要更多的文档。更通用的输出工具的贡献将不胜感激;但是可定制的、自动的、通用的 KML 输出真的很难做到。特别是,如果有人不处理纬度-经度数据,但例如,您可能最终还必须包括投影功能。 UTM 投影数据。因此,我建议查看该类的源代码并根据您的需要对其进行自定义。在我看来,KML 可视化始终需要大量自定义。
要生成 alpha 形状(仅外壳,而不是扩展的 alpha 形状 - DBSCAN 的最佳可视化可能只包含核心点的 alpha 形状,扩展半径为 epsilon,然后应该包括边界点。这在愿望 list 上,但未实现),您只需将 -hull.alpha
参数设置为所需的 alpha 值。请注意,这发生在可视化投影中,而不是原始数据中。如果坐标轴的缩放比例不同,则 alpha 形状看起来会有所不同。同样,您可能对在原始数据向量上使用 AlphaShape
类感兴趣,而不是导出投影的可视化效果。然后,您可以轻松地将生成的 Polygon
写入您的自定义可视化。
如果您使用集群的 alpha 形状(或凸包)实现这样的 KML 可视化,如果您能将其贡献给 ELKI 以使其也可供其他人使用,我将不胜感激。谢谢。
关于cluster-analysis - 将簇的 ELKI DBSCAN 凸包写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16536595/
环顾四周,我发现可以将预先计算的距离矩阵传递给 SKLearn DBSCAN .不幸的是,我不知道如何通过它进行计算。 假设我有一个包含 100 个元素的一维数组,其中只有节点的名称。然后我有一个 2
有类似的questions和图书馆,如 ELI5和 LIME .但是我找不到解决我的问题的方法。我有一组文档,我正在尝试使用 scikit-learn 的 DBSCAN 对它们进行聚类。 .首先,我正
是否要求DBSCAN及其索引具有相同的距离函数?如果不是,什么情况下需要使用不同的距离函数? Scala 代码如何创建 DBSCAN 和索引: import de.lmu.ifi.dbs.elki.a
我在scikit-learn中的DBSCAN算法上测试了我的图像集 python 模块。相似度计算还有其他选择: # Compute similarities D = distance.squaref
我正在研究学校关于异常值检测的项目。我想我会创建自己的小数据集并使用 DBSCAN 来处理它。我想我会尝试创建一个关于网站上广告点击是否作弊的数据集。以下是我要创建的数据集的详细信息。 数据集名称:作
我使用方法 dbscan::dbscan 来按位置和密度对数据进行聚类。 我的数据如下所示: str(data) 'data.frame': 4872 obs. of 3 variables: $
使用 DBSCAN, (DBSCAN(eps=epsilon, min_samples=10, algorithm='ball_tree', metric='haversine') 我已经聚集了一个纬
我正在尝试在轨迹数据集上运行 DBSCAN (sklearn.cluster)。数据集是数组(点)的数组(轨迹)的数组 数据集_测试= array([[[46.37017059, 30.954216
我正在尝试在这里实现 DBSCAN 的代码:http://en.wikipedia.org/wiki/DBSCAN 我感到困惑的部分是 expandCluster(P, NeighborPts, C,
我有以下内容: 一个数以千计的数据集 一种计算相似度的方法,但数据点本身我无法在欧几里德空间中绘制它们 我知道 DBSCAN 应该支持自定义距离度量,但我不知道如何使用它。 假设我有一个函数 def
根据我对 DBSCAN 的理解,您可以指定 epsilon,例如 100 米,并且 — 因为 DBSCAN 考虑了密度可达性 而不 direct density-reachability 寻找簇时——
我有一个包含纬度和经度对的数据框。 这是我的数据框的样子。 order_lat order_long 0 19.111841 72.910729 1 19.111342 72
有没有什么工具可以计算出 DBSCAN 算法的 minpts 和 eps 的最优值? 目前我使用sklearn库来应用DBSCAN算法 from sklearn.cluster import DBSC
我已经在 R 中实现了 DBSCAN 算法,并且我正在将集群分配与 fpc library 的 DBSCAN 实现相匹配。 .测试是在 fpc 库 dbscan 示例中给出的合成数据上完成的: n <
这个问题已经有答案了: how to do clustering when the shape of data is (x,y,z)? (1 个回答) 已关闭 4 年前。 sklearn 中是否允许通
我正在从事与聚类任务相关的任务。 DBSCAN 拟合程序产生奇怪的结果,我不明白我的错误在哪里。我简化了代码,只留下了重要的部分: clusters = pd.read_csv('cl.csv') d
我想使用聚类算法来找到大有向图的聚类,并且我也想从该图中消除噪声。因此,我正在考虑使用DBSCAN方法,因为我发现我们可以为算法提供一个距离函数来确定两个不同节点之间的距离/相似度。 我的问题是,如何
据说 DBSCAN 在边界点上不一致,取决于它首先将点分配给哪个簇。当 DBSCAN 想要将边界点分配给其中一个簇时,是否有一种变体会考虑每个簇中边界点接近的点数(eps)? 最佳答案 在这种情况下,
我正在尝试对包含超过 100 万个数据点的数据集进行聚类。一列包含文本,另一列包含与其对应的数值。我面临的问题是它被卡住并且永远不会完成。我尝试过处理大约 100,000 个较小的数据集,它运行得相当
我正在尝试将多个核心与sklearn的DBSCAN一起使用,但是当我更改 n_jobs = -1 时,运行时间似乎没有变化(按照文档的建议,使用所有处理器来运行并行作业)。我错过了什么? import
我是一名优秀的程序员,十分优秀!