sklearn regressor:ValueError:找到包含不一致样本数的数组

时间:2017-05-24 08:10:12

标签: python scikit-learn

我尝试使用sklearn进行简单的回归,但我不明白如何手动创建自己的数据

import numpy as np
from sklearn import linear_model

Y = np.array([22000, 13400, 47600, 7400, 12000, 32000, 28000, 31000, 69000, 48600])
X = np.array([0.62, 0.24, 0.89, 0.11, 0.18, 0.75, 0.54, 0.61, 0.92, 0.88])

# Create linear regression object
regr = linear_model.LinearRegression()

# Train the model using the training sets
regr.fit(X, Y)

我收到此错误:

ValueError: Found arrays with inconsistent numbers of samples: [ 1 10]

1 个答案:

答案 0 :(得分:3)

正如DeprecationWarning:所说:

  

传递1d数组作为数据在0.17中弃用并且将提升   ValueError in 0.19。如果使用X.reshape(-1,1)重新整形数据   如果数据包含a,则数据具有单个特征或X.reshape(1,-1)   单个样本。

所以试试这个:

In [70]: regr.fit(X[:, None], Y)
Out[70]: LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)

In [71]: regr.fit(X.reshape(-1, 1), Y)
Out[71]: LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)