【发布时间】:2019-02-05 15:00:27
【问题描述】:
我将数据框的两列分别用作特征和标签:
X = bmi_life_data['BMI']
y = bmi_life_data['Life expectancy']
但我必须将获得的一维数组( with shape=(n,) )重塑为形状 (n, 1) 才能被回归.fit() 函数接受:
X = X.values.reshape(len(X), 1)
否则会报错:
bmi_life_model = LinearRegression()
bmi_life_model.fit(X, y)
laos_life_exp = bmi_life_model.predict([[21.07931]])
>>>>
ValueError: Found arrays with inconsistent numbers of samples: [ 1 163]
None
我也可以在定义 X 时当场重塑,但它几乎相同。我觉得这个重塑步骤很乏味,所以我认为必须有更好的方法。我试图找到它,但我发现的只是矩阵和一维数组之间的区别,这是有用的信息,但没有回答我的问题。
【问题讨论】:
标签: pandas reshape sklearn-pandas numpy-ndarray