List of usage examples for weka.core Instance classAttribute
public Attribute classAttribute();
From source file:smo2.SMO.java
License:Open Source License
public void mygenstat(Instances m_tinst) { System.out.println("remove text till here..."); String[] m_cnames = this.classAttributeNames(); try {/*from w ww. j av a 2 s . c o m*/ for (int m_k = 0; m_k < m_tinst.numInstances(); m_k++) { Instance mc_inst = m_tinst.instance(m_k); String m_classname = mc_inst.stringValue(mc_inst.classAttribute()); // Instance mc_wmiss = (Instance)mc_inst.copy(); // mc_wmiss.setData(m_tinst); // double mpval = // ((Classifier)classifier).classifyInstance(mc_wmiss); /* * int m_rid=0; if(m_classname.equals(m_cnames[0])) { m_rid =0; * }else if(m_classname.equals(m_cnames[1])){ m_rid=1; }else{ * System.out.println("unknown class: m_classname " + * m_classname + ", m_cname " + m_cnames[0] + ", " + * m_cnames[1]); System.exit(1); } */ // System.out.println("classvalue " + mc_inst.classValue() + // " , classname " + m_classname); double m_output = obtainVotes(mc_inst); double[][] m_bias = bias(); double m_myscore = myScore(m_output, m_bias[0][1]); // if(mc_inst.classAttribute().isNumeric()) // { // System.out.println(m_k + "]class=" + m_classname + ",output=" // + m_output + ",bias=" + m_bias[0][1] + ",score=" + // m_myscore+",pred="+mpval); // }else{ // String m_pclass = mc_inst.classAttribute().value((int)mpval); // double // mprob=classifier.distributionForInstance(withMissing)[(int)mpval]; // System.out.println(m_k + "]class=" + m_classname + ",output=" // + m_output + ",bias=" + m_bias[0][1] + ",score=" + // m_myscore+",pred="+m_pclass+",prob="+m_prob); // } System.out.println(m_k + "]class=" + m_classname + ",output=" + m_output + ",bias=" + m_bias[0][1] + ",score=" + m_myscore); } } catch (Exception e) { e.printStackTrace(); System.err.println(e.getMessage()); } }
From source file:tubes1.myClassifiers.myC45.java
public int[] calculateCount(Instances instances) { int numClasses = instances.classAttribute().numValues(); int numInstances = instances.numInstances(); int[] num = new int[numClasses]; for (int i = 0; i < numClasses; i++) { num[i] = 0;//from w w w . j a v a2 s . c om } for (int i = 0; i < numInstances; i++) { Instance instance = instances.instance(i); double classValue = instance.value(instance.classAttribute()); int classIndex = (int) classValue; num[classIndex]++; } return num; }
From source file:xlong.urlclassify.others.LibLINEAR.java
License:Open Source License
/** * Computes the distribution for a given instance. * * @param instance the instance for which distribution is computed * @return the distribution//from w w w . j a va2 s.co m * @throws Exception if the distribution can't be computed successfully */ public double[] distributionForInstance(Instance instance) throws Exception { if (!getDoNotReplaceMissingValues()) { m_ReplaceMissingValues.input(instance); m_ReplaceMissingValues.batchFinished(); instance = m_ReplaceMissingValues.output(); } if (getConvertNominalToBinary() && m_NominalToBinary != null) { m_NominalToBinary.input(instance); m_NominalToBinary.batchFinished(); instance = m_NominalToBinary.output(); } if (m_Filter != null) { m_Filter.input(instance); m_Filter.batchFinished(); instance = m_Filter.output(); } FeatureNode[] x = instanceToArray(instance); double[] result = new double[instance.numClasses()]; if (m_ProbabilityEstimates) { if (m_SolverType != SolverType.L2R_LR && m_SolverType != SolverType.L2R_LR_DUAL && m_SolverType != SolverType.L1R_LR) { throw new WekaException("probability estimation is currently only " + "supported for L2-regularized logistic regression"); } int[] labels = m_Model.getLabels(); double[] prob_estimates = new double[instance.numClasses()]; Linear.predictProbability(m_Model, x, prob_estimates); // Return order of probabilities to canonical weka attribute order for (int k = 0; k < labels.length; k++) { result[labels[k]] = prob_estimates[k]; } } else { int prediction = Linear.predict(m_Model, x); assert (instance.classAttribute().isNominal()); result[prediction] = 1; } return result; }