#python #jupyter-notebook #reshape #valueerror
Вопрос:
Разделение 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_ поезд = (36201,) y_test = (15516,)
*
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
model_lda = LinearDiscriminantAnalysis()
model_lda.fit(y_train, X_train)
Ошибка, которую я получаю:
ValueError: ожидается, что в 2D-массив, вместо этого получили массив в 1D: массив=[0. 2. 4. … 2. 4. 3.].
Изменить данные с помощью массива.изменить(-1, 1), Если ваши данные имеют одну функцию или массив.изменить(1, -1), если он содержит один образец.
Ответ №1:
Старайтесь всегда писать минимальный, воспроизводимый пример. Это очень помогает в устранении ошибок.
Глядя на ваш model_lda.fit
, X и y должны быть перевернуты: model_lda.fit(X_train, y_train)
.
Вы можете ознакомиться с документацией LinearDiscriminantAnalysis
здесь.