【问题标题】:'NearMiss' object has no attribute '_validate_data'“NearMiss”对象没有属性“_validate_data”
【发布时间】:2020-10-29 05:01:58
【问题描述】:

Detailed Image

这是下面显示错误的代码。

from imblearn.under_sampling import NearMiss
nm = NearMiss()
X_res,y_res=nm.fit_sample(X,Y)

【问题讨论】:

  • 该代码因X is not defined 而失败。您可以分享一个自包含的小型可运行示例吗?
  • 这个问题虽然看起来很奇怪,但库中的代码正在调用一个不存在的内部方法?似乎很可能是一个库问题,你能提供 imblearn 的版本吗? (寻找imblearn.version,如果它存在或者可能是imblearn.__version__

标签: python imbalanced-data imblearn


【解决方案1】:

您可能试图对不平衡的数据集进行欠采样。为此,您可以使用RandomUnderSampler 代替NearMiss

试试下面的代码:

from imblearn.under_sampling import RandomUnderSampler  

under_sampler = RandomUnderSampler()
X_res, y_res = under_sampler.fit_resample(X, y)

现在,您的数据集已平衡。您可以使用y_res.value_counts() 进行验证。

干杯!

【讨论】:

  • 使用RandomUnderSampler 而不是NearMiss 有什么具体原因吗?
【解决方案2】:

我的 conda 没有安装“imblearn”包,而是安装了一个名为“imbalanced-learn”的包,这就是它不获取数据的原因。但是奇怪的是jupyter notebook没有告诉我“imblearn”没有安装。

【讨论】:

    猜你喜欢
    • 2020-10-04
    • 2020-10-25
    • 2020-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-01
    • 2021-08-03
    相关资源
    最近更新 更多