我正在训练关于序列数据的LSTM RNN。
我有~2000个类的不平衡数据集。 我想使用过采样/欠采样的组合。
我对更多代表类进行了下采样,并希望使用SMOTE的python实现来过滤少数类。但是,对于RNN,我的输入是矢量列表,而不是单个矢量。我尝试使用SMOTE的基本示例执行任务,生成错误:
ValueError:找到带有暗淡的数组3.预期估算值<= 2。
有没有办法以这种方式使用SMOTE?这是我目前的代码:
all_vector_inputs = [vector_pair[0] for vector_pair in all_user_vectors]
all_vector_targets = [vector_pair[1] for vector_pair in all_user_vectors]
inputs_res, targets_res = SMOTE(kind='svm').fit_sample(
all_vector_inputs,
all_vector_targets
)
Python中的任何SMOTE替换建议也欢迎。