我有一只熊猫的数据,并将df[list_of_columns]
作为X,df[[single_column]]
作为Y
传递给一个随机森林回归者。
下面的警告意味着什么,应该做些什么来解决它?
DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel(). probas = cfr.fit(trainset_X, trainset_Y).predict(testset_X)
发布于 2014-01-01 05:49:18
只需检查您的Y
变量的形状,它应该是一个一维对象,并且您可能正在传递一些具有更多(可能是微不足道的)维度的内容。将其重塑为列表/一维数组的形式。
发布于 2014-01-01 08:44:09
您可以使用df.single_column.values
或df['single_column'].values
获取系列的底层numpy数组(在本例中,该数组也应该具有lejlot提到的正确的一维形状)。
发布于 2016-01-13 11:34:51
实际上,警告告诉您问题到底是什么:
您传递一个2d数组,该数组恰好位于表单(X, 1)
中,但是该方法需要一个一维数组,并且必须在表单(X, )
中。
此外,警告还告诉您如何将其转换为所需的表单:y.values.ravel()
。
https://stackoverflow.com/questions/20868664
复制相似问题