我正在尝试使用 ECG 数据构建二进制 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 中删除相应的值以匹配样本?或者有更好的方法吗?
如果您需要有关代码的更多信息,请告诉我。