当使用PLS回归时,Matlab和scikitlearn的结果为什么不同?

2024-09-30 22:15:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用预测形式sklearn.cross_分解与MATLAB(2014a)的plsregres得到的结果略有不同。我肯定我使用了相同的组件和数据。Matlab总是比scikit learn性能更好。在

Python:

from sklearn.cross_decomposition import PLSRegression
pls = PLSRegression(n_components=8)
pls.fit(X_train, Y_train)
Y_pred = pls.predict(X_train)

Matlab软件:

^{pr2}$

Tags: 数据from组件trainsklearnscikit性能learn
1条回答
网友
1楼 · 发布于 2024-09-30 22:15:17

我相信scikit learn使用NIPALS算法来处理PLS,而MATLAB使用simples算法。它们的结果可能略有不同。在

请参阅MATLAB中有关^{}的文档页,并参考底部的算法。我没有一个方便的NIPALS链接,但它是Svante Wold的一个算法,在互联网上被广泛描述。在

相关问题 更多 >