Example usage for weka.core Instance attribute

List of usage examples for weka.core Instance attribute

Introduction

In this page you can find the example usage for weka.core Instance attribute.

Prototype

public Attribute attribute(int index);

Source Link

Document

Returns the attribute with the given index.

Usage

From source file:tr.gov.ulakbim.jDenetX.streams.filters.AddNoiseFilter.java

License:Open Source License

public Instance nextInstance() {
    Instance inst = (Instance) this.inputStream.nextInstance().copy();
    for (int i = 0; i < inst.numAttributes(); i++) {
        double noiseFrac = i == inst.classIndex() ? this.classNoiseFractionOption.getValue()
                : this.attNoiseFractionOption.getValue();
        if (inst.attribute(i).isNominal()) {
            DoubleVector obs = (DoubleVector) this.attValObservers.get(i);
            if (obs == null) {
                obs = new DoubleVector();
                this.attValObservers.set(i, obs);
            }/*w  ww .j a  v a  2s .c  om*/
            int originalVal = (int) inst.value(i);
            if (!inst.isMissing(i)) {
                obs.addToValue(originalVal, inst.weight());
            }
            if ((this.random.nextDouble() < noiseFrac) && (obs.numNonZeroEntries() > 1)) {
                do {
                    inst.setValue(i, this.random.nextInt(obs.numValues()));
                } while (((int) inst.value(i) == originalVal) || (obs.getValue((int) inst.value(i)) == 0.0));
            }
        } else {
            GaussianEstimator obs = (GaussianEstimator) this.attValObservers.get(i);
            if (obs == null) {
                obs = new GaussianEstimator();
                this.attValObservers.set(i, obs);
            }
            obs.addObservation(inst.value(i), inst.weight());
            inst.setValue(i, inst.value(i) + this.random.nextGaussian() * obs.getStdDev() * noiseFrac);
        }
    }
    return inst;
}

From source file:tubesduaai.NB_030.java

@Override
public double classifyInstance(Instance instnc) throws Exception {
    // Pengklasifikasi instance baru
    int NUM_CLASSES = datas.classAttribute().numValues();
    //        System.out.println("------------------------------");
    //        System.out.println(datas.get(1));
    //        System.out.println(datas.get(1).stringValue(2));
    // Probability of classes
    int arg = 0;//from  ww w  .j  a  va  2s.  c  o m
    Double argmax = 0.0;
    Double temp = 1.0;
    for (int i = 0; i < NUM_CLASSES; i++) { // arg max (vj E enum.attributes(datas))
        // P(kelas)*P(atribut|kelas)
        temp = ((new Double(num[i])) / datas.numInstances());
        for (int j = 0; j < datas.numAttributes(); j++) {
            if (j != datas.classIndex()) {
                //                System.out.println("--------------");
                //                System.out.println(map.get(instnc.attribute(j).name()+instnc.stringValue(j)+datas.classAttribute().value(i)));
                temp *= map.get(
                        instnc.attribute(j).name() + instnc.stringValue(j) + datas.classAttribute().value(i));
            }
        }
        if (temp > argmax) {
            argmax = temp;
            arg = i;
        }
    }
    switch (arg) {
    case 0:
        return 0.0;
    case 1:
        return 1.0;
    case 2:
        return 2.0;
    default:
        return 0.0;
    }
}

From source file:wekimini.DataManager.java

public void setOutputValue(int index, int whichOutput, double val) {
    Instance i = allInstances.instance(index);
    if (i == null) {
        return;/*from   w w w  .  j a v  a2 s  . c  o  m*/
    }

    boolean changesNumberOfInstances = i.isMissing(numMetaData + numInputs + whichOutput);

    if (isDiscrete[whichOutput]) {
        int v = (int) val;
        Attribute a = i.attribute(numMetaData + numInputs + whichOutput);
        if (a.isNominal() && v >= 0 && v <= numClasses[whichOutput]) {
            i.setValue(numMetaData + numInputs + whichOutput, v);
        } else {
            logger.log(Level.SEVERE, "Attribute value out of range");
            //TODO: CHeck this
        }
    } else {
        //TODO insert error checking / range limiting for this version!
        i.setValue(numMetaData + numInputs + whichOutput, val);
    }
    if (changesNumberOfInstances) {
        setNumExamplesPerOutput(whichOutput, getNumExamplesPerOutput(whichOutput) + 1);
    }
}

From source file:wekimini.DataManager.java

public String getTimestampAsString(int index) {
    if (index >= 0 && index < allInstances.numInstances()) {
        Instance in = allInstances.instance(index);
        if (in != null) {
            return in.attribute(timestampIndex).formatDate(in.value(timestampIndex));
            // return in.value(timestampIndex);
        }//w w  w  .j a  va2s.  co m
    }
    return "error";
}