【发布时间】:2021-01-16 09:29:48
【问题描述】:
我已经调查了Stratified sample in pandas、stratified sampling on ranges 等,但他们没有专门评估我的问题,因为我希望将数据随机分成 3 组。
我有一个 10k 行的不平衡数据框,10% 是正类,90% 是负类。我试图找出一种方法将此数据帧拆分为 3 个数据集,考虑到不平衡,分别为数据帧的 60%、20%、20%。但是,这种拆分必须是随机且不可替换的,这意味着如果我将 3 个数据集放在一起,它必须等于原始数据帧。
通常我会使用train_test_split(),但它仅在您希望拆分为两个而不是三个数据集时才有效。
有什么建议吗?
可重现的例子:
df = pd.DataFrame({"target" : np.random.choice([0,0,0,0,0,0,0,0,0,1], size=10000)}, index=range(0,10000,1))
【问题讨论】:
标签: pandas numpy scikit-learn sklearn-pandas