Я не могу преобразовать свой DataFrame в переменную для хранения значений данных / функций (линейный дискриминантный анализ) - PullRequest
0 голосов
/ 19 июня 2020

Я использую LDA, чтобы уменьшить две таблицы, которые я создал, удержания и задержку, по сравнению с 9 и 18 функциями соответственно (вместе с каждой целью). Я планировал использовать для этого LDA, и в настоящее время пытаюсь преобразовать функции в переменную. Однако, похоже, это не работает. Я получаю KeyError ( 1 ) всякий раз, когда делаю это. Мои данные в порядке, и вот код. Если бы кто-нибудь мог сказать мне, что с ним не так, я был бы очень признателен. Вот хвост обоих моих DataFrames:

enter image description here enter image description here enter image description here

from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA

lda = LDA(n_components=2)
X = holds[[0,1,2,3,4,5,6,7,8]].values
Y = holds[9].values
X2 = latency[[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]].values
Y2 = latency[9].values

1 Ответ

0 голосов
/ 19 июня 2020

Эта ошибка не имеет ничего общего с LDA или scikit-learn в целом.

Ошибка возникает из-за того, как вы пытаетесь проиндексировать фрейм данных pandas что у вас есть.


Используйте это:

X = holds.iloc[: , [0,1,2,3,4,5,6,7,8]].values
Y = holds.iloc[:, 9].values

Аналогично для X2 и Y2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...