/** * Main method for testing this class. * * @param argv should contain arguments to the filter: use -h for help */ public static void main(String[] argv) { runFilter(new Discretize(), argv); } }
/** * Another constructor, sets the attribute indices immediately * * @param cols the attribute indices */ public Discretize(String cols) { m_DefaultCols = cols; setAttributeIndices(cols); }
/** * Sets the format of the input instances. * * @param instanceInfo an Instances object containing the input instance * structure (any instances contained in the object are ignored - * only the structure is required). * @return true if the outputFormat may be collected immediately * @throws Exception if the input format can't be set successfully */ @Override public boolean setInputFormat(Instances instanceInfo) throws Exception { // alter child behaviour to do what we want m_FindNumBins = true; return super.setInputFormat(instanceInfo); }
public void setOptions(String[] options) throws Exception { setMakeBinary(Utils.getFlag('D', options)); setUseBinNumbers(Utils.getFlag('Y', options)); setUseEqualFrequency(Utils.getFlag('F', options)); setFindNumBins(Utils.getFlag('O', options)); setInvertSelection(Utils.getFlag('V', options)); setDesiredWeightOfInstancesPerInterval((new Double(weight)).doubleValue()); } else { setDesiredWeightOfInstancesPerInterval(-1); setBins(Integer.parseInt(numBins)); } else { setBins(10); setAttributeIndices(convertList); } else { setAttributeIndices(m_DefaultCols); setBinRangePrecision(Integer.parseInt(precisionS)); setSpreadAttributeWeight(Utils.getFlag("spread-attribute-weight", options)); if (getInputFormat() != null) { setInputFormat(getInputFormat());
Discretize discretizer = new Discretize(); discretizer.setBins(m_NumIntervals); discretizer.setIgnoreClass(true); int[] indices = new int[] {instances.classIndex()}; discretizer.setAttributeIndicesArray(indices); discretizer.setInputFormat(instances); dataToUseForMakingWeights = Filter.useFilter(instances, discretizer);
m_disTransform = new weka.filters.unsupervised.attribute.Discretize(); m_classIsNominal = false; .setBins(10); ((weka.filters.unsupervised.attribute.Discretize) m_disTransform) .setInvertSelection(true); .setAttributeIndices(rangeList); } else { m_disTransform = new weka.filters.supervised.attribute.Discretize();
m_Discretizer.setIgnoreClass(true); m_Discretizer.setAttributeIndices("" + (instances.classIndex() + 1)); m_Discretizer.setBins(getNumBins()); m_Discretizer.setUseEqualFrequency(getUseEqualFrequency()); m_Discretizer.setInputFormat(instances); Instances newTrain = Filter.useFilter(instances, m_Discretizer);
m_Filter = new Discretize(); m_Filter.setInputFormat(new Instances(data, 0)); m_Filter.setBins(m_DiscretizeBin); data = Filter.useFilter(data, m_Filter);
m_Discretizer.input(instance); m_Discretizer.batchFinished(); Instance newInstance = m_Discretizer.output();//(Instance)instance.copy(); if (m_OldIndexToNewIndex != null) { newInstance.setClassValue(m_OldIndexToNewIndex[(int)newInstance.classValue()]);
/** Creates a specialized Discretize */ public Filter getFilter(String rangelist) { try { Discretize f = new Discretize(); f.setAttributeIndices(rangelist); return f; } catch (Exception ex) { ex.printStackTrace(); fail("Exception setting attribute range: " + rangelist + "\n" + ex.getMessage()); } return null; }
this.discretizer = new Discretize(); try { discretizer.setInputFormat(this.instances); trainingSet = Filter.useFilter(this.instances, discretizer); } catch (Exception e) {
/** Creates a default Discretize */ public Filter getFilter() { Discretize f= new Discretize(); return f; }
public void testInverted() { m_Filter = getFilter("1,2"); ((Discretize)m_Filter).setInvertSelection(true); Instances result = useFilter(); assertEquals(m_Instances.numAttributes(), result.numAttributes()); for (int i = 0; i < result.numAttributes(); i++) { if ((i < 2) || !m_Instances.attribute(i).isNumeric()) { assertEquals(m_Instances.attribute(i).type(), result.attribute(i).type()); assertEquals(m_Instances.attribute(i).name(), result.attribute(i).name()); } else { assertEquals(Attribute.NOMINAL, result.attribute(i).type()); assertEquals(10, result.attribute(i).numValues()); } } }
public void testBins() { m_Filter = getFilter("3"); ((Discretize)m_Filter).setBins(5); Instances result = useFilter(); assertEquals(m_Instances.numAttributes(), result.numAttributes()); assertEquals(Attribute.NOMINAL, result.attribute(2).type()); assertEquals(5, result.attribute(2).numValues()); ((Discretize)m_Filter).setBins(20); result = useFilter(); assertEquals(m_Instances.numAttributes(), result.numAttributes()); assertEquals(Attribute.NOMINAL, result.attribute(2).type()); assertEquals(20, result.attribute(2).numValues()); }
public void testFindNumBins() { m_Filter = getFilter("3"); ((Discretize)m_Filter).setFindNumBins(true); Instances result = useFilter(); assertEquals(m_Instances.numAttributes(), result.numAttributes()); assertEquals(Attribute.NOMINAL, result.attribute(2).type()); assertTrue(5 >= result.attribute(2).numValues()); }
public void setOptions(String[] options) throws Exception { setMakeBinary(Utils.getFlag('D', options)); setUseBinNumbers(Utils.getFlag('Y', options)); setUseEqualFrequency(Utils.getFlag('F', options)); setFindNumBins(Utils.getFlag('O', options)); setInvertSelection(Utils.getFlag('V', options)); setDesiredWeightOfInstancesPerInterval((new Double(weight)).doubleValue()); } else { setDesiredWeightOfInstancesPerInterval(-1); setBins(Integer.parseInt(numBins)); } else { setBins(10); setAttributeIndices(convertList); } else { setAttributeIndices(m_DefaultCols); setBinRangePrecision(Integer.parseInt(precisionS)); setSpreadAttributeWeight(Utils.getFlag("spread-attribute-weight", options)); if (getInputFormat() != null) { setInputFormat(getInputFormat());
Discretize discretizer = new Discretize(); discretizer.setBins(m_NumIntervals); discretizer.setIgnoreClass(true); int[] indices = new int[] {instances.classIndex()}; discretizer.setAttributeIndicesArray(indices); discretizer.setInputFormat(instances); dataToUseForMakingWeights = Filter.useFilter(instances, discretizer);
m_disTransform = new weka.filters.unsupervised.attribute.Discretize(); m_classIsNominal = false; .setBins(10); ((weka.filters.unsupervised.attribute.Discretize) m_disTransform) .setInvertSelection(true); .setAttributeIndices(rangeList); } else { m_disTransform = new weka.filters.supervised.attribute.Discretize();
m_Discretizer.setIgnoreClass(true); m_Discretizer.setAttributeIndices("" + (instances.classIndex() + 1)); m_Discretizer.setBins(getNumBins()); m_Discretizer.setUseEqualFrequency(getUseEqualFrequency()); m_Discretizer.setInputFormat(instances); Instances newTrain = Filter.useFilter(instances, m_Discretizer);