拓扑数据分析 - 从哪里开始

Posted

技术标签:

【中文标题】拓扑数据分析 - 从哪里开始【英文标题】:Topological data analysis - where to begin 【发布时间】:2014-09-29 10:57:06 【问题描述】:

我最近发现“拓扑数据分析”(TDA) 是一种可视化大型数据集的独特方法。这是一篇斯坦福论文,结尾有示例输出https://research.math.osu.edu/tgda/mapperPBG.pdf。

我想产生类似的结果,但在安装包、加载示例数据、然后执行几行代码(如 http://scikit-learn.org/ 示例)的网络上很难找到可运行的代码。我的语言偏好是 Python,但也可以使用 R。

是否有人能够通过 TDA 获得牵引力,如果有,关于如何启动和运行代码的任何建议?

【问题讨论】:

链接失效:-( 如果其中一个答案有帮助,如果您能接受,那就太好了 - 谢谢 :-) 【参考方案1】:

Dionysus 是计算持久同源性的 C++ 实现。它有一个很好的 PyBind 包装器,可以很容易地在 python 中进行试验。

最近出现了具有绘图功能的狄俄尼索斯第 2 版,这应该更容易深入研究。看看这里:

http://www.mrzv.org/software/dionysus2/tutorial/plotting.html

从位于欧几里得空间中的通用数据集(例如 2D 或 3D 数组),构建 Rips 复合体可能是一个很好的切入点,此处对此进行了解释:

http://www.mrzv.org/software/dionysus2/tutorial/rips.html

【讨论】:

【参考方案2】:

有一个新的 r 包出来了:

TDA: Statistical Tools for Topological Data Analysis 该软件包提供了用于持久同源性统计分析和密度聚类的工具。

写得很好的小插图可以在这里找到:Introduction to the R package TDA

摘要

我们提供一个简短的教程和使用 R 包的介绍 TDA,它为拓扑数据分析提供了一些工具。在 特别是,它包括功能的实现,给定一些 数据,提供有关底层空间的拓扑信息,例如 作为距离函数,到度量的距离,kNN 密度 估计器、核密度估计器和核距离。这 子水平集(或超水平集)的显着拓扑特征 这些功能中的一些可以通过持久同源性来量化。我们 为 C++ 的高效算法提供 R 接口 库 GUDHI、Dionysus 和 PHAT,包括用于 Rips 过滤的持久同源性,一个为持久的 任意函数的子级集(或超级集)的同调 在点网格上进行评估。特征的重要性 可以使用以下函数分析生成的持久性图 实现 Fasy、Lecci、Rinaldo、Wasserman 中讨论的方法, Balakrishnan 和 Singh (2014)、Chazal、Fasy、Lecci、Rinaldo 和 Wasserman (2014c) 和 Chazal、Fasy、Lecci、Michel、Rinaldo 和 瓦瑟曼(2014a)。 R 包 TDA 还包括实现 一种密度聚类算法,它允许我们识别 与 a 相关的概率质量的空间组织 密度函数并通过树状图将其可视化, 簇树。

【讨论】:

我在这方面取得了不错的成绩,尽管我以前没有使用过 R。【参考方案3】:

对于可视化,Cytoscape 有桌面版和浏览器版。

它建议生成两个 python 库(Bioconductor 和 igraph)here。

【讨论】:

以上是关于拓扑数据分析 - 从哪里开始的主要内容,如果未能解决你的问题,请参考以下文章

从哪里开始了解数据库内部? [关闭]

Leetcode 802 找到最终的安全状态(拓扑)

数据库大神来啊、给出下列AOV网的可能的拓扑排序序列。

本地数据库的 AngularJS API,从哪里开始?

重要变量(数值)的数据挖掘:从哪里开始?

谁懂CPU读写数据的顺序过程,从哪里开始读,然后到哪里?