Форматирование ввода для таких моделей, как логистическая регрессия и KNN для Python - PullRequest
0 голосов
/ 18 апреля 2019

В моем обучающем наборе у меня есть 24 векторных признака (FV).Каждый FV содержит 2 списка.Когда я пытаюсь установить это на model = LogisticRegression() или model = KNeighborsClassifier(n_neighbors=k), я получаю эту ошибку ValueError: setting an array element with a sequence.

В моем кадре данных каждая строка представляет каждый FV.Есть 3 колонки.Первый столбец содержит список частоты сердечных сокращений человека, второй - список соответствующих данных о деятельности и третий - цель.Визуально это выглядит примерно так:

HR                         ACT                      Target
[0.5018, 0.5106, 0.4872]  [0.1390, 0.1709, 0.0886]  1
[0.4931, 0.5171, 0.5514]  [0.2423, 0.2795, 0.2232]  0

Должен ли я:

  1. Соединить оба списка, чтобы образовать длинные FV
  2. Развернуть оба списка так, чтобы каждыйстолбец представляет одно значение.Другими словами, если в данных HR и ACT есть 5 элементов для FV, новый фрейм данных будет иметь 10 столбцов для объектов и 1 для цели.

Как логическая регрессия и KNN обрабатывают входные данные?Я понимаю, что логистическая регрессия объединяет входные данные линейно с использованием весов или значений коэффициентов.Но я не уверен, что это значит, когда дело доходит до списков столбцов VS.Означает ли это, что он автоматически преобразует соответствующие значения столбцов данных в список перед преобразованием?Есть ли разница между методом 1 и 2?

Кроме того, если требуется длинный список, я должен иметь длинный список как [HR,HR,HR,ACT,ACT,ACT] или [HR,ACT,HR,ACT,HR,ACT].

1 Ответ

1 голос
/ 18 апреля 2019

Вы должны пойти с 2

Разверните оба списка так, чтобы каждый столбец представлял одно значение.Другими словами, если в данных HR и ACT имеется 5 элементов для FV, новый фрейм данных будет иметь 10 столбцов для объектов и 1 для цели.

Затем следует выбрать столбцы объектов изфрейм данных и передайте его как X, а целевой столбец как Y в функцию fit модели.

Модели Sklearn принимают входные данные со следующей формой [n_samples, n_features], и поскольку после выполнения 2-го решения вы предложиливаш тренировочный фрейм данных будет иметь 2D-форму [n_samples, 10].

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