问题描述
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 的文档。