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

使用Weka将数值型目标属性设为Null以实现回归模型预测

给回归预测数据集设置目标属性缺失值的正确姿势

嘿,你的思路完全没问题!在用WEKA做回归预测时,确实需要把待预测数据集中的目标数值型属性设为缺失值,这样模型才会把这些样本识别成需要预测的对象,而不是训练样本。

看了你写的代码框架,我帮你补全并优化一下,确保能正确把指定索引的列全部设为缺失值:

// 用于将指定索引的属性列设为缺失值的方法
private Instances vacateAttribute(Instances dataCSV, int targetIndex) {
    // 遍历数据集中的每一条样本
    for (int i = 0; i < dataCSV.numInstances(); i++) {
        Instance instance = dataCSV.instance(i);
        // 用WEKA官方的setMissing方法设置缺失值,这是最规范的方式
        instance.setMissing(targetIndex);
    }
    return dataCSV;
}

几个关键点要注意:

  • 别用手动赋值Null的方式,WEKA有专门的setMissing()方法来处理缺失值,这样能保证数据集格式完全符合模型要求,避免出现奇怪的错误。
  • 一定要遍历所有样本,确保每一条数据的目标列都被设置成缺失值,不能只处理单个实例哦。
  • 调用的时候,targetIndex传的是目标属性的索引(WEKA里索引从0开始,比如目标列是第3列就传2)。

举个调用的例子:

假设你要预测的目标属性是数据集的第5列(索引4),调用代码可以这么写:

// 先加载好待预测的数据集
Instances predictData = ...;
// 处理成适合预测的格式
Instances readyForPrediction = vacateAttribute(predictData, 4);

这样处理后的数据集就可以直接喂给你的回归模型出预测结果啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:22:54