我尝试寻找类似于PCA中sklearn的explained_variance_ratio的属性用于UMAP,但没有找到这样的东西。在PCA中,我可以使用不同n_components值的explained_variance_ratio并比较结果。Python中是否有我可以用于UMAP的类似功能?
回答:
由于UMAP是一种非线性降维方法,你无法轻易估算它所解释的方差,与PCA相比。以下是更详细的解释。
PCA试图在高维空间中找到能够捕捉尽可能多方差的投影。你将数据投影到这些正交平面上,可以估算每个平面捕捉的方差,与原始数据中的方差进行比较。这是一个完全的线性操作,因此你可以定义解释的方差。你可以查看这个关于解释方差的帖子或这个关于PCA的帖子
UMAP是一种非线性降维方法。从帮助页面来看,UMAP使用所谓的单纯复合体来捕捉特征的拓扑空间,并从中获得低维度的降维。你可以将其视为一个高维图,更侧重于捕捉数据点之间的相互连接性,而不是方差。因此,截至目前,我不知道有办法检索UMAP中解释的方差。你也可以查看作者在github上的回复。