java - Weka 未标记属性...它是否必须是实例的一部分才能进行分类?

标签 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
overcast, 83, 86, FALSE, yes
rainy, 70, 96, FALSE, yes
rainy, 68, 80, FALSE, yes
......

5 个属性(4 个没有类属性)。当我创建一个实例对其进行分类时,我应该为属性类引入一个值吗?喜欢 ”?”或“-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());

以及功能:

公共(public)实例 featureVectorToInstances(ArrayList featureVector){

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;

}

公共(public)字符串classifyInstanceToString(实例未标记)抛出异常{

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

}

提前致谢

最佳答案

如果我理解正确的话:

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

关于java - Weka 未标记属性...它是否必须是实例的一部分才能进行分类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18126038/

相关文章:

java - Java EE的ASP.NET MVC框架端口?

java - 自定义 session 并且不点击 Application::newSession

java - 扩展 Java 应用程序 - 现有的集群感知 IoC 框架?

android - Android 应用程序的多个实例 - git 项目管理最佳方法

machine-learning - 我如何知道训练数据足以用于机器学习

c++ - 在 OpenCV 的 FlannBasedMatcher 中,训练究竟发生在什么阶段?

java - 计算按键次数时出现 ArrayIndexOutOfBoundsException

android - android studio 在 Linux dev 机器上将 sqlite db 保存在哪里?

android - 动态更改工具栏菜单项文本的文本颜色

python - 用于文本分类任务的最佳 scikit 分类器