我已经开发了一个用于回归的模型。现在我需要提供一个数据集作为输入,并接收预测结果作为输出。我的目标属性是数值型,我想我需要在输入数据集中将其填充为“null”值。
这是我设置目标属性值为null的代码:
//一个方法,用于清空给定索引处的列
private Instances vacateAttribute(Instances dataCSV, int index) {
Instance instance ;
//在每次迭代中,将给定索引处的“Nombre”列的值填充为null值
for (int i=0; i < dataCSV.numInstances();i++) {
//读取dataCSV的每一行的值
instance = dataCSV.instance(i);
instance.setValue(index,null ); //attribute("DureeNumeric"). index 7
}
return dataCSV;
}
我得到了一个异常,提示我属性既不是名义型也不是字符串型。
java.lang.IllegalArgumentException: Attribute neither nominal nor string!
at weka.core.AbstractInstance.setValue(AbstractInstance.java:501) ~[weka-stable-3.8.0.jar:na]
那么,我可以将我的数值属性值设置为null吗?
提前感谢
回答:
我通过在同一列中分配预测结果而不是用Null值填充现有列并在新列中分配预测结果来解决这个问题。