protected double [] getNormalizedErrors(Prediction prediction, Instance instance) { double [] errors= new double[outputsToLearn.length]; for (int i=0; i<outputsToLearn.length;i++){ double predY=normalizeOutputValue(i,prediction.getVote(outputsToLearn[i], 0)); double trueY=normalizeOutputValue(i,instance.valueOutputAttribute(outputsToLearn[i])); errors[i]=Math.abs(predY-trueY); } return errors; }
protected double [] getNormalizedErrors(Prediction prediction, Instance instance) { double [] errors= new double[outputsToLearn.length]; for (int i=0; i<outputsToLearn.length;i++){ double predY=normalizeOutputValue(i,prediction.getVote(outputsToLearn[i], 0)); double trueY=normalizeOutputValue(i,instance.valueOutputAttribute(outputsToLearn[i])); errors[i]=Math.abs(predY-trueY); } return errors; }
@Override public Instance sourceInstanceToTarget(Instance sourceInstance) { double [] attValues = new double[targetInstances.numAttributes()]; Instance newInstance=new InstanceImpl(sourceInstance.weight(),attValues); for (int i=0; i<this.targetInputIndices.length; i++){ newInstance.setValue(i, sourceInstance.valueInputAttribute(targetInputIndices[i])); } for (int i=0; i<this.targetOutputIndices.length; i++){ newInstance.setValue(i, sourceInstance.valueOutputAttribute(targetOutputIndices[i])); } newInstance.setDataset(targetInstances); return newInstance; }
@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; }
for( int m=0 ; m<inst.numOutputAttributes() ; m++){ sumNumerator+=Math.pow( inst.valueOutputAttribute(m) - trainPrediction.getVote(m,0) , 2 ); sumDenominator+=Math.pow( inst.valueOutputAttribute(m) , 2 );