【发布时间】:2021-12-11 10:34:19
【问题描述】:
如何替换“?” Weka 中的值。
我有一个数据集。列中有标称值,也有一些值“?”。我试图用 Weka 中的 replacemissingvalues 过滤器替换缺失值。此过滤器替换了那些没有任何值(如空白单元格)但无法替换“?”的单元格。如何在 Weka 中替换 ??
带有? 符号的值的屏幕截图。
谢谢。
【问题讨论】:
标签: machine-learning weka missing-data
如何替换“?” Weka 中的值。
我有一个数据集。列中有标称值,也有一些值“?”。我试图用 Weka 中的 replacemissingvalues 过滤器替换缺失值。此过滤器替换了那些没有任何值(如空白单元格)但无法替换“?”的单元格。如何在 Weka 中替换 ??
带有? 符号的值的屏幕截图。
谢谢。
【问题讨论】:
标签: machine-learning weka missing-data
unofficial Weka 包missing-values-imputation 允许您使用各种方案替换和注入缺失值。
在您的情况下,您应该能够使用 Regex 注入方案并将 .*\?.* 作为正则表达式(并打开 updateHeader),用前导或尾随空格替换问号(添加到发布 2021.10.28)。
这是使用Regex 注入的MissingValuesInjection 过滤器的完整命令行:
weka.filters.unsupervised.attribute.MissingValuesInjection -algorithm "weka.filters.unsupervised.attribute.missingvaluesinjection.Regex -expression .*\\?.* -update-header -R first-last"
【讨论】:
'?' 有点棘手值,尤其是问号“?”之前或之后的任何空格要么 '? ' 不会被 Weka 识别为缺失值。不过你可以试试
在属性级别,使用选项(当您右键单击时)Replace values with... 可以替换“?”使用空白值,先应用缺失值过滤器或直接替换“?”使用您申请填充缺失值的常数。
有时该值可以包含空格“?”要么 '? ',所以相应地替换。
使用过滤器Replace with missing value 替换“?”与空白单元格。在使用过滤器ReplaceMissingValues 过滤器之前使用此过滤器。但是,据我所见,您可以随机替换为缺失值。不确定是否有特定值,例如“?”、“?”、“? ' 可以替换为缺失值(空白单元格)
最好的方法是选择第一个,this you tube link 提供了 3 种不同的方法来处理缺失值,并展示了如何访问 Replace values with... 的方式
【讨论】: