首页 > 解决方案 > TypeError: __init__() 在使用 SMOTE 时得到了一个意外的关键字参数 'ratio'

问题描述

由于我的数据集不平衡,我正在使用 SMOTE 进行过采样。我收到一个意外的参数错误。但在文档中,该ratio参数是为 SMOTE 定义的。有人可以帮助我了解我哪里出错了吗?

代码片段

from imblearn.over_sampling import SMOTE
sm = SMOTE(random_state=42, ratio=0.6)

错误

TypeError: __init__() got an unexpected keyword argument 'ratio'

标签: oversamplingimblearnsmote

解决方案


尝试用 'sampling_strategy' 替换 'Ratio' :

from imblearn.over_sampling import SMOTE

sm = SMOTE(random_state=42, sampling_strategy=0.6)

推荐阅读