微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ValueError:预期的二维数组,而是得到一维数组:array=[0. 2. 4. ... 2. 4. 3.]

如何解决ValueError:预期的二维数组,而是得到一维数组:array=[0. 2. 4. ... 2. 4. 3.]

Test_train 拆分:

from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.30,random_state = 10)

测试训练值是:X_train = (36201,32) X_test = (15516,32) y_train = (36201,) y_test = (15516,)

*

from sklearn.discriminant_analysis import LineardiscriminantAnalysis
model_lda = LineardiscriminantAnalysis()
model_lda.fit(y_train,X_train)

我遇到的错误

ValueError: 预期的二维数组,而是得到一维数组: 数组=[0. 2. 4. ... 2. 4. 3.].
如果您的数据具有单个特征,则使用 array.reshape(-1,1) 或使用 array.reshape(1,-1) 如果它包含单个样本来重塑您的数据。

解决方法

尽量写一个最小的、可重现的例子。它对解决错误有很大帮助。

看看你的 model_lda.fit,X 和 y 应该是倒置的: model_lda.fit(X_train,y_train)

您可以查看 LinearDiscriminantAnalysis here 的文档。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。