我正在尝试使用scikit学习使用多个输出进行线性回归
代码(随机数据为例):
from sklearn import datasets, linear_model
import numpy as np
X = np.random.rand(300,10)
y = np.random.rand(300,9)
reg_model = linear_model.LinearRegression()
reg_model.fit(X,y)
我收到了明显的错误:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
/Users/sorensonderby/Documents/workspaces/workspace/Chemoinformatics_proect/notebooks/<ipython-input-116-e235c7159573> in <module>()
5 y = np.random.rand(300,9)
6 reg_model = linear_model.LinearRegression()
----> 7 reg_model.fit(X,y)
8
/Library/Python/2.7/site-packages/scikit_learn-0.10-py2.7-macosx-10.7-intel.egg/sklearn/linear_model/base.pyc in fit(self, X, y)
178 linalg.lstsq(X, y)
179
--> 180 self._set_intercept(X_mean, y_mean, X_std)
181 return self
182
/Library/Python/2.7/site-packages/scikit_learn-0.10-py2.7-macosx-10.7-intel.egg/sklearn/linear_model/base.pyc in _set_intercept(self, X_mean, y_mean, X_std)
106 """
107 if self.fit_intercept:
--> 108 self.coef_ = self.coef_ / X_std
109 self.intercept_ = y_mean - np.dot(X_mean, self.coef_.T)
110 else:
ValueError: operands could not be broadcast together with shapes (10,9) (10)
我读了适用方法的api,它说x应该是n_sample x n_features,y应该是n_sample x n_targets。 Link to fit method
我做错了什么?
答案 0 :(得分:1)
您正在使用scikit-learn 0.10和0.13.1的文档。升级您的安装,然后再试一次 - 它应该可以工作。