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

使用Java Weka统计离散属性age各取值的出现次数

统计Weka中age属性各取值的出现次数

要搞定Weka数据集里age属性每个预设取值的出现次数(包括那些一次都没出现的取值),用Java API来实现是最直接可控的方式,下面给你具体的代码示例和说明:

实现思路

  1. 先拿到age属性预先定义的所有取值(就是你指定的{10-19,20-29,...,90-99})
  2. 初始化统计容器,把所有预设取值的次数先设为0,避免漏掉没出现的取值
  3. 遍历整个数据集,逐个统计每个取值的实际出现次数
  4. 最后按要求格式输出所有结果

代码示例

import weka.core.Attribute;
import weka.core.Instances;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.HashMap;
import java.util.Map;

public class AgeValueCounter {
    public static void main(String[] args) throws Exception {
        // 替换成你的数据集文件路径
        BufferedReader reader = new BufferedReader(new FileReader("your_dataset.arff"));
        Instances data = new Instances(reader);
        reader.close();

        // 获取age属性对象
        Attribute ageAttribute = data.attribute("age");
        if (ageAttribute == null) {
            System.out.println("数据集里找不到age属性,请检查属性名是否正确");
            return;
        }

        // 初始化统计Map,确保所有预设取值都被纳入
        Map<String, Integer> ageCountMap = new HashMap<>();
        for (int i = 0; i < ageAttribute.numValues(); i++) {
            String value = ageAttribute.value(i);
            ageCountMap.put(value, 0);
        }

        // 遍历数据集统计次数
        for (int i = 0; i < data.numInstances(); i++) {
            // 跳过age属性值缺失的实例
            if (!data.instance(i).isMissing(ageAttribute)) {
                String currentAge = data.instance(i).stringValue(ageAttribute);
                ageCountMap.put(currentAge, ageCountMap.get(currentAge) + 1);
            }
        }

        // 输出最终统计结果
        System.out.println("age属性各取值出现次数统计:");
        for (String ageRange : ageCountMap.keySet()) {
            System.out.printf("age %s: %d%n", ageRange, ageCountMap.get(ageRange));
        }
    }
}

代码说明

  • 记得把代码里的your_dataset.arff替换成你实际的数据集文件路径
  • 初始化Map时先把所有预设取值设为0,保证哪怕某个区间没有数据,也会输出0的结果
  • 遍历数据集时跳过了age值缺失的实例,避免统计出错
  • 最终输出的格式完全符合你要的样式,比如age 10-19: 50这种形式

要是你想用Weka命令行工具的话,虽然也能实现,但步骤繁琐且不好控制输出格式,上面的API方法是最省心的选择。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:56:11