/** * No args constructor. */ public ClassifierSplitEvaluator() { updateOptions(); List<AbstractEvaluationMetric> pluginMetrics = AbstractEvaluationMetric .getPluginMetrics(); if (pluginMetrics != null) { for (AbstractEvaluationMetric m : pluginMetrics) { System.err.println(m.getMetricName()); if (m.appliesToNominalClass()) { m_pluginMetrics.add(m); m_numPluginStatistics += m.getStatisticNames().size(); } } } }
/** * No args constructor. */ public RegressionSplitEvaluator() { updateOptions(); List<AbstractEvaluationMetric> pluginMetrics = AbstractEvaluationMetric .getPluginMetrics(); if (pluginMetrics != null) { for (AbstractEvaluationMetric m : pluginMetrics) { if (m.appliesToNumericClass()) { m_pluginMetrics.add(m); m_numPluginStatistics += m.getStatisticNames().size(); } } } }
/** * Returns true if the named statistic is maximisable * * @param m the metric to check * @param statName the name of the statistic to check * @return true if the metric in question is optimum at a maximal value */ protected boolean pluginMetricIsMaximisable(AbstractEvaluationMetric m, String statName) { return m.statisticIsMaximisable(statName); }
/** * Get a list of plugin metric names * * @return a list of plugin metric names */ public static List<String> getPluginMetricNames() { List<String> pluginNames = new ArrayList<String>(); List<AbstractEvaluationMetric> pluginMetrics = AbstractEvaluationMetric.getPluginMetrics(); if (pluginMetrics != null) { for (AbstractEvaluationMetric m : pluginMetrics) { List<String> statNames = m.getStatisticNames(); for (String s : statNames) { pluginNames.add(s.toLowerCase()); } } } return pluginNames; }
/** * Utility method to get a list of the names of all built-in and plugin * evaluation metrics * * @return the complete list of available evaluation metrics */ public static List<String> getAllEvaluationMetricNames() { List<String> allEvals = new ArrayList<String>(); for (String s : Evaluation.BUILT_IN_EVAL_METRICS) { allEvals.add(s); } final List<AbstractEvaluationMetric> pluginMetrics = AbstractEvaluationMetric.getPluginMetrics(); if (pluginMetrics != null) { for (AbstractEvaluationMetric m : pluginMetrics) { if (m instanceof InformationRetrievalEvaluationMetric) { List<String> statNames = m.getStatisticNames(); for (String s : statNames) { allEvals.add(s); } } else { allEvals.add(m.getMetricName()); } } } return allEvals; }
m_pluginMetrics = AbstractEvaluationMetric.getPluginMetrics(); if (m_pluginMetrics != null) { for (AbstractEvaluationMetric m : m_pluginMetrics) { m.setBaseEvaluation(this); if (m instanceof InformationRetrievalEvaluationMetric) { List<String> statNames = m.getStatisticNames(); for (String s : statNames) { m_metricsToDisplay.add(s.toLowerCase()); m_metricsToDisplay.add(m.getMetricName().toLowerCase());
for (AbstractEvaluationMetric m : m_pluginMetrics) { if (m instanceof StandardEvaluationMetric && m.appliesToNominalClass() && !m.appliesToNumericClass()) { String metricName = m.getMetricName().toLowerCase(); boolean display = m_metricsToDisplay.contains(metricName); for (AbstractEvaluationMetric m : m_pluginMetrics) { if (m instanceof StandardEvaluationMetric && !m.appliesToNominalClass() && m.appliesToNumericClass()) { String metricName = m.getMetricName().toLowerCase(); boolean display = m_metricsToDisplay.contains(metricName); for (AbstractEvaluationMetric m : m_pluginMetrics) { if (m instanceof InformationTheoreticEvaluationMetric) { if ((m_ClassIsNominal && m.appliesToNominalClass()) || (!m_ClassIsNominal && m.appliesToNumericClass())) { String metricName = m.getMetricName().toLowerCase(); boolean display = m_metricsToDisplay.contains(metricName); List<String> statNames = m.getStatisticNames(); for (String s : statNames) { display = for (AbstractEvaluationMetric m : m_pluginMetrics) { if (m instanceof StandardEvaluationMetric && m.appliesToNominalClass() && m.appliesToNumericClass()) { String metricName = m.getMetricName().toLowerCase(); boolean display = m_metricsToDisplay.contains(metricName); List<String> statNames = m.getStatisticNames(); for (String s : statNames) {
evalMetric = pluginMetric.getStatistic(statName); default: if (pluginMetric != null && !pluginMetric.statisticIsMaximisable(statName)) {
if (metrics != null) { for (AbstractEvaluationMetric m : metrics) { if (m.appliesToNumericClass()) { List<String> statNames = m.getStatisticNames(); for (String s : statNames) { result[current++] = new Double(m.getStatistic(s));
for (AbstractEvaluationMetric m : m_pluginMetrics) { if (m instanceof InformationRetrievalEvaluationMetric && m.appliesToNominalClass()) { String metricName = m.getMetricName().toLowerCase(); if (m_metricsToDisplay.contains(metricName)) { List<String> statNames = m.getStatisticNames(); for (String name : statNames) { if (m_metricsToDisplay.contains(name.toLowerCase())) { for (AbstractEvaluationMetric m : m_pluginMetrics) { if (m instanceof InformationRetrievalEvaluationMetric && m.appliesToNominalClass()) { String metricName = m.getMetricName().toLowerCase(); if (m_metricsToDisplay.contains(metricName)) { List<String> statNames = m.getStatisticNames(); for (String name : statNames) { if (m_metricsToDisplay.contains(name.toLowerCase())) { for (AbstractEvaluationMetric m : m_pluginMetrics) { if (m instanceof InformationRetrievalEvaluationMetric && m.appliesToNominalClass()) { String metricName = m.getMetricName().toLowerCase(); if (m_metricsToDisplay.contains(metricName)) { List<String> statNames = m.getStatisticNames(); for (String name : statNames) { if (m_metricsToDisplay.contains(name.toLowerCase())) {
if (metrics != null) { for (AbstractEvaluationMetric m : metrics) { if (m.appliesToNominalClass()) { List<String> statNames = m.getStatisticNames(); for (String s : statNames) { result[current++] = new Double(m.getStatistic(s));
String metricName = ((PluginTag) m_evaluationMeasure).getMetricName(); for (AbstractEvaluationMetric m : PLUGIN_METRICS) { if (m.getMetricName().equals(metricName)) { pluginMetricNominalClass = m.appliesToNominalClass(); break;
/** * Initializes the plugin lookup */ protected void initializeWithPluginMetrics() { m_pluginMetrics.clear(); List<AbstractEvaluationMetric> pluginMetrics = m_eval.getPluginMetrics(); if (pluginMetrics != null && pluginMetrics.size() > 0) { for (AbstractEvaluationMetric m : pluginMetrics) { List<String> statNames = m.getStatisticNames(); for (String s : statNames) { m_pluginMetrics.put(s.toLowerCase(), m); } } } }
/** * Get the name of the metric represented by this tag * * @return the name of the metric */ public String getMetricName() { return m_metric.getMetricName(); }
/** * Get the value of a plugin metric * * @param m the metric to get the value from * @param statName the name of the statistic to get the value of * @param classValIndex the optional class value index * @return the value of the metric * @throws Exception if a problem occurs */ protected double getPluginMetricValue(AbstractEvaluationMetric m, String statName, int... classValIndex) throws Exception { boolean hasValIndex = classValIndex != null && classValIndex.length == 1; if (m instanceof InformationRetrievalEvaluationMetric) { return hasValIndex ? ((InformationRetrievalEvaluationMetric) m) .getStatistic(statName, classValIndex[0]) : ((InformationRetrievalEvaluationMetric) m) .getClassWeightedAverageStatistic(statName); } return m.getStatistic(statName); }
/** * Utility method to get a list of the names of all built-in and plugin * evaluation metrics * * @return the complete list of available evaluation metrics */ public static List<String> getAllEvaluationMetricNames() { List<String> allEvals = new ArrayList<String>(); for (String s : Evaluation.BUILT_IN_EVAL_METRICS) { allEvals.add(s); } final List<AbstractEvaluationMetric> pluginMetrics = AbstractEvaluationMetric.getPluginMetrics(); if (pluginMetrics != null) { for (AbstractEvaluationMetric m : pluginMetrics) { if (m instanceof InformationRetrievalEvaluationMetric) { List<String> statNames = m.getStatisticNames(); for (String s : statNames) { allEvals.add(s); } } else { allEvals.add(m.getMetricName()); } } } return allEvals; }
m_pluginMetrics = AbstractEvaluationMetric.getPluginMetrics(); if (m_pluginMetrics != null) { for (AbstractEvaluationMetric m : m_pluginMetrics) { m.setBaseEvaluation(this); if (m instanceof InformationRetrievalEvaluationMetric) { List<String> statNames = m.getStatisticNames(); for (String s : statNames) { m_metricsToDisplay.add(s.toLowerCase()); m_metricsToDisplay.add(m.getMetricName().toLowerCase());
for (AbstractEvaluationMetric m : m_pluginMetrics) { if (m instanceof StandardEvaluationMetric && m.appliesToNominalClass() && !m.appliesToNumericClass()) { String metricName = m.getMetricName().toLowerCase(); boolean display = m_metricsToDisplay.contains(metricName); for (AbstractEvaluationMetric m : m_pluginMetrics) { if (m instanceof StandardEvaluationMetric && !m.appliesToNominalClass() && m.appliesToNumericClass()) { String metricName = m.getMetricName().toLowerCase(); boolean display = m_metricsToDisplay.contains(metricName); for (AbstractEvaluationMetric m : m_pluginMetrics) { if (m instanceof InformationTheoreticEvaluationMetric) { if ((m_ClassIsNominal && m.appliesToNominalClass()) || (!m_ClassIsNominal && m.appliesToNumericClass())) { String metricName = m.getMetricName().toLowerCase(); boolean display = m_metricsToDisplay.contains(metricName); List<String> statNames = m.getStatisticNames(); for (String s : statNames) { display = for (AbstractEvaluationMetric m : m_pluginMetrics) { if (m instanceof StandardEvaluationMetric && m.appliesToNominalClass() && m.appliesToNumericClass()) { String metricName = m.getMetricName().toLowerCase(); boolean display = m_metricsToDisplay.contains(metricName); List<String> statNames = m.getStatisticNames(); for (String s : statNames) {
evalMetric = pluginMetric.getStatistic(statName); default: if (pluginMetric != null && !pluginMetric.statisticIsMaximisable(statName)) {
if (metrics != null) { for (AbstractEvaluationMetric m : metrics) { if (m.appliesToNumericClass()) { List<String> statNames = m.getStatisticNames(); for (String s : statNames) { result[current++] = new Double(m.getStatistic(s));