干货分享 | T-SNE算法:高维数据可视化利器,让你的数据更精准!
发布时间 2023-11-21

通常情况下质谱仪器在每个样本中都能够检测到上百,甚至上千个蛋白或代谢物。在统计模型中,我们认为每个蛋白及代谢物都属于一个变量,那么我们一组样本就等同于拥有了成百上千的变量,但同时对上千的变量进行分析显然是不现实的,不仅耗费算力,而且也很难提取出关键信息。在这种背景下,降维就成为了我们的解决方案。


01



降维的概念

降维指的是将部分的具有一定关系的变量根据不同的算法融合为一个新的变量,以达到降低维度的效果,之后我们就可以将原本高维的数据投影到低维空间,去掉冗余属性,但同时尽可能地保留高维空间的重要信息和特征。


02



线性降维和非线性降维

从具体的降维方法来分类,主要可分为线性和非线性两大类。其中,线性方法的本质是观察坐标系替换的时候,新坐标轴是原始特征的一个线性组合,常用的有主成分分析(Principal Component Analysis,PCA)、多维尺度分析(Multidimensional Scaling, MDS)、非矩阵分解(Multidimensional ScalingNMF)等;相较于线性方法,非线性方法并不会生成一个基于原始特征的线性组合生成新坐标系,通过非线性变换将高维数据投影到低维空间,并保留数据的局部和全局结构,常用的有等距特征映射(Isometric Mapping, ISOMAP)、局部线性嵌套(Locally Linear Embedding, LLE)、T分布随机近邻嵌入(t-Distributed Stochastic Neighbor Embedding, t-SNE)等。


03



T-SNE算法

T-SNE算法是一种用于降维的机器学习算法,它会将数据点之间的相似度转化为一个概率分布,并使降维前后数据各自对应的概率分布尽可能的接近,从而能够在低维空间里保持其在高维空间里所携带的信息(比如高维空间里有的清晰的分布特征,转到低维度时也依然存在)。相较于常见的PCA方法,T-SNE能够更好地突出数据集中的成簇特征,并且更适用于处理复杂的非线性关系,常用于图像识别、生物信息学等领域,t-SNE的主要用途是可视化和探索高维数据。但遗憾的是,T-SNE一般只能应用于图形可视化,不能用于预测测试集样本。与PCA不同,t-SNE可以更好地应用于线性和非线性良好聚类的数据集,并产生更有意义的聚类。尽管t-SNE在可视化分离良好的群集方面非常出色,但大多数情况下它无法保留数据的整体几何形状。


04



R语言代码实现

1. 导入数据

干货分享 | T-SNE算法:高维数据可视化利器,让你的数据更精准!(图1)

将上述图片中格式的数据导入R中,每一列代表一个蛋白,每一行代表一个样本。

2. T-SNE算法

干货分享 | T-SNE算法:高维数据可视化利器,让你的数据更精准!(图2)

3. 绘制T-SNE图像

干货分享 | T-SNE算法:高维数据可视化利器,让你的数据更精准!(图3)

干货分享 | T-SNE算法:高维数据可视化利器,让你的数据更精准!(图4)

最终得到的T-SNE图像,如图所示

干货分享 | T-SNE算法:高维数据可视化利器,让你的数据更精准!(图5)


Recommend more
推荐更多

微信

在线
咨询

QQ

点击QQ咨询