我正在尝试使用scikit-learn的StratifiedShuffleSplit对我的数据集进行单一拆分,以保留类样本比率。
from sklearn.datasets import load_files
from sklearn.model_selection import StratifiedShuffleSplit
dataset = load_files('reviews/aggregated/')
split = StratifiedShuffleSplit(dataset.target, n_iter=1, test_size=0.2)
train_idx, test_idx = next(iter(split))
train_X, train_y = dataset.data[train_idx], dataset.target[train_idx]
test_X, test_y = dataset.data[test_idx], dataset.target[test_idx]
这给了我以下错误:
TypeError: __init__() got multiple values for keyword argument 'n_iter'
但我显然只传递了一个值。 StratifiedShuffleSplit是否与数据集不兼容?文档似乎没有答案
答案 0 :(得分:0)
事实证明the documentation已过时。看一下docstrings,我发现正确的方法是:
sss = StratifiedShuffleSplit(n_iter=1, test_size=0.2)
train_idx, test_idx = next(sss.split(dataset.data, dataset.target))