2

假设我有预测器数组x=numpy.array(n,px)和预测数组y=numpy.array(n, py) 在 python 中计算从 x 到 y 的每个维度(1...py)的所有回归(线性)的最佳方法是什么?整个事情的输出将是一个矩阵(py,px)(对于每个输出,px 参数)。

我当然可以轻松地迭代输出维度(对于每个计算正常的单输出多元输入 OLS),但是这将是低效的,因为我将重新计算 x 的伪逆矩阵。

有没有有效的实施?找不到任何(http://wiki.scipy.org/Cookbook/OLS都没有)

4

2 回答 2

0

我想scikit-learn已经这样做了,所以我查看了源代码并发现它们使用了scipy.linalg.lstsq(参见第 379 行)。

根据文档,该scipy版本lstsq确实接受矩阵作为b参数。(实际上numpy 版本也接受矩阵值。)

也许这些就是你要找的?

于 2013-08-28T05:15:20.410 回答
0

sklearn.linear_model.LinearRegression 的 fit() 方法接受多目标输出,因此现在在 sklearn 中本地处理。只需对形状 (n_samples, n_targets) 的 fit(X,y) 的 y 值使用二维数组。

于 2018-05-18T21:19:14.677 回答