Answers:
看起来sklearn需要(行号,列号)的数据形状。如果您的数据形状像(行号)一样(999, )
,则无法使用。通过使用numpy.reshape()
,您应将数组的形状更改为(999, 1)
,例如使用
data=data.reshape((999,1))
就我而言,它可以解决这个问题。
在Udacity深度学习基础课程上看到:
df = pd.read_csv('my.csv')
...
regr = LinearRegression()
regr.fit(df[['column x']], df[['column y']])
我遇到了类似的问题。我的问题是,X中的行数不等于y中的行数。
即特征列中的条目数不等于目标变量中的整体数,因为我从特征列中删除了一些行。
要分析两个数组(array1和array2),它们需要满足以下两个要求:
1)他们必须是一个numpy.ndarray
检查与
type(array1)
# and
type(array2)
如果不是这样,那么至少其中一个执行
array1 = numpy.ndarray(array1)
# or
array2 = numpy.ndarray(array2)
2)尺寸需要如下:
array1.shape #shall give (N, 1)
array2.shape #shall give (N,)
N是数组中项目的数量。要为array1提供正确数量的轴,请执行以下操作:
array1 = array1[:, numpy.newaxis]