00001
00002
00003
00004 package edu.tum.cs.bayesnets.learning;
00005
00006 import weka.filters.Filter;
00007 import weka.filters.supervised.attribute.Discretize;
00008
00015 public interface FilterNamer<T extends Filter> {
00023 public String[] getNames(T filter);
00024
00032 public static class DefaultDiscretize implements FilterNamer<Discretize> {
00033
00034
00035
00036
00037
00038 public String[] getNames(Discretize filter) {
00039 double[] cutPoints = filter.getCutPoints(0);
00040 String[] ret = new String[cutPoints.length + 1];
00041 ret[0] = String.format("<= %.2e", cutPoints[0]);
00042 for (int i = 0; i < cutPoints.length - 1; i++) {
00043 ret[i + 1] = String.format("> %.2e && <= %.2e", cutPoints[i],
00044 cutPoints[i + 1]);
00045 }
00046 ret[cutPoints.length] = String.format("> %.2e",
00047 cutPoints[cutPoints.length - 1]);
00048 return ret;
00049 }
00050 }
00051 }