SMOTE 错误 - 只有系列名称可用于系列 dtype 映射中的键

问题描述

我使用 SMOTE 是因为我的数据集不平衡,但我收到了如下所述的错误消息。我在这个论坛上看到过一篇关于同一主题的帖子。但是,在那篇文章中,建议发生此错误的原因是列名重复。我检查了我的数据集并且没有重复的列名,但我仍然收到此错误。我的数据集有分类变量,并且都已转换为 1 和 0。

val (leftRange,rightRange) = pairs.unzip()

错误信息如下:

sm = SMOTE(random_state = 2) 
X_train_res,y_train_res = sm.fit_resample(X_train,y_train)

解决方法

我使用以下方法解决了错误 - 您可能会也可能不会使用 ravel()。

sm = SMOTE(random_state = 2) X_train_res,y_train_res = sm.fit_resample(X_train.values,y_train.ravel())