提醒是要对预测输出y做出ravel()转换

转载: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)

 
  1. #clf.fit(X.T,Y.T);

  2. clf.fit(X.T,Y.T.ravel());

提醒是要对预测输出y做出ravel()转换,例如下面操作:

注意ravel和reshape的区别(一个参数的时候没区别,都是转换成不规范形式)

 
  1. #coding:utf-8

  2. import numpy as np

  3. a=np.array([[1,2,3],[4,5,6]])

    扫描二维码关注公众号,回复: 2752593 查看本文章
  4. print a #2*3

  5. b=a.reshape(-1,1)

  6. c=a.reshape(1,-1)

  7. d=a.ravel()

  8. e=a.reshape(6) #一个参数的时候只能是总数

  9. print b.shape #6*1 [[1],[2],[3],[4],[5],[6]]

  10. print c.shape #1*6 [[1 2 3 4 5 6]]

  11. print d.shape #(6,) [1 2 3 4 5 6]

  12. 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 是程序正常运行并完成

猜你喜欢

转载自blog.csdn.net/m0_37870649/article/details/81632442
y