IMBREARN中如何从随机欠采样器中获取样本索引

2024-06-30 13:12:15 发布

您现在位置:Python中文网/ 问答频道 /正文

有人知道在使用IMBREAND的随机欠采样器进行欠采样后,是否/如何获得所选样本的索引吗? 以前有一个参数“return\u index=True”,现在新版本中删除了该参数,并假定替换为一个属性“sample\u index”。但是,如果我尝试使用该属性,它将不起作用(请参阅下面的代码)。我正在使用IMBRearn版本0.6.2

russs = RandomUnderSampler(random_state=0,sampling_strategy={6: 600}).fit(X_train_point,y_train_point)
russs.sample_indices_

AttributeError                            Traceback (most recent call last)
<ipython-input-78-8397ba40f19b> in <module>
      1 russs = RandomUnderSampler(random_state=0,sampling_strategy={6: 600}).fit(X_train_point,y_train_point)
----> 2 russs.sample_indices

AttributeError: 'RandomUnderSampler' object has no attribute 'sample_indices'

Tags: sample版本参数index属性trainrandomfit
3条回答

也面对这个。。尽管医生说 自版本0.4以来已弃用:已弃用返回索引。改用属性sample_index_u 我恢复到0.5.0,并且能够使用旧的return_index=True参数

pip install imbalanced-learn==0.5.0

我还找到了一个解决办法。由于欠采样仅基于y_向量,所以可以添加一个计数器变量,而不是x向量/数组,并按如下方式写入:

counter=range(0,len(y_train_point))
index,y_resampled=RandomUnderSampler(random_state=0,sampling_strategy={6:600}).fit(counter,y_train_point)
X_resampled=X_train_point[index]

昨天我遇到了这个问题,最终我可以访问该属性

确保最后没有忘记错误消息中的下划线

应该是

russs.sample_indices_

不是

russs.sample_indices

相关问题 更多 >