PaCMAP的正式实现:成对控制流形逼近投影

pacmap的Python项目详细描述


太平洋地图

PaCMAP(Pairwise Controlled Manifold Approximation)是一种可用于可视化的降维方法,它既保留了原始空间中数据的局部结构,又保留了数据的全局结构。PaCMAP使用三种点对优化低维嵌入,即相邻对(pair-near-neighbors)、中近对(pair-near-pair-MN)和进一步对(pair-_-FP),其数目分别为n_-neighbors、n-MN和n_-FP。在

以往的降维技术主要关注局部结构(如t-SNE、LargeVis和UMAP)或全局结构(如TriMAP),但不是两者都关注,尽管在算法中仔细调整控制全局和局部结构之间的平衡的参数,这主要是调整考虑的邻域的数量。PaCMAP动态地使用一组特殊的对(mid-near-pairs)来捕捉全局结构,然后细化局部结构,这既保留了全局结构,又保留了局部结构。在

安装

要求:

  • numpy公司
  • 学习
  • 惹恼
  • 麻木

要安装PaCMAP,可以使用pip:

pip install pacmap

基准

以下图像是两个数据集的可视化视图:MNIST和{a2},由PaCMAP生成。两个可视化结果分别展示了PaCMAP局部结构和全局结构的保存能力。在

MNIST

Mammoth

参数

最重要的参数列表如下所示。更改这些值将显著影响降维的结果。在

  • n_邻居:n_neighbors控制k-最近邻居图中考虑的邻居数量

  • MN_比率:中-近对数与邻居数的比率,n_MN=$\lfloor$n_neighbors*MN_ratio$\rfloor$

  • FP_ratio:进一步对数与邻居数的比率,n_FP=$\lfloor$n_neighbors*FP_ratio$\rfloor$

复制实验

为了更好地运行代码,我们提供了可重复性的代码。代码分为三个部分,分别位于三个文件夹中:

  • data,其中包括我们使用的所有数据集,预处理为每个DR方法使用的文件格式
  • experiments,其中包括我们用来生成DR结果的所有脚本
  • evaluation,其中包括我们用来评估DR结果的所有脚本,在本文的第8节中有说明

下载代码后,您可能需要指定存储在脚本中的位置,以使它们完全正常工作。在

引文

如果您在出版物中使用PaCMAP,或者您使用了此存储库中的实现,请在此处引用我们的预印本:

^{pr2}$

许可证

请参阅许可证文件。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
我可以用C++代码使用java代码吗?   java使用JSR303在派生类中提供更具体的约束   java在这个查找唯一路径数算法中我做错了什么?   java如何为2个不同的服务提供商使用2个不同的SSL证书?   java在Gridview上绘制文本   java使用连接for循环构建字符串名   java StringBuilder拆分无法处理某些文件   java事件关注EditText   Java Web Start“找不到URL的缓存资源”   java程序从命令行运行的速度比在Eclipse中慢   java为什么HttpServletRequest会截断#字符上的url输入?   java自定义折叠工具栏平滑标题大小调整   使用Mockito对安卓 java中调用另一个静态函数的函数进行单元测试   http在java客户机中使用cachecontrol头   java如何使用。是否使用Delimiter从输入文件中排除标点符号和数字?   使用上下文作为参数/参数的java   java更有效地从Jar中提取文件   java为多个JButton提供相同的actionListener