Example usage for weka.core DenseInstance setValue

List of usage examples for weka.core DenseInstance setValue

Introduction

In this page you can find the example usage for weka.core DenseInstance setValue.

Prototype

@Override
public void setValue(int attIndex, double value) 

Source Link

Document

Sets a specific value in the instance to the given value (internal floating-point format).

Usage

From source file:com.ivanrf.smsspam.SpamClassifier.java

License:Apache License

public static String classify(String model, String text, JTextArea log) {
    FilteredClassifier classifier = loadModel(model, log);

    //Create the instance
    ArrayList<String> fvNominalVal = new ArrayList<String>();
    fvNominalVal.add("ham");
    fvNominalVal.add("spam");

    Attribute attribute1 = new Attribute("spam_class", fvNominalVal);
    Attribute attribute2 = new Attribute("text", (List<String>) null);
    ArrayList<Attribute> fvWekaAttributes = new ArrayList<Attribute>();
    fvWekaAttributes.add(attribute1);/*from ww  w .ja va2  s  .c o m*/
    fvWekaAttributes.add(attribute2);

    Instances instances = new Instances("Test relation", fvWekaAttributes, 1);
    instances.setClassIndex(0);

    DenseInstance instance = new DenseInstance(2);
    instance.setValue(attribute2, text);
    instances.add(instance);

    publishEstado("=== Instance created ===", log);
    publishEstado(instances.toString(), log);

    //Classify the instance
    try {
        publishEstado("=== Classifying instance ===", log);

        double pred = classifier.classifyInstance(instances.instance(0));

        publishEstado("=== Instance classified  ===", log);

        String classPredicted = instances.classAttribute().value((int) pred);
        publishEstado("Class predicted: " + classPredicted, log);

        return classPredicted;
    } catch (Exception e) {
        publishEstado("Error found when classifying the text", log);
        return null;
    }
}

From source file:lu.lippmann.cdb.datasetview.tabs.TimeSeriesSimilarityPanel.java

License:Open Source License

private Instances buildFeatureDS(final Instances dataSet) throws Exception {
    final int numAttributes = dataSet.numAttributes();

    final java.util.List<String> namesOfFeaturesToConsider = new ArrayList<String>();
    namesOfFeaturesToConsider.addAll(WekaDataStatsUtil.getAttributeNames(dataSet));
    namesOfFeaturesToConsider.removeAll(WekaDataStatsUtil.getDateAttributeNames(dataSet));

    final double[][] simMatrix = new double[numAttributes][numAttributes];
    for (int i = 0; i < numAttributes; i++) {
        final double[] arrayI = dataSet.attributeToDoubleArray(i);
        if (this.withNormalization)
            MathsUtil.normalize(arrayI);
        simMatrix[i][i] = 0d;//from  w w  w.j  a v a 2  s.c  o  m
        ;
        for (int j = i + 1; j < numAttributes; j++) {
            final double[] arrayJ = dataSet.attributeToDoubleArray(j);
            if (this.withNormalization)
                MathsUtil.normalize(arrayJ);
            simMatrix[i][j] = new DynamicTimeWarping(arrayI, arrayJ).getDistance();
            //System.out.println(i+" "+j);
        }

    }
    for (int i = 0; i < numAttributes; i++) {
        for (int j = 0; j < i + 1; j++) {
            simMatrix[i][j] = simMatrix[j][i];
        }
    }

    /*for (int i=0;i<numAttributes;i++)
    {
       System.out.println(i+" -> "+FormatterUtil.buildStringFromArrayOfDoubles(simMatrix[i]));
    }*/

    final ArrayList<Attribute> attrs = new ArrayList<Attribute>(numAttributes + 1);
    for (int i = 0; i < numAttributes; i++) {
        attrs.add(new Attribute(dataSet.attribute(i).name() + "-feat"));
    }
    attrs.add(new Attribute(FEATUREDESC_ATTRNAME, namesOfFeaturesToConsider));
    final Instances ds = new Instances("featuresComparisonDs", attrs, 0);
    ds.setClassIndex(attrs.size() - 1);

    for (int i = 0; i < simMatrix.length; i++) {
        final DenseInstance di = new DenseInstance(1.0d, ArraysUtil.concat(simMatrix[i], new double[] { 0d }));
        di.setDataset(ds);
        di.setValue(simMatrix.length, dataSet.attribute(i).name());
        ds.add(di);
    }
    return ds;
}

From source file:moa.clusterers.outliers.AnyOut.AnyOutCore.java

License:Apache License

