Я пытаюсь создать двоичный классификатор SVM с данными ЭКГ для диагностики апноэ во сне. Имея 16 000 нечетных входов, я выполняю вейвлет-преобразование, вручную извлекаю функции HRV и сохраняю их в списке функций, а затем подаю этот список в классификатор.
Это работало нормально с необработанными данными, прежде чем я предварительно обработал их с Шаг вейвлет-преобразования - некоторые значения в списке возможностей стали nan
после преобразования, что означало, что я получил эту ошибку для этой строки кода:
clf.fit(X_train, y_train)
ValueError: Input contains NaN, infinity or a value too large for dtype('float64').
, поэтому я выполнил этот шаг:
x = pd.DataFrame(data=X_train)
x=x[~x.isin([np.nan, np.inf, -np.inf]).any(1)]
, который решил ValueError, но удалив «ошибочные» входы, означал, что формы X_train и y_train не совпадают:
clf.fit(x, y_train)
#error
Found input variables with inconsistent numbers of samples: [11255, 11627]
Я пытаюсь выяснить, как удалить соответствующие значения из y_train подобрать образцы? Или есть лучший подход к этому?
Пожалуйста, дайте мне знать, если вам нужна дополнительная информация о коде.