我正在寻找一种优雅的方式来以特定方式对数据集进行采样。我找到了一些解决方案,但我想知道你们中是否有人知道更好的方法。
这是我正在查看的任务:
我想平衡我的数据集,以便类 0 的实例数量与类 1 的实例数量相同,因此在下面的示例中,我们有 5 个类 1 的实例和 11 个类 0 的实例:
编号 | 班级 ------ | ------ 1 | 1 1 | 0 1 | 0 1 | 0 1 | 0 2 | 1 2 | 1 2 | 0 2 | 0 2 | 0 3 | 1 3 | 1 3 | 0 3 | 0 3 | 0 3 | 0
到目前为止,我刚刚随机删除了 6 个 0 类实例,但我想防止一个 id 的所有实例都被删除。我尝试使用 sklearn 进行分层“拆分”,但它不起作用,因为并非每个 id 都包含超过 1 个项目。所需的输出应类似于以下内容:
编号 | 班级 ------ | ------ 1 | 1 1 | 0 2 | 1 2 | 1 2 | 0 2 | 0 3 | 1 3 | 1 3 | 0 3 | 0
有什么好主意吗?