public SingleLabelInstance(int numAttributes) { this.instanceData = new DenseInstanceData(new double[numAttributes]); // m_AttValues = new double[numAttributes]; /* * for (int i = 0; i < m_AttValues.length; i++) { m_AttValues[i] = * Utils.missingValue(); } */ this.weight = 1; this.classData = new SingleClassInstanceData(); this.instanceInformation = new InstancesHeader(); }
public static String getAttributeNameString(InstancesHeader context, int attIndex) { if ((context == null) || (attIndex >= context.numAttributes())) { return "[att " + (attIndex + 1) + "]"; } int instAttIndex = attIndex < context.classIndex() ? attIndex : attIndex + 1; return "[att " + (attIndex + 1) + ":" + context.attribute(instAttIndex).name() + "]"; }
public static String getClassLabelString(InstancesHeader context, int classLabelIndex) { if ((context == null) || (classLabelIndex >= context.numClasses())) { return "<class " + (classLabelIndex + 1) + ">"; } return "<class " + (classLabelIndex + 1) + ":" + context.classAttribute().value(classLabelIndex) + ">"; }
public static String getClassNameString(InstancesHeader context) { if (context == null) { return "[class]"; } return "[class:" + context.classAttribute().name() + "]"; }
@Override public void trainOnInstanceImpl(MultiLabelInstance inst) { int numOutputs = inst.numberOutputTargets(); Prediction prediction = new MultiLabelPrediction(numOutputs); for(int i=0; i<numOutputs;i++) prediction.setVotes(i,new double[]{inst.classValue(i)}); this.lastSeenClasses = prediction; }
@Override public void setClassValue(int indexClass, double valueAttribute) { InstanceInformation instanceInformation = this.instanceHeader.getInstanceInformation(); this.instanceData.setValue(instanceInformation.outputAttributeIndex(indexClass), valueAttribute); }
@Override public double valueInputAttribute(int attributeIndex) { InstanceInformation instanceInformation = this.instanceHeader.getInstanceInformation(); return this.instanceData.value(instanceInformation.inputAttributeIndex(attributeIndex)); }
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() + "]"; }
@Override public Prediction targetPredictionToSource(Prediction targetPrediction) { Prediction sourcePrediction=new MultiLabelPrediction(this.numSourceInstancesOutputs); for (int i=0; i<targetPrediction.numOutputAttributes();i++){ sourcePrediction.setVotes(this.targetOutputIndices[i], targetPrediction.getVotes(i)); } return sourcePrediction; }
@Override protected Instance newDenseInstance(int numAttributes) { // numAttributes is this.instanceInformation.numAttributes() this.range.setUpper(numAttributes); return new DenseInstance(numAttributes); }
/** * Class attribute. * * @return the attribute */ @Override public Attribute classAttribute() { return this.instanceHeader.attribute(classIndex()); }
public int numInputAttributes() { int ret = 0; if (classIndex == Integer.MAX_VALUE) {//Multi Label ret=this.numAttributes()-range.getSelectionLength(); //JD } else { //Single Label ret = this.numAttributes() - 1; } return ret; }
/** * Class is missing. * * @return true, if successful */ @Override public boolean classIsMissing() { return this.instanceData.isMissing(classIndex()); }
@Override public Prediction getPredictionForInstance(MultiLabelInstance x){ if (this.majorityLabelset == null) { int L = x.numberOutputTargets(); return new MultiLabelPrediction(L); } return this.majorityLabelset; }
@Override public Attribute outputAttribute(int outputIndex) { InstanceInformation instanceInformation = this.instanceHeader.getInstanceInformation(); return instanceInformation.outputAttribute(outputIndex); }
public static String getClassLabelString(InstancesHeader context, int classLabelIndex) { if ((context == null) || (classLabelIndex >= context.numClasses())) { return "<class " + (classLabelIndex + 1) + ">"; } return "<class " + (classLabelIndex + 1) + ":" + context.classAttribute().value(classLabelIndex) + ">"; }
public static String getClassNameString(InstancesHeader context) { if (context == null) { return "[class]"; } return "[class:" + context.classAttribute().name() + "]"; }