我正在从事多标签预测任务,其中标签被编码为一次性编码向量,例如[1, 0, 0]
or [0, 1, 0]
or[0, 0, 1]
类型ndarray
。
数据集不平衡。因此,我正在使用 SMOTE。这有效并对所有少数类进行上采样(它对多数类拥有的记录进行上采样)。
现在,我想对不那么多的记录进行上采样。根据文档,我可以使用和sampling_strategy
提供一个 dict 。key = class label
value = total records
但是,我无法将ndarray
as 键添加到我的 dict ( TypeError: unhashable type: 'numpy.ndarray'
) 中。这里最好的方法是什么?SMOTE 显然可以处理这些 one-hot 编码的向量——那么我该如何进入total records
呢?