修改平衡随机森林抽样

问题描述

我想将BalancedRandomForest库中的采样类型从RandomUnderSampling更改为ClusterCentroid,我已经更改了这一部分

self.base_sampler_ = RandomUnderSampler(
        sampling_strategy=self._sampling_strategy,replacement=self.replacement,)

成为这个

 self.base_sampler_ = ClusterCentroids(
        sampling_strategy=self._sampling_strategy,)

我修改的代码在#386行中。

在jupyter笔记本上运行后,出现了这样的错误

`---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-19-098f56165cd0> in <module>
      2 
      3 classifier = BalancedRandomForestClassifier(n_estimators=1000,random_state=5)
----> 4 classifier.fit(X_train,y_train)

~\Anaconda3\lib\site-packages\imblearn\ensemble\_forest.py in fit(self,X,y,sample_weight)
    481 
    482         # Check parameters
--> 483         self._validate_estimator()
    484 
    485         if not self.bootstrap and self.oob_score:

~\Anaconda3\lib\site-packages\imblearn\ensemble\_forest.py in _validate_estimator(self,default)
    371         self.base_sampler_ = ClusterCentroids(
    372             sampling_strategy=self._sampling_strategy,--> 373             replacement=self.replacement,374         )
    375 

~\Anaconda3\lib\site-packages\imblearn\utils\_validation.py in inner_f(*args,**kwargs)
    638                           FutureWarning)
    639         kwargs.update({k: arg for k,arg in zip(sig.parameters,args)})
--> 640         return f(**kwargs)
    641     return inner_f

TypeError: __init__() got an unexpected keyword argument 'replacement'`

我现在不知道该怎么办,是否仍然可以将RandomSampling更改为ClusterCentroid?谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)