0

我有一个值在 0 - 255 之间的数组,并且缺少一个 (nan),它的形状是 (27, 36)。我尝试使用 Nipals 算法来估算缺失的数据。经过搜索,我发现有一个 PLS Regression()。

对于 PLS 回归方法,它需要两个矩阵或向量 X 和 Y 进行拟合和预测:

from sklearn.cross_decomposition import PLSRegression
X = [[0., 0., 1.], [1.,0.,0.], [2.,2.,2.], [2.,5.,4.]]
Y = [[0.1, -0.2], [0.9, 1.1], [6.2, 5.9], [11.9, 12.3]]
pls2 = PLSRegression(n_components=2)
pls2.fit(X, Y)

Y_pred = pls2.predict(X)

现在,有两个问题,第一个是两个矩阵/向量不应该有 NaN 值(如果其中一个包含 NaN 会抛出错误),第二个是我只有一个矩阵!

那么如何让 PLS Regressor 对缺失的数据进行插补呢?或者我应该遵循什么合适的算法来解决这个问题(当然使用 Nipals 算法)?用的话没问题rpy2

4

0 回答 0