Get error: unexpected keyword argument 'random_state' when using TomekLinks
Get error: unexpected keyword argument 'random_state' when using TomekLinks
我的代码是:
undersample = TomekLinks(sampling_strategy='majority', n_jobs= -1, random_state = 42)
X_tl, y_tl = undersample.fit_resample(X, y)
当我 运行 它时,我得到这个错误:
TypeError: __init__() got an unexpected keyword argument 'random_state'
我的包版本是:
imbalanced-learn==0.9.0
虽然在documentation中存在这个参数:
random_state : int, RandomState instance or None, optional
(default=None)
当我检查 _tomek_links.py
中的构造函数时,我没有看到随机状态字段:
@_deprecate_positional_args
def __init__(self, *, sampling_strategy="auto", n_jobs=None):
super().__init__(sampling_strategy=sampling_strategy)
self.n_jobs = n_jobs
我想,您看错了文档。那个是版本 0.3.0-dev
,所以我检查了:https://imbalanced-learn.org/stable/references/generated/imblearn.under_sampling.TomekLinks.html——这个参数在较新的版本 0.9.0
.
中已被弃用
此外,正如文档所述,您似乎必须在 make_classification
函数中指定它,如下所示:
X, y = make_classification(n_classes=2, class_sep=2,
weights=[0.1, 0.9],
n_informative=3, n_redundant=1,
flip_y=0, n_features=20,
n_clusters_per_class=1,
n_samples=1000, random_state=10
)
我的代码是:
undersample = TomekLinks(sampling_strategy='majority', n_jobs= -1, random_state = 42)
X_tl, y_tl = undersample.fit_resample(X, y)
当我 运行 它时,我得到这个错误:
TypeError: __init__() got an unexpected keyword argument 'random_state'
我的包版本是:
imbalanced-learn==0.9.0
虽然在documentation中存在这个参数:
random_state : int, RandomState instance or None, optional (default=None)
当我检查 _tomek_links.py
中的构造函数时,我没有看到随机状态字段:
@_deprecate_positional_args
def __init__(self, *, sampling_strategy="auto", n_jobs=None):
super().__init__(sampling_strategy=sampling_strategy)
self.n_jobs = n_jobs
我想,您看错了文档。那个是版本 0.3.0-dev
,所以我检查了:https://imbalanced-learn.org/stable/references/generated/imblearn.under_sampling.TomekLinks.html——这个参数在较新的版本 0.9.0
.
此外,正如文档所述,您似乎必须在 make_classification
函数中指定它,如下所示:
X, y = make_classification(n_classes=2, class_sep=2,
weights=[0.1, 0.9],
n_informative=3, n_redundant=1,
flip_y=0, n_features=20,
n_clusters_per_class=1,
n_samples=1000, random_state=10
)