python-3.x - 如何在 Python 中使用 k-fold-stratified 创建实际的数据帧
问题描述
在我从 sklearn Stratifiednfold 返回的索引中,如何从每个折叠中创建一个相应的数据框?
skf = StratifiedKFold(n_splits=10)
skf.get_n_splits(X, y)
for train_index, test_index in skf.split(X, y):
print("TRAIN:", train_index, "TEST:", test_index)
打印出带有索引的列表。如何将这些映射回我的原始数据框?
我需要它们,因为我想在运行我的 texclassification 模型之前将我的增强数据添加到训练数据中。
解决方案
您可以使用您拥有的索引列表过滤原始数据框,如下所示:
df = pd.DataFrame({'foo': ['a', 'b', 'c', 'd', 'e']})
indices = [0, 2, 4]
df = df[df.index.isin(indices)]
输出:
foo
0 a
2 c
4 e
推荐阅读
- nginx - 在 nginx.conf 中使用环境变量或参数
- android - 从房间中的实体中检索列表类型字段
- c# - 在对象列表中查找第一个匹配的字符串值
- python - 在 Pandas 中使用 np.where 后如何获取剩余的数据帧?
- javascript - AJAX 针对单个锚元素
- javascript - 我想从我的 select2() 库的下拉列表中禁用剩余的选择选项
- seal - Microsoft SEAL:减去两个 PolyCRT 组成的密文后需要负值
- bash - 如何检查文件或目录的大小是否大于 Bash 中的值?
- c# - .NET Core DI 使用自定义委托解析键控服务返回 null
- xml - If else odoo qweb 中的条件