我尝试使用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]
答案 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)