这句话是什么意思



我对此很陌生,但谁能告诉我这行是什么意思?

predicted= linear.predict(x_test)

我认为sklearn.linear_model.LinearRegression().fit()需要一个(# of rows, 1)形状的数组。

演示:

In [52]: x_train= [5.5997066,4.759385,2.573958,5.586931,3.019574,4.296047,1.586953,0.5997066,3.683957]
In [53]: linear.fit(x_train, y_train)
<PYTHON_PATH>libsite-packagessklearnutilsvalidation.py:386: DeprecationWarning: Passing 1d arrays as data
 is deprecated in 0.17 and willraise ValueError in 0.19. Reshape your data either using X.reshape(-1, 1) if your data has a single feature or X.reshap
e(1, -1) if it contains a single sample.
  DeprecationWarning)
...
skipped
...
ValueError: Found arrays with inconsistent numbers of samples: [1 9]

让我们让它快乐:

In [54]: x_train = np.array(x_train).reshape(len(x_train), -1)
In [55]: x_train.shape
Out[55]: (9, 1)
In [56]: linear.fit(x_train, y_train)
Out[56]: LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)

更新:这同样适用于x_test数组:

In [60]: x_test = x_test.reshape(-1, 1)
In [61]: x_test.shape
Out[61]: (5, 1)
In [62]: predicted= linear.predict(x_test)
In [63]: predicted
Out[63]: array([ 5.7559457,  5.7559457,  5.7559457,  5.7559457,  5.7559457])

相关内容

  • 没有找到相关文章