public static void main(String args[]) { ProblemTransformationMethod.evaluation(new BRq(), args); } }
/** * Description to display in the GUI. * * @return the description */ @Override public String globalInfo() { return "The Binary Relevance Method - Random Subspace ('quick') Version.\n" + "This version is able to downsample the number of instances across the binary models.\n" + "For more information see:\n" + getTechnicalInformation().toString(); }
@Override public void setOptions(String[] options) throws Exception { setDownSampleRatio(OptionUtils.parse(options, 'P', 0.75)); setSeed(OptionUtils.parse(options, 'S', 0)); super.setOptions(options); }
@Override public String [] getOptions() { List<String> result = new ArrayList<>(); OptionUtils.add(result, 'P', getDownSampleRatio()); OptionUtils.add(result, 'S', getSeed()); OptionUtils.add(result, super.getOptions()); return OptionUtils.toArray(result); }
@Override public void buildClassifier(Instances data) throws Exception { testCapabilities(data); if(getDebug()) System.out.print("-: Creating "+c+" models ("+m_Classifier.getClass().getName()+"): "); m_MultiClassifiers = AbstractClassifier.makeCopies(m_Classifier,c); if(getDebug()) System.out.print(" " + (i+1)); if(getDebug()) System.out.println(" :-");
@Override public double[] distributionForInstance(Instance instance) throws Exception { int c = instance.classIndex(); double result[] = new double[c]; Instance finstances[] = convertInstance(instance,c); for (int i = 0; i < c; i++) { result[i] = m_MultiClassifiers[i].classifyInstance(finstances[i]); //result[i] = m_MultiClassifiers[i].distributionForInstance(finstances[i])[1]; } return result; }
@Override public String [] getOptions() { List<String> result = new ArrayList<>(); OptionUtils.add(result, 'P', getDownSampleRatio()); OptionUtils.add(result, 'S', getSeed()); OptionUtils.add(result, super.getOptions()); return OptionUtils.toArray(result); }
@Override public void buildClassifier(Instances data) throws Exception { testCapabilities(data); if(getDebug()) System.out.print("-: Creating "+c+" models ("+m_Classifier.getClass().getName()+"): "); m_MultiClassifiers = AbstractClassifier.makeCopies(m_Classifier,c); if(getDebug()) System.out.print(" " + (i+1)); if(getDebug()) System.out.println(" :-");
@Override public double[] distributionForInstance(Instance instance) throws Exception { int c = instance.classIndex(); double result[] = new double[c]; Instance finstances[] = convertInstance(instance,c); for (int i = 0; i < c; i++) { result[i] = m_MultiClassifiers[i].classifyInstance(finstances[i]); //result[i] = m_MultiClassifiers[i].distributionForInstance(finstances[i])[1]; } return result; }
@Override public void setOptions(String[] options) throws Exception { setDownSampleRatio(OptionUtils.parse(options, 'P', 0.75)); setSeed(OptionUtils.parse(options, 'S', 0)); super.setOptions(options); }
public static void main(String args[]) { ProblemTransformationMethod.evaluation(new BRq(), args); } }
/** * Description to display in the GUI. * * @return the description */ @Override public String globalInfo() { return "The Binary Relevance Method - Random Subspace ('quick') Version.\n" + "This version is able to downsample the number of instances across the binary models.\n" + "For more information see:\n" + getTechnicalInformation().toString(); }