Weka数据预处理问题:属性既非数值也非标称的修复方法咨询
Weka中属性既非数值也非标称的修复方案
手动排查异常值格式
直接在Weka Explorer中点击Edit按钮打开数据集,逐列检查目标属性的取值:- 排查是否存在混合格式(比如数值里混入字母、符号,如
123a、45.6-) - 检查是否有不规范的缺失值标识(如
NA、NULL而非Weka默认的?) - 清理属性值里的多余空格、制表符或乱码,直接修改异常样本或删除无效行
- 排查是否存在混合格式(比如数值里混入字母、符号,如
强制指定属性类型
如果Weka自动识别错误,可手动修改ARFF文件的属性定义:- 数值型属性:将对应行改为
@attribute 你的属性名 numeric - 标称型属性:将对应行改为
@attribute 你的属性名 {值1,值2,值3,...}
若原数据集是CSV格式,先通过Weka的Tools→ArffViewer打开CSV,另存为ARFF后再修改。
- 数值型属性:将对应行改为
标准化缺失值处理
若缺失值用非?的符号标记,先用ReplaceString过滤器将这些符号替换为?,再用ReplaceMissingValues过滤器填充缺失值(数值型用均值/中位数,标称型用众数)。字符串类属性转换
如果目标属性是文本字符串(被识别为string类型),用StringToWordVector过滤器将其转换为数值型特征;如果是应归为标称的属性,用NominalToString过滤器转换后重新导入。批量清理格式问题
用ReplaceString过滤器批量替换属性中的特殊字符、统一格式,比如把所有半角符号转全角,或清理换行符,确保属性取值格式统一后让Weka重新识别类型。
内容的提问来源于stack exchange,提问作者1 1
相关产品推荐
相关产品推荐

