@Override public double[] distributionForInstance(Instance TestInstance) throws Exception { double r[] = ((ProblemTransformationMethod)m_Classifier).distributionForInstance(TestInstance); return nearestSubset(r); }
public static void main(String args[]) { ProblemTransformationMethod.evaluation(new CT(), args); } }
@Override public Enumeration listOptions() { Vector result = new Vector(); result.addElement(new Option("\tMethod Name\n\tdefault: RAkEL1", "S", 1, "-S <value>")); OptionUtils.add(result, super.listOptions()); return OptionUtils.toEnumeration(result); }
@Override public String [] getOptions() { List<String> result = new ArrayList<>(); OptionUtils.add(result, 'S', getMethod()); OptionUtils.add(result, super.getOptions()); return OptionUtils.toArray(result); }
@Override public void setOptions(String[] options) throws Exception { setMethod(OptionUtils.parse(options, 'S', "RAkEL1")); super.setOptions(options); }
@Override public void buildClassifier(Instances train) throws Exception { testCapabilities(train); if (getDebug()) System.out.print("-: Models: "); train = new Instances(train); m_Classifiers = ProblemTransformationMethod.makeCopies((ProblemTransformationMethod) m_Classifier, m_NumIterations); int sub_size = (train.numInstances()*m_BagSizePercent/100); for(int i = 0; i < m_NumIterations; i++) { if(getDebug()) System.out.print(""+i+" "); if (m_Classifiers[i] instanceof Randomizable) ((Randomizable)m_Classifiers[i]).setSeed(i); train.randomize(new Random(m_Seed+i)); Instances sub_train = new Instances(train,0,sub_size); m_Classifiers[i].buildClassifier(sub_train); } if (getDebug()) System.out.println(":-"); }
/** * Called by classifier's main() method upon initialisation from the command line. * TODO: In the future Use runClassifier(h,args) directly, and depreciated this function. * @param h A classifier * @param args Command-line options. */ public static void evaluation(MultiLabelClassifier h, String args[]) { runClassifier(h,args); }
/** * TestCapabilities. * Make sure the training data is suitable. * @param D the data */ public void testCapabilities(Instances D) throws Exception { // get the classifier's capabilities, enable all class attributes and do the usual test Capabilities cap = getCapabilities(); cap.enableAllClasses(); //getCapabilities().testWithFail(D); // get the capabilities again, test class attributes individually int L = D.classIndex(); for(int j = 0; j < L; j++) { Attribute c = D.attribute(j); cap.testWithFail(c,true); } }
cr.setClassifier(((ProblemTransformationMethod)m_Classifier).getClassifier()); // assume PT Result result_1 = Evaluation.evaluateModel((ProblemTransformationMethod)cr,D_train,D_test,"PCut1","5"); double acc1 = (Double)result_1.getMeasurement(i_ErrFn);
@Override public String [] getOptions() { List<String> result = new ArrayList<>(); OptionUtils.add(result, 'I', getIterations()); OptionUtils.add(result, super.getOptions()); return OptionUtils.toArray(result); }
@Override public void setOptions(String[] options) throws Exception { setMethod(OptionUtils.parse(options, 'S', "RAkEL1")); super.setOptions(options); }
@Override public void buildClassifier(Instances train) throws Exception { testCapabilities(train); if (getDebug()) System.out.print("-: Models: "); train = new Instances(train); m_Classifiers = ProblemTransformationMethod.makeCopies((ProblemTransformationMethod) m_Classifier, m_NumIterations); int sub_size = (train.numInstances()*m_BagSizePercent/100); for(int i = 0; i < m_NumIterations; i++) { if(getDebug()) System.out.print(""+i+" "); if (m_Classifiers[i] instanceof Randomizable) ((Randomizable)m_Classifiers[i]).setSeed(i); train.randomize(new Random(m_Seed+i)); Instances sub_train = new Instances(train,0,sub_size); m_Classifiers[i].buildClassifier(sub_train); } if (getDebug()) System.out.println(":-"); }
/** * Called by classifier's main() method upon initialisation from the command line. * TODO: In the future Use runClassifier(h,args) directly, and depreciated this function. * @param h A classifier * @param args Command-line options. */ public static void evaluation(MultiLabelClassifier h, String args[]) { runClassifier(h,args); }
/** * TestCapabilities. * Make sure the training data is suitable. * @param D the data */ public void testCapabilities(Instances D) throws Exception { // get the classifier's capabilities, enable all class attributes and do the usual test Capabilities cap = getCapabilities(); cap.enableAllClasses(); //getCapabilities().testWithFail(D); // get the capabilities again, test class attributes individually int L = D.classIndex(); for(int j = 0; j < L; j++) { Attribute c = D.attribute(j); cap.testWithFail(c,true); } }
cr.setClassifier(((ProblemTransformationMethod)m_Classifier).getClassifier()); // assume PT Result result_1 = Evaluation.evaluateModel((ProblemTransformationMethod)cr,D_train,D_test,"PCut1","5"); double acc1 = (Double)result_1.getMeasurement(i_ErrFn);
public static void main(String args[]) throws Exception { ProblemTransformationMethod.evaluation(new BPNN(), args); } }
@Override public Enumeration listOptions() { Vector result = new Vector(); result.addElement(new Option("\tThe number of iterations of EM to carry out (default: 10)", "I", 1, "-I <value>")); OptionUtils.add(result, super.listOptions()); return OptionUtils.toEnumeration(result); }
@Override public String [] getOptions() { List<String> result = new ArrayList<>(); OptionUtils.add(result, 'S', getSeed()); OptionUtils.add(result, super.getOptions()); return OptionUtils.toArray(result); }
@Override public void setOptions(String[] options) throws Exception { setIterations(OptionUtils.parse(options, 'I', 10)); super.setOptions(options); }
@Override protected void updateWeights(ProblemTransformationMethod h, Instances D) throws Exception { for(Instance x : D) { double y[] = h.distributionForInstance(x); for(int j = 0; j < y.length; j++) { x.setValue(j,(y[j] < 0.5) ? 0. : 1.); } } }