拓扑数据分析 - 从哪里开始
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。
【讨论】:
以上是关于拓扑数据分析 - 从哪里开始的主要内容,如果未能解决你的问题,请参考以下文章