@Override public int numInputAttributes() { return this.instanceHeader.numInputAttributes(); }
public static String getInputAttributeNameString(InstancesHeader context, int attIndex) { if ((context == null) || (attIndex >= context.numInputAttributes())) { return "[att " + (attIndex + 1) + "]"; } int instAttIndex = attIndex; return "[att " + (attIndex + 1) + ":" + context.inputAttribute(instAttIndex).name() + "]"; }
public void initializeWeights() { instancesSeen = 0; int numTargets = tree.getModelContext().numOutputAttributes(); int numInputs = tree.getModelContext().numInputAttributes(); weights = new double[numTargets][numInputs+1]; tree.classifierRandom.setSeed(1234); for (int i = 0; i < numTargets; i++) { for (int j = 0; j < numInputs + 1; j++) { // The last index corresponds to the constant b weights[i][j] = 2 * tree.classifierRandom.nextDouble() - 1; } } }
public InstanceOutputAttributesSelector(InstancesHeader sourceInstances, int [] targetOutputIndices){ this.targetOutputIndices=targetOutputIndices; this.numSourceInstancesOutputs=sourceInstances.numOutputAttributes(); int totAttributes=sourceInstances.numInputAttributes()+this.targetOutputIndices.length; targetInstances= new InstancesHeader(); List<Attribute> v = new ArrayList<Attribute>(totAttributes); List<Integer> indexValues = new ArrayList<Integer>(totAttributes); int numInputs=sourceInstances.numInputAttributes(); for (int i=0; i<numInputs;i++) { v.add(sourceInstances.inputAttribute(i)); indexValues.add(i); } for (int i=0; i<this.targetOutputIndices.length;i++) { v.add(sourceInstances.outputAttribute(this.targetOutputIndices[i])); indexValues.add(numInputs+i); } targetInstances.setAttributes(v,indexValues); Range r= new Range("-" + targetOutputIndices.length); r.setUpper(totAttributes); targetInstances.setRangeOutputIndices(r); }
@Override public Instance sourceInstanceToTarget(Instance sourceInstance) { double [] attValues = new double[targetInstances.numAttributes()]; Instance newInstance=new InstanceImpl(sourceInstance.weight(),attValues); int numInputs=this.targetInstances.numInputAttributes(); for (int i=0; i<numInputs; i++){ newInstance.setValue(i, sourceInstance.valueInputAttribute(i)); } for (int i=0; i<this.targetOutputIndices.length; i++){ newInstance.setValue(numInputs+i, sourceInstance.valueOutputAttribute(targetOutputIndices[i])); } newInstance.setDataset(targetInstances); return newInstance; }
int numAttributes = this.header[outputIndex].numInputAttributes(); double[] attVals = new double[numAttributes+1]; //JD - +1 for class for (int attributeIndex = 0; attributeIndex < numAttributes; attributeIndex++) {
int numAttributes = this.header[outputIndex].numInputAttributes(); double[] attVals = new double[numAttributes+1]; //JD - +1 for class for (int attributeIndex = 0; attributeIndex < numAttributes; attributeIndex++) {