Scikit learn sklearn.manifold.MDS没有转换方法

Scikit learn sklearn.manifold.MDS没有转换方法,scikit-learn,Scikit Learn,在我制作了一个MDS对象MDS,并将其与MDS.fit(X)配合后,我想我可以使用MDS.transform(X\u new)投射新的点。我认为这是其他流形类中的API。但是只有fit\u变换。从描述中我猜,fit\u transform进行了更多的拟合,我不想更改已经计算过的投影 等等,也许这没什么意义。我又读了一些书。如果我现在理解正确的话,MDS算法是一种迭代算法,“只是移动点”,直到应力值变低——实际上不允许投影 但是,我仍然对fit\u transform的作用有点困惑。文档说“拟合X

在我制作了一个MDS对象
MDS
,并将其与
MDS.fit(X)
配合后,我想我可以使用
MDS.transform(X\u new)
投射新的点。我认为这是其他流形类中的API。但是只有
fit\u变换
。从描述中我猜,
fit\u transform
进行了更多的拟合,我不想更改已经计算过的投影

等等,也许这没什么意义。我又读了一些书。如果我现在理解正确的话,MDS算法是一种迭代算法,“只是移动点”,直到应力值变低——实际上不允许投影


但是,我仍然对
fit\u transform
的作用有点困惑。文档说“拟合X的数据,并返回嵌入的坐标”。这与仅仅拟合和采用
mds.embedded有何不同?

对于scikit学习转换器,
estimator.fit\u transform(X)
是到
estimator.fit(X).transform(X)
,但通常实现得更有效。在这种情况下,它确实与
estimator.fit(X).embedding_uu
相同;它之所以存在,是因为scikit学习类,如
Pipeline
可能会调用它


似乎在任何流形学习者身上都没有
转换
方法,可能是错误的;我刚刚打开了一个关于这一点的文档。

sklearn MDS、SpectralEnbedding和TSNE不能用于分类的特征缩减。它们没有独立的transform()方法,如KernelPCA或locallylinerembedding。如果没有transform()方法,就无法转换和评分新数据

MDS和TSNE仅用于特征集分析。典型的示例用于可视化,但它们在特征分析中的应用不仅仅限于可视化


对线性可分离的特征集使用PCA,对非线性可分离的特征集使用非线性变换器,如LLE。

谢谢larsmans。我想我在你编辑之前读了你的回复。我将加入Github。