public void train(DataSet trainingSet) {
    // TODO fix not working builder!
    // ClusTree private variables are not updated but are mandatory for the algorithm to function.
    //      if (UseBulkLoadingOption.isSet()) { 
    //         // Use BulkLoading
    //         EMTopDownTreeBuilder builder = new EMTopDownTreeBuilder();
    //         try {
    //            this.root = builder.buildTree(trainingSet);
    //         } catch (Exception e) {
    //            e.printStackTrace();
    //         }/*from ww w . j  av a2 s  .co m*/
    //      } else {
    //Use traditional initialization
    for (DataObject o : trainingSet.getDataObjectArray()) {
        DenseInstance inst = new DenseInstance(o.getFeatures().length);
        for (int i = 0; i < o.getFeatures().length; i++) {
            inst.setValue(i, o.getFeatures()[i]);
        }
        trainOnInstance(inst);
    }
    //      }
}

From source file:moa.clusterers.outliers.AnyOut.AnyOutCore.java

License:Apache License

public void learnObject(double[] features) {
    DenseInstance inst = new DenseInstance(features.length);
    for (int i = 0; i < features.length; i++) {
        inst.setValue(i, features[i]);
    }//from   w  ww.j  a v a2 s . c  o  m
    trainOnInstance(inst);
}

From source file:nlpmusic.StringClusterer.java

public static Instances listLoad(ArrayList<String> list) {
    FastVector attributes = new FastVector();
    attributes.addElement(new Attribute("attr", (FastVector) null));
    Instances datas = new Instances("Strings", attributes, 0);

    for (String str : list) {
        DenseInstance inst = new DenseInstance(1);
        inst.setValue(datas.attribute(0), str);
        datas.add(inst);//from  ww  w.ja v  a 2 s .  c o m
    }
    return datas;
}

From source file:org.barcelonamedia.uima.CAS2WekaInstance.java

License:Open Source License

private static DenseInstance toWekaInternalInstance(List<AttributeValue> attributeValues,
        Instances wekaInstances) throws CASException {
    double[] zeroValues = new double[wekaInstances.numAttributes()];
    Arrays.fill(zeroValues, 0.0d);
    DenseInstance wekaInstance = new DenseInstance(1.0d, zeroValues);
    wekaInstance.setDataset(wekaInstances);

    Iterator<AttributeValue> attributeValuesIterator = attributeValues.iterator();

    while (attributeValuesIterator.hasNext()) {
        String value = null;//ww w  . j a v  a2  s .c om
        String attributeName = null;

        AttributeValue attributeValue = attributeValuesIterator.next();
        attributeName = attributeValue.getAttributeName();
        Attribute attribute = wekaInstances.attribute(attributeName);
        if (attribute == null)
            continue;

        if (attributeValue instanceof NumericAttributeValue) {
            value = ((NumericAttributeValue) attributeValue).getValue();
            wekaInstance.setValue(attribute, Double.parseDouble(value));
        } else if (attributeValue instanceof DateAttributeValue) {
            //this isn't actually very smart.... I need to understand this better
            //any volunteers for the four lines of code I need here?
            value = ((DateAttributeValue) attributeValue).getValue();
            wekaInstance.setValue(attribute, value);
        } else if (attributeValue instanceof NominalAttributeValue) {
            value = ((NominalAttributeValue) attributeValue).getValue();
            int valueIndex = attribute.indexOfValue(value);
            wekaInstance.setValue(attribute, (double) valueIndex);
        } else if (attributeValue instanceof StringAttributeValue) {
            value = ((StringAttributeValue) attributeValue).getValue();
            wekaInstance.setValue(attribute, value);
        }
    }

    Enumeration attributes = wekaInstances.enumerateAttributes();
    while (attributes.hasMoreElements()) {
        Attribute attribute = (Attribute) attributes.nextElement();
        if (attribute.isNumeric() && wekaInstance.isMissing(attribute)) {
            wekaInstance.setValue(attribute, 0);
        }
    }

    return wekaInstance;
}

From source file:org.textmin.tubes.dtm.decorator.InstancesBuilder.java

public Instances buildInstances(String rel, String[] classes) {
    ArrayList<String> classNominal = new ArrayList<>(classes.length);
    classNominal.addAll(Arrays.asList(classes));

    Attribute classesAttr = new Attribute("__TheClass", classNominal);
    ArrayList<Attribute> attributes = new ArrayList<>(termCount() + 1);
    attributes.add(classesAttr);//from  w  ww .  j a v a2s. c o m
    termSet().forEach(e -> attributes.add(new Attribute(e)));

    Instances resultInstances = new Instances(rel, attributes, documentCount());
    resultInstances.setClassIndex(0);

    for (String d : documentSet()) {
        DenseInstance docInstance = new DenseInstance(attributes.size());
        docInstance.setValue(classesAttr, getClass(d));
        for (int i = 1; i < attributes.size(); i++) {
            Attribute attr = attributes.get(i);
            docInstance.setValue(i, getValue(d, attr.name()));
        }
        resultInstances.add(docInstance);
    }

    return resultInstances;
}

From source file:PointAnalyser.Main.java

public static int classifyC45Instance(ArrayList<String> inst) throws Exception {

    //   ConverterUtils.DataSource source = new ConverterUtils.DataSource("Z:\\\\shared from vm\\\\fifthset\\\\newmixed.csv");
    // Instances data = source.getDataSet();
    // setting class attribute if the data format does not provide this information
    // For example, the XRFF format saves the class attribute information as well
    //  if (data.classIndex() == -1) {
    //      data.setClassIndex(data.numAttributes() - 1);
    //  }//  ww  w  .j a  v  a  2s . c  om
    NumericToNominal nmf = new NumericToNominal();
    nmf.setInputFormat(data);
    // data = Filter.useFilter(data, nmf);

    // build a c4.5 classifier
    // eval
    //  Evaluation eval = new Evaluation(data);
    //eval.crossValidateModel(tree, data, 10, new Random(1));
    //  System.out.println(eval.toSummaryString());
    //  System.out.println(eval.toMatrixString());
    // System.out.println(eval.toClassDetailsString());
    //tree.classifyInstance(null)
    Attribute a = new Attribute("ring(dragoon)");
    Attribute b = new Attribute("ring(zerg1)");
    Attribute c = new Attribute("ring(zerg2)");
    Attribute d = new Attribute("ring(zerg3)");

    ArrayList<String> classVal = new ArrayList<String>();
    classVal.add("safe");
    Attribute e = new Attribute("@@class@@", classVal);

    ArrayList<Attribute> attributeList = new ArrayList<Attribute>();
    attributeList.add(a);
    attributeList.add(b);
    attributeList.add(c);
    attributeList.add(d);
    attributeList.add(e);

    Instances dataSet = new Instances("TestInstances", attributeList, 0);
    dataSet = Filter.useFilter(dataSet, nmf);
    dataSet.setClassIndex(dataSet.numAttributes() - 1);
    DenseInstance ins = new DenseInstance(dataSet.numAttributes());
    dataSet.add(ins);
    ins.setDataset(dataSet);
    ins.setValue(a, Integer.valueOf(inst.get(0)));
    ins.setValue(b, Integer.valueOf(inst.get(1)));
    ins.setValue(c, Integer.valueOf(inst.get(2)));
    ins.setValue(d, Integer.valueOf(inst.get(3)));

    return (int) tree.classifyInstance(ins);
}

From source file:PointAnalyser.Main.java

public static int classifyNNInstance(ArrayList<String> inst) throws Exception {
    NumericToNominal nmf = new NumericToNominal();
    nmf.setInputFormat(data);/*from  w  w w.ja v a  2  s  .com*/

    Attribute a = new Attribute("ring(dragoon)");
    Attribute b = new Attribute("ring(zerg1)");
    Attribute c = new Attribute("ring(zerg2)");
    Attribute d = new Attribute("ring(zerg3)");

    ArrayList<String> classVal = new ArrayList<String>();
    classVal.add("safe");
    Attribute e = new Attribute("@@class@@", classVal);

    ArrayList<Attribute> attributeList = new ArrayList<Attribute>();
    attributeList.add(a);
    attributeList.add(b);
    attributeList.add(c);
    attributeList.add(d);
    attributeList.add(e);

    Instances dataSet = new Instances("TestInstances", attributeList, 0);
    dataSet = Filter.useFilter(dataSet, nmf);
    dataSet.setClassIndex(dataSet.numAttributes() - 1);
    DenseInstance ins = new DenseInstance(dataSet.numAttributes());
    dataSet.add(ins);
    ins.setDataset(dataSet);
    ins.setValue(a, Integer.valueOf(inst.get(0)));
    ins.setValue(b, Integer.valueOf(inst.get(1)));
    ins.setValue(c, Integer.valueOf(inst.get(2)));
    ins.setValue(d, Integer.valueOf(inst.get(3)));

    return (int) nn.classifyInstance(ins);
}