y1是一个长度为106的numpy.ndarray(代表以米为单位的高度)
x1是一个长度为106的numpy.ndarray(代表对应于高度的男孩的年龄)
我试图通过使用梯度下降的线性回归来预测给定年龄的高度,然后将其绘制为3D表面图。
当我尝试做.fit()时,它会告诉我
ValueError:找到样本数不一致的数组:[1 106]
import numpy as np
from sklearn import linear_model
x1 = np.fromfile('ex2x.dat', float)
y1 = np.fromfile('ex2y.dat', float)
clf = linear_model.SGDRegressor(alpha=.007)
clf.fit(x1, y1)
y_predicted = clf.predict(3.5)
答案 0 :(得分:2)
预期的数组形状为:
如果你的第一个数组是1D,你应该重塑它:
x1 = np.fromfile('ex2x.dat', float).reshape(-1, 1)
这是一个小型的自包含示例:
import numpy as np
from sklearn import linear_model
x1 = np.array(range(10)).reshape(-1, 1)
y1 = np.array([k**.5 for k in range(10)])
clf = linear_model.SGDRegressor(alpha=.0007)
clf.fit(x1, y1)
y_predicted = clf.predict(3.5)