偏最小二乘 (PLS) 算法在 scikit-learn 库中实现,如下所述:http: //scikit-learn.org/0.12/auto_examples/plot_pls.html 在 y 是二进制向量的情况下,正在使用该算法,即偏最小二乘判别分析 (PLS-DA) 算法。sklearn.pls 中的 PLSRegression 模块是否也实现了这种二进制情况?如果没有,我在哪里可以找到它的 python 实现?在我的二进制情况下,我正在尝试使用 PLSRegression:
pls = PLSRegression(n_components=10)
pls.fit(x, y)
x_r, y_r = pls.transform(x, y, copy=True)
在转换函数中,代码在这一行出现异常:
y_scores = np.dot(Yc, self.y_rotations_)
错误消息是“ValueError:矩阵未对齐”。Yc 是归一化的 y 向量,并且 self.y_rotations_ = [1.]。在 fit 函数中,如果原始 y 是单变量向量 (y.shape 1 =1),则 self.y_rotations_ = np.ones(1)。