假设我有预测变量数组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)
答案 0 :(得分:0)
我认为scikit-learn
已经这样做了,所以我查看了source code并发现他们使用scipy.linalg.lstsq
(见第379行)。
根据the docs,scipy
版lstsq
确实接受矩阵作为b
参数。 (实际上numpy version也接受矩阵值。)
也许这些是你在找什么?
答案 1 :(得分:0)
sklearn.linear_model.LinearRegression的fit()方法接受多目标输出,因此现在在sklearn中本地处理。只需使用二维数组作为形状的拟合(X,y)的y值(n_samples,n_targets)。