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

WEKA无监督resample滤波器划分7:3训练测试集方法是否正确

WEKA使用Resample滤波器划分7:3训练/测试集的正确性说明

你当前的操作流程无法生成规范、无重叠的70%训练集+30%测试集,存在明确的方法错误,观察到的准确率高于分层划分结果属于划分不规范导致的偏差,具体问题和修正方案如下:

现有操作的核心错误

  • 第二次采样的逻辑不成立:Resample滤波器的invertSelection参数作用是反选同参数下上一次采样保留的样本,但你在第一次采样保存后执行了Undo操作,上一次采样的选择状态已经被完全重置,此时开启invertSelection、设置sampleSizePercent=30不会生成第一次70%样本的补集,只会重新随机抽取30%样本。最终生成的两个数据集大概率存在样本重叠,或是有部分样本既不在训练集也不在测试集,完全不满足训练集、测试集互斥且全覆盖的基本划分要求。
  • 无监督随机采样不适合分类任务:默认的无监督Resample是完全随机抽样,不会保留原始数据集的类别分布。如果数据集存在类别不平衡问题,随机采样可能导致训练集、测试集的类别比例和原始数据差异极大,直接造成准确率结果失真,且结果无法复现。
  • 准确率偏高的本质是数据泄露或分布偏移:如果测试集有部分样本已经出现在训练集中(样本泄露),或是采样后测试集的类别分布刚好适配模型训练结果,就会出现比分层划分更高的准确率,这个结果没有实际参考价值。

规范的7:3划分操作

  • 用Resample生成互斥数据集的正确流程:
    1. 在Preprocess选项卡加载完整原始数据集,选择unsupervised -> instances -> Resample滤波器,先固定randomSeed参数值(比如设为1,保证结果可复现),设置sampleSizePercent=70,保持invertSelection=false,应用滤波器后保存为训练集。
    2. 不要执行Undo,直接重新加载完整原始数据集,再次打开Resample滤波器,保持和第一步完全相同的randomSeed值,设置sampleSizePercent=70,将invertSelection=true,应用滤波器后保存为测试集。该流程生成的两个数据集完全互斥,且合并后覆盖全部原始样本,符合7:3划分的基本要求。
  • 分类任务优先选择分层划分:做分类模型评估时,更推荐使用分层采样滤波器,或是直接在Classify选项卡选择Percentage split验证模式、设置占比为70%,WEKA会自动执行分层抽样,保证训练集和测试集的类别比例与原始数据集完全一致,避免分布偏移导致的结果偏差,评估结论更可靠。

内容的提问来源于stack exchange,提问作者Encipher

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 18:57:35