Python 为什么获取ValueError:无法将输入数组从形状(15163,19)广播到形状(15163,0)?
这似乎是一个常见的问题,但其他问题的答案对我没有帮助。所以我试着解释发生了什么。我想在以下数据帧上进行回归Python 为什么获取ValueError:无法将输入数组从形状(15163,19)广播到形状(15163,0)?,python,pandas,numpy,scikit-learn,gridsearchcv,Python,Pandas,Numpy,Scikit Learn,Gridsearchcv,这似乎是一个常见的问题,但其他问题的答案对我没有帮助。所以我试着解释发生了什么。我想在以下数据帧上进行回归 # Data y = df[['variation']] x = df.drop(['variation','value_next','id'], axis=1) 现在y Name: variation, dtype: float64 <class 'pandas.core.frame.DataFrame'> Int64Index: 17690 entries, 0 to 1
# Data
y = df[['variation']]
x = df.drop(['variation','value_next','id'], axis=1)
现在y
Name: variation, dtype: float64
<class 'pandas.core.frame.DataFrame'>
Int64Index: 17690 entries, 0 to 17693
Data columns (total 1 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 variation 17690 non-null float64
dtypes: float64(1)
memory usage: 276.4 KB
在网格.fit
调用中,我得到了该错误。
我还尝试将
x
和y
转换为np数据,但运气不佳。以下代码片段应该可以解决您的错误:
param_grid = {
'polynomialfeatures__degree': np.arange(1,21)
,'linearregression__fit_intercept': [True, False]
,'linearregression__normalize': [True, False]
}
尽管我必须承认
21
是一个巨大的夸大。你能发布完整的回溯,而不仅仅是最后的错误吗?错误表明fit
中的某个地方试图将17列数组/数据帧复制到0列数组中。但是如果没有回溯,或者对回归
文档没有很好的了解,很难说是什么特性创建了这个0。无论如何,我怀疑问题更多地与grid
设置有关,而不是与x
@hpaulj有关。必须将np.arange(21)
更改为np.arange(1,21)
param_grid = {
'polynomialfeatures__degree': np.arange(1,21)
,'linearregression__fit_intercept': [True, False]
,'linearregression__normalize': [True, False]
}