You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从两部分验证集中各抽取200条数据并入训练集?

解决方案:从验证集两部分各抽取样本加入训练集

我来帮你搞定这个需求!我们需要先把已保存的验证集拆分成你提到的两个指定大小的子集,再从每个子集里抽200条合并到训练集,同时更新剩余的验证集数据。下面是具体步骤和代码:

步骤说明

  1. 读取你之前拆分好的训练集、验证集和测试集
  2. 将验证集拆分为1821条和1913条的两个子集合
  3. 从每个验证子集里随机抽取200条数据
  4. 把抽取的样本合并到训练集,剩下的验证子集合并成新的验证集
  5. 保存更新后的数据集(测试集无需改动)

完整代码实现

import pandas as pd
import numpy as np

# 1. 读取已生成的数据集
train = pd.read_csv('trainNegatif.csv', index_col=0)
validate = pd.read_csv('validateNegatif.csv', index_col=0)
test = pd.read_csv('testNegatif.csv', index_col=0)

# 2. 拆分验证集为指定大小的两部分
val_part1, val_part2 = np.split(validate, [1821])
# 可选:验证拆分结果是否符合预期
print(f"验证集第一部分条数:{len(val_part1)}")
print(f"验证集第二部分条数:{len(val_part2)}")

# 3. 从每个子集随机抽取200条,random_state保证抽取结果可复现
sample_val1 = val_part1.sample(n=200, random_state=42)
sample_val2 = val_part2.sample(n=200, random_state=42)

# 4. 更新训练集和验证集
new_train = pd.concat([train, sample_val1, sample_val2], axis=0)
new_validate = pd.concat([val_part1.drop(sample_val1.index), val_part2.drop(sample_val2.index)], axis=0)

# 5. 保存更新后的数据集
new_train.to_csv("updated_trainNegatif.csv", sep=',')
new_validate.to_csv("updated_validateNegatif.csv", sep=',')
# 测试集没有变动,直接使用原文件即可

# 可选:验证更新后的数据集大小
print(f"更新后训练集条数:{len(new_train)}")
print(f"更新后验证集条数:{len(new_validate)}")

额外提醒

  • 如果你后续需要重新运行特征选择的代码(就是你写的CODE TRAINING DATA FOR NAIVE BAYES部分),记得用**更新后的训练集updated_trainNegatif.csv**来运行,这样特征才会基于最新的训练数据生成。
  • 代码里的random_state=42是为了让每次抽取的样本完全一致,要是不需要固定样本,可以去掉这个参数。

内容的提问来源于stack exchange,提问作者Trya Sovi Kartikasari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 09:02:42