【问题标题】:"A column-vector y was passed when a 1d array was expected" error message“需要一维数组时传递了列向量 y”错误消息
【发布时间】:2020-02-07 08:43:22
【问题描述】:
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis

clf = LinearDiscriminantAnalysis()
clf.fit(np.matrix(X_train), np.matrix(y_train))

但我收到错误消息。如上所述。

我检查了 y_train 的形状,但它是 (294,1)。 尝试了 ravel() 的东西,但它是 (1,294),如果我转置它,它会回顾它在 ravel() 之前的表现。

X_train.shape 是 (294,8)。

【问题讨论】:

    标签: sklearn-pandas


    【解决方案1】:

    首先,不要使用np.matrix,而是使用np.array,不再推荐使用这个类。

    试试这个:

    clf.fit(X_train, np.ravel(y_train))
    

    【讨论】:

    • 很高兴能够提供帮助!
    • 还有一个后续问题。还应该将我的 X_train 数据转换为 np.array 吗?或者矩阵适合那个?
    • 如果您的数据还不是数组类型,则必须先将其转换为 np.array,然后再将其提供给分类器。 np.matrix 返回一个类似数组的对象,这就是为什么不建议在这种情况下使用 np.matrix。
    猜你喜欢
    • 2016-03-13
    • 2017-07-31
    • 2020-09-18
    • 2011-10-07
    • 1970-01-01
    • 2018-05-28
    • 1970-01-01
    • 2021-05-22
    • 2014-12-20
    相关资源
    最近更新 更多