2014-02-22 50 views
1

当我制作一个MDS对象mds,并使其与mds.fit(X)相符后,我想我可以使用mds.transform(X_new)来投影新点。我认为这是其他多种类中的API。但只有fit_transform。我想从fit_transform做一些更合适的描述,我不想改变已经计算出的投影!sklearn.manifold.MDS没有变换方法

编辑:等待,也许这没有任何意义。我做了更多的阅读。如果我现在理解正确,那么MDS算法是一种迭代的算法,它只是“移动点”,直到压力值变低 - 并且实际上不允许投影。

但是,我仍然对fit_transform做什么感到困惑。该文档说“从X拟合数据,并返回嵌入的坐标”。这与刚刚装修和服用mds.embedding_有什么不同?

回答

1

对于scikit学习变压器,estimator.fit_transform(X)always equivalentestimator.fit(X).transform(X),但通常更有效地实施。在这种情况下,它确实与estimator.fit(X).embedding_相同;它在那里,因为像Pipeline这样的scikit-learn类可能会这样称呼它。

似乎没有transform方法在任何多种多样的学习者,可能是错误的;我刚刚打开了一个关于此的issue

+0

谢谢larsmans。我想我在编辑之前阅读您的回复。我会加入Github。 – jmmcd