转载:https://blog.csdn.net/hqh131360239/article/details/79169188
D:\Python27\lib\site-packages\sklearn\utils\validation.py:578: 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(). y = column_or_1d(y, warn=True)
-
#clf.fit(X.T,Y.T);
-
clf.fit(X.T,Y.T.ravel());
提醒是要对预测输出y做出ravel()转换,例如下面操作:
注意ravel和reshape的区别(一个参数的时候没区别,都是转换成不规范形式)
-
#coding:utf-8
-
import numpy as np
-
a=np.array([[1,2,3],[4,5,6]])
扫描二维码关注公众号,回复: 2752593 查看本文章 -
print a #2*3
-
b=a.reshape(-1,1)
-
c=a.reshape(1,-1)
-
d=a.ravel()
-
e=a.reshape(6) #一个参数的时候只能是总数
-
print b.shape #6*1 [[1],[2],[3],[4],[5],[6]]
-
print c.shape #1*6 [[1 2 3 4 5 6]]
-
print d.shape #(6,) [1 2 3 4 5 6]
-
print d.shape #(6,) [1 2 3 4 5 6]
提示:AttributeError: 'DataFrame' object has no attribute 'ravel'
修改:
y_train.values.ravel()
这样试试,因为你的y不是一维向量。
我建议你先看看数据
追问
这是我的部分数据的截图,因为是神经网络,由9个输入产生1个输出,前面9列是输入,最后1列是输出。根据这些数据,能帮我看看我的代码有哪些问题吗?
注:我刚才照你说的,改为y_train.values.ravel(),运行后无报错,但是提示“Process finished with exit code 0。这是什么问题?
追答
你y的datatype 为什么是str 你试试 a Process finished with exit code 0 是程序正常运行并完成