Java Weka未标记属性…它必须是实例的一部分才能被分类吗?

Java Weka未标记属性…它必须是实例的一部分才能被分类吗?,java,android,classification,weka,inference,Java,Android,Classification,Weka,Inference,轻松快速的怀疑。假设我的ARFF看起来像这样: @attribute outlook { sunny, overcast, rainy } @attribute temperature numeric @attribute humidity numeric @attribute windy { TRUE, FALSE } @attribute play { yes, no } @data sunny, 85, 85, FALSE, no sunny, 80, 90, TRUE, no over

轻松快速的怀疑。假设我的ARFF看起来像这样:

@attribute outlook { sunny, overcast, rainy }
@attribute temperature numeric
@attribute humidity numeric
@attribute windy { TRUE, FALSE }
@attribute play { yes, no }

@data
sunny, 85, 85, FALSE, no
sunny, 80, 90, TRUE, no
overcast, 83, 86, FALSE, yes
rainy, 70, 96, FALSE, yes
rainy, 68, 80, FALSE, yes
......
5个属性(4个不带class属性)。当我创建一个实例对其进行分类时,是否应该为属性类引入一个值?像“?”或“-1”之类的。它改变了什么吗?例如:

ArrayList<Double> featureVector = new ArrayList<Double>();
featureVector.add((double) 0);
featureVector.add((double) 85);
featureVector.add((double) 85);
featureVector.add((double) 1);  
//featureVector.add((double) -1); -> Class attribute

Instances instances = classification.featureVectorToInstances(featureVector);
result = classification.classifyInstanceToString(instances.firstInstance());
}


如果我理解正确,请提前感谢


您必须为列车进站提供标签。原因:学习算法使用跟踪数据构建模型,然后使用该模型对新实例进行分类,然后评估自己的类预测,将其与原始标签进行比较。因此,如果没有标签,就不可能对算法性能进行评估

嗯,我不知道我是否解释得很好。是的,为train实例提供标签是必要的,但我的意思是如果有必要为我们想要分类类属性值的每个实例提供标签(标签,我们想要找到的那个!)。我在主帖子中添加了一些代码…也许现在对任何人来说都更清晰??一个多星期过去了,仍然没有正确的答案……:(
Instances instances = new Instances("Instances", attributes, 0);    
DenseInstance instance = new DenseInstance(attributes.size());

for(int i = 0; i < featureVector.size(); i++)

    instance.setValue(i, featureVector.get(i));

instances.add(instance);    
//Set class attribute
instances.setClassIndex(attributes.size()-1);

return instances;
double clsLabel = cModel.classifyInstance(unlabeled);
unlabeled.setClassValue(clsLabel);
return unlabeled.classAttribute().value((int)clsLabel);