尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
在不同空间中展示数据(欧式、球面、庞加莱圆盘)
文章目录欧式空间超球面双曲空间本文参照了Geomstats的官方教程对不同流形上的数据进行了展示。欧式空间我们平时接触最多的就是欧式空间在geomstats中可创建一个Euclidean对其实现。下面创建一个欧氏空间并计算其上两个随机点的平均值效果如下没什么好说的初中几何。importgeomstats.backendasgs gs.random.seed(2020)fromgeomstats.geometry.euclideanimportEuclidean euclideanEuclidean(dim2,equipFalse)ptsLSeuclidean.random_point(n_samples2)avggs.sum(ptsLS,axis0)/2importmatplotlib.pyplotasplt plt.rcParams[font.sans-serif]Times New Romanaxplt.subplot()ax.scatter(ptsLS[:,0],ptsLS[:,1],labelPoints)ax.plot(ptsLS[:,0],ptsLS[:,1],linestyledashed)ax.scatter(gs.to_numpy(avg[0]),gs.to_numpy(avg[1]),labelMean,s80,alpha0.5)ax.set_title(Mean of points in a linear space)ax.legend()plt.show()超球面同样是求平均值的问题如果挪用到超球面上那么问题可能会发生变化。按照欧式空间的做法球面上任意两点其平均值一定不在球面上为了让平均值操作在球面上仍然有意义就需要在测地线上取平均值。在geomstats中通过实现【Hypersphere】对象即可创建一个超球面最终求得平均值如下fromgeomstats.geometry.hypersphereimportHypersphere sphereHypersphere(dim2,equipFalse)ptsHypersphere.random_point(n_samples2)avggs.sum(ptsHyper,axis0)/2importgeomstats.visualizationasvisualization axplt.subplot(projection3d)visualization.plot(ptsHyper,axax,spaceS2,labelPoint,s80)ax.plot(ptsHyper[:,0],ptsHyper[:,1],ptsHyper[:,2],linestyledashed,alpha0.5)ax.scatter(avg[0],avg[1],avg[2],labelMean,s80,alpha0.5)ax.set_title(Mean of points on a manifold)ax.legend()plt.show()绘图代码中S2表示三维球面。双曲空间karate_graph数据集是一组关于社交关系的网络常被用于图上聚类的研究。下面调用这组数据集并在庞加莱圆盘上展示这组数据效果如下在庞加莱圆盘中圆盘中心处图形的大小看起来是正常的但越靠近圆盘的边缘图形在视觉上就变得越小而圆盘的圆周则直接表示无穷远。如果将上图画在欧式空间中外围的点间距离会迅速变大影响读图。代码如下importgeomstats.datasets.utilsasdata_utils karate_graphdata_utils.load_karate_graph()fromgeomstats.datasets.prepare_graph_dataimportHyperbolicEmbedding hyperbolic_embeddingHyperbolicEmbedding(max_epochs20)embeddingshyperbolic_embedding.embed(karate_graph)diskvisualization.PoincareDisk(coords_typeball)axplt.subplot()disk.set_ax(ax)disk.draw(axax)ax.scatter(embeddings[:,0],embeddings[:,1])plt.show()【HyperbolicEmbedding】是用于计算庞加莱嵌入的类随后调用【embed】方法将karate_graph数据嵌入到双曲空间中经过20轮迭代即可将其绘制在庞加莱圆盘上。
RELATED

相关推荐

SAP ME核心价值解析:从MES选型到与S/4HANA深度集成实战

SAP ME核心价值解析:从MES选型到与S/4HANA深度集成实战

如果你在制造业做信息化,特别是负责生产车间这一层,那么“MES”这个词你一定不陌生。但当你真正去选型、实施或开发时,往往会陷入困惑:市面上的MES五花八门,有的像ERP的延伸,有的像数据采集器的集合&#x…

📅 2026/9/16 9:33:47
AI智能体与设计语法:重塑实验科学范式的核心架构

AI智能体与设计语法:重塑实验科学范式的核心架构

1. 从“炼丹”到“设计”:AI智能体如何重塑实验科学范式如果你在实验室里泡过,或者做过任何需要反复试错、调整参数的实验工作,你肯定对“炼丹”这个词不陌生。它精准地描述了传统实验科学中那种高度依赖直觉、经验和运气的探索过程——我们设…

📅 2026/9/18 21:29:31
大厂面试必考的Java核心技术解析与实战技巧

大厂面试必考的Java核心技术解析与实战技巧

1. 为什么大厂面试总爱考八股文? 刚入行那会儿,我也特别不理解为什么大厂面试总喜欢问那些看似死记硬背的"八股文"问题。直到后来自己当了面试官才明白,这些看似基础的问题,实际上是在考察候选人对Java技术体系的理解深…

📅 2026/10/5 12:27:03
MORE NEWS

更多资讯

📰

23个AI角色如何重塑全栈开发工作流

1. 项目概述:这不是一个工具介绍,而是一次工作流的基因重组“解构 gstack:如何以 23 个 AI 角色重塑全栈开发工作流”——这个标题里藏着三个被多数人忽略的关键信号:解构、gstack、23个AI角色。它不是在讲某个叫“gstack”的开源…

📰

PyTorch模型导出ONNX避坑指南:从trace到部署验证全解析

项目排期表上,"Phase A Step 3:模型导出 ONNX"只占了一个不起眼的小格子。当时团队预估这是一个顶多两三天的技术活,结果我前后折腾了将近一周才敢说"这个导出是稳的"。后来复盘发现,问题不在于torch.onnx.e…

📰

图论入门核心概念与实战解析:从欧拉图到邻接表

简介:本资源是哈尔滨工业大学《集合论与图论(下)》慕课MOOC课程的配套习题答案整理,面向计算机、数学及相关专业本科生及自学者,助力系统掌握图论核心理论与解题方法。内容覆盖图的基本类型(简单图、有向/无…

📰

吉林大学C++上机实验:面向对象工程实践与内存安全训练

简介:本资源是吉林大学《面向对象程序设计》课程配套的C上机实验报告,面向高校计算机类专业本科生及C初学者,聚焦面向对象编程核心能力训练。报告围绕“多项式类”这一典型数据结构展开,完整覆盖类定义、构造/析构函数、动态内存管…

📰

人口预测模型实战:Logistic拟合与Leslie矩阵的MATLAB实现

简介:一份面向数学建模竞赛参与者与人口统计研究者的中文技术文档,主题是中国人口增长预测建模。文档系统介绍了两种经典模型:Logistic人口阻滞增长模型与按年龄分布的Leslie模型,并运用MATLAB软件进行数据处理与模型求解。其中Lo…

📰

讯飞人行动结业测试5.0备考全攻略:题型拆解与避坑指南

简介:讯飞人行动结业测试5.0答案,是面向科大讯飞入职及转正员工的高效备考资料。文档整理自公司内部人行动结业考试,直接给出单选、多选、判断题的参考答案,覆盖专业敬业、成就客户、简单真诚、担当奋进等价值观条目,以…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