Ошибка значения: Ожидаемый 2D массив, вместо этого получен 1D массив: массив=[0. 2. 4. … 2. 4. 3.]

#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 здесь.