[英]Weka unlabeled attribute…does it has to be part of the Instance to get classified?
[英]labeling an unlabeled instance in Weka(java code)
我是Java和Weka工具的初学者,我想在我的Java代码中将Logitboost算法与DecisionStump一起用作弱学习者,但我不知道它是如何工作的。 我创建一个具有六个特征(不具有标签特征)的向量,并将其馈送到logitboost中以进行标记和分配概率。 标签是1或-1,训练/测试数据在arff文件中。这是我的代码,但是算法总是返回0! 谢谢
double candidate_similarity(ha_nodes ha , WeightMatrix[][] wm , LogitBoost lgb ,ArrayList<Attribute> atts){
LogitBoost lgb = new LogitBoost();
lgb.buildClassifier(newdata);//newdata is an arff file with some labeled data
Evaluation eval = new Evaluation(newdata);
eval.crossValidateModel(lgb, newdata, 10, new Random(1));
try {
feature_vector[0] = IP_sim(Main.a_new.dip, ha.candidate.dip_cand);
feature_vector[1] = IP_sim(Main.a_new.sip, ha.candidate.sip_cand);
feature_vector[2] = IP_s_d_sim(Main.a_new.sip, ha);
feature_vector[3] = Dport_sim(Main.a_new.dport, ha);
freq_weight(Main.a_new.Atype, ha, freq_avg, weight_avg , wm);
feature_vector[4] = weight_avg;
feature_vector[5] = freq_avg;
double[] values = new double[]{feature_vector[0],feature_vector[1],feature_vector[2],feature_vector[3],feature_vector[4],feature_vector[5]};
DenseInstance newInst = new DenseInstance(1.0,values);
Instances dataUnlabeled = new Instances("TestInstances", atts, 0);
dataUnlabeled.add(newInst);
dataUnlabeled.setClassIndex(dataUnlabeled.numAttributes() - 1);
double clslable = lgb.classifyInstance(inst);
} catch (Exception ex) {
//Logger.getLogger(Module2.class.getName()).log(Level.SEVERE, null, ex);
}
return clslable;}
这个新数据来自哪里? 您需要正确加载文件以获得正确的分类,请使用此类从文件加载功能: http : //weka.sourceforge.net/doc/weka/core/converters/ArffLoader.html
我不会发布示例代码,因为我将weka与MATLAB一起使用,因此我没有Java示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.