欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 美景 > Multicore-TSNE

Multicore-TSNE

2025/5/1 7:26:03 来源:https://blog.csdn.net/qq_29159273/article/details/147630633  浏览:    关键词:Multicore-TSNE

文章目录

  • TSNE
  • 使用scikit-learn库
  • 使用Multicore-TSNE库
    • 安装方法
    • 基本使用方法
    • 采用不同的距离度量
  • 其他资料

TSNE

  • t-Distributed Stochastic Neighbor Embedding (t-SNE) 是一种高维数据的降维方法,由Laurens van der Maaten和Geoffrey Hinton于2008年提出,通常用于数据可视化。其大致原理是在低维(通常是2D或3D)空间中保留高维空间中的距离关系

使用scikit-learn库

  • TSNE的代码实现通常基于scikit-learn库
  • 具体参数可参考官网手册:https://scikit-learn.org/stable/modules/generated/sklearn.manifold.TSNE.html

使用Multicore-TSNE库

  • Multicore-TSNE的项目地址:
    https://github.com/DmitryUlyanov/Multicore-TSNE

  • 优点:

    • 使用方法与与scikit-learn库基本一致
    • 计算速度相对于scikit-learn库可大幅提升
  • 缺点:

    • 功能相比scikit-learn库大幅减少
    • 默认仅实现了基于欧式距离的降维计算

安装方法

  • 方法1:直接pip安装
pip install MulticoreTSNE
  • 方法2:源码编译安装
git clone https://github.com/DmitryUlyanov/Multicore-TSNE.git
cd Multicore-TSNE/
pip install .

基本使用方法

  • Multicore-TSNE库的基本使用方法非常简单,与scikit-learn库基本一致:
from MulticoreTSNE import MulticoreTSNE as TSNEtsne = TSNE(n_jobs=4)
Y = tsne.fit_transform(X)
  • 详情可看源码:https://github.com/DmitryUlyanov/Multicore-TSNE/blob/master/MulticoreTSNE/init.py

采用不同的距离度量

  • Multicore-TSNE默认仅实现了基于欧式距离的降维计算,然而,很多时候,我们希望采用其他距离度量。幸运的是,根据 https://github.com/DmitryUlyanov/Multicore-TSNE/issues/49 中的回答,已有大佬基于Multicore-TSNE库进行了二次开发,其中可以采用的距离度量包括:
    • Euclidean distance
    • Squared euclidean distance
    • Angular distance
    • Cosine distance (not a real metric)
    • Precomputed distance marix
  • 安装方式:源码编译安装
git clone https://github.com/asanakoy/Multicore-TSNE.git
cd Multicore-TSNE/
pip install .
  • 以手动计算特征向量之间的余弦距离为例:
from MulticoreTSNE import MulticoreTSNE as TSNE
from sklearn.metrics.pairwise import cosine_similarity# 计算余弦相似度矩阵
similarity_matrix = cosine_similarity(feats.cpu().numpy())# 将余弦相似度转换为距离矩阵
distance_matrix = 1 - similarity_matrixtsne = TSNE(n_jobs=4, metric="precomputed", random_state=42)
X_tsne = tsne.fit_transform(distance_matrix)

其他资料

  • Multicore-TSNE 项目常见问题解决方案
  • 用 GPU 加速 TSNE:从几小时到几秒

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词