List of usage examples for weka.core Instance classIndex
public int classIndex();
From source file:moa.streams.filters.AddNoiseFilter.java
License:Open Source License
@Override 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 w w . j a va2 s . co m 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:NaiveBayes.NaiveBayes.java
@Override public double classifyInstance(Instance last) { double prob[] = new double[last.classAttribute().numValues()]; for (int classIndex = 0; classIndex < last.attribute(last.classIndex()).numValues(); classIndex++) {//classifikasi double temp = 1; int i = 0; for (Atribut attr : getList()) { if (i == last.classIndex()) i++;//from w ww.j av a 2 s .co m //System.out.println(attr.getName()+"="+last.attribute(i).name()); temp *= attr.getFrekuensiNilai(last.attribute(last.classIndex()).value(classIndex), last.toString(i), last.value(i), last.attribute(i).isNumeric()) / numEachClass[classIndex]; i++; } double res; res = numEachClass[classIndex] / last.numAttributes() * temp; prob[classIndex] = res; } return maxIndex(prob); }
From source file:NaiveBayesPckge.mushClass.java
@Override public double classifyInstance(Instance instance) throws java.lang.Exception { double classify = 0; // banyaknya kesimpulan. Misal T dan F berati ada 2 int numClasses = instance.numClasses(); double[] out = new double[numClasses]; //banyaknya kelas yang diuji int class_index = instance.classIndex(); //banyaknya atribut int num_attributes = instance.numAttributes(); double inputs[] = new double[num_attributes]; for (int i = 0; i < numClasses; i++) { out[i] = probabConclusion[i];//from w ww . jav a 2s .co m for (int j = 0; j < num_attributes - 1; j++) { int indexLabel = searchIndexLabel(j, instance.stringValue(j)); out[i] *= (double) atribNom[j].getAttribObjectType(indexLabel, i); } } classify = getIndexBiggestProbability(out); return classify; }
From source file:NaiveBayesPckge.mushClass.java
@Override public double[] distributionForInstance(Instance instance) throws Exception { // banyaknya kesimpulan. Misal T dan F berati ada 2 int numClasses = instance.numClasses(); double[] out = new double[numClasses]; //banyaknya kelas yang diuji int class_index = instance.classIndex(); //banyaknya atribut int num_attributes = instance.numAttributes(); double inputs[] = new double[num_attributes]; for (int i = 0; i < numClasses; i++) { out[i] = probabConclusion[i];/*from w w w. j a va 2 s . c o m*/ // System.out.print("\n" + maxIterasi +". out["+i+"] = "); for (int j = 1; j < num_attributes; j++) { int indexLabel = searchIndexLabel(j, instance.stringValue(j)); out[i] *= (double) atribNom[j].getAttribObjectType(indexLabel, i); // System.out.print(atribNom[j].getAttribObjectType(indexLabel, i) + "*"); } // System.out.println("\nout["+i+"] = "+out[i]); // System.out.println(instance.toString()); } // maxIterasi++; return out; }
From source file:NaiveBayesPckge.NaiveBayesCode.java
@Override public double[] distributionForInstance(Instance instance) throws Exception { // banyaknya kesimpulan. Misal T dan F berati ada 2 int numClasses = instance.numClasses(); double[] out = new double[numClasses]; //banyaknya kelas yang diuji int class_index = instance.classIndex(); //banyaknya atribut int num_attributes = instance.numAttributes(); double inputs[] = new double[num_attributes]; for (int i = 0; i < numClasses; i++) { out[i] = probabConclusion[i];/* w ww . jav a 2 s .c om*/ // System.out.print("\n" + maxIterasi +". out["+i+"] = "); for (int j = 0; j < num_attributes - 1; j++) { int indexLabel = searchIndexLabel(j, instance.stringValue(j)); out[i] *= (double) atribNom[j].getAttribObjectType(indexLabel, i); // System.out.print(atribNom[j].getAttribObjectType(indexLabel, i) + "*"); } // System.out.println("\nout["+i+"] = "+out[i]); // System.out.println(instance.toString()); } // maxIterasi++; return out; }
From source file:net.paudan.evosvm.LibLINEAR.java
License:Open Source License
/** * returns an instance into a sparse liblinear array * * @param instance the instance to work on * @return the liblinear array//from ww w . j av a 2s .co m * @throws Exception if setup of array fails */ protected FeatureNode[] instanceToArray(Instance instance) throws Exception { // determine number of non-zero attributes int count = 0; for (int i = 0; i < instance.numValues(); i++) { if (instance.index(i) == instance.classIndex()) continue; if (instance.valueSparse(i) != 0) count++; } if (m_Bias >= 0) { count++; } // fill array FeatureNode[] nodes = new FeatureNode[count]; int index = 0; for (int i = 0; i < instance.numValues(); i++) { int idx = instance.index(i); double val = instance.valueSparse(i); if (idx == instance.classIndex()) continue; if (val == 0) continue; nodes[index] = new FeatureNode(idx + 1, val); index++; } // add bias term if (m_Bias >= 0) { nodes[index] = new FeatureNode(instance.numAttributes() + 1, m_Bias); } return nodes; }
From source file:net.sf.bddbddb.OrderClassifier.java
License:LGPL
public double importance(weka.core.Attribute attribute, String attrValue) {//, String classValue){ int count = 0; int goodCount = 0, badCount = 0; List newInstances = new LinkedList(); for (Iterator it = orders.iterator(); it.hasNext();) { Instance instance = (Instance) it.next(); if (//!instance.stringValue(instance.classIndex()).equals(classValue) || !instance.stringValue(attribute).equals(attrValue)) continue; if (goodClusters.contains(instance.stringValue(instance.classIndex()))) ++goodCount;/*from w ww.ja v a 2 s. c om*/ else ++badCount; Instance newInstance = new Instance(instance); newInstance.setDataset(instance.dataset()); newInstances.add(newInstance); } goodCount *= attrOptions.size() - 1; badCount *= attrOptions.size() - 1; for (Iterator it = newInstances.iterator(); it.hasNext();) { Instance instance = (Instance) it.next(); /* if(//!instance.stringValue(instance.classIndex()).equals(classValue) || !instance.stringValue(attribute).equals(attrValue)) continue; */ String classValue = instance.stringValue(instance.classIndex()); FastVector newOptions = new FastVector(); newOptions.appendElements(attrOptions); newOptions.removeElementAt(newOptions.indexOf(instance.stringValue(attribute))); //int index = Math.abs(LearnedOrder.randomNumGen.nextInt()) % newOptions.size(); int index = 0; while (index < newOptions.size()) { instance.setValue(attribute, attrOptions.indexOf(newOptions.elementAt(index))); String value = classify(instance); if (goodClusters.contains(classValue)) { if (goodClusters.contains(value)) --goodCount; } else if (!goodClusters.contains(classValue)) { if (!goodClusters.contains(value)) --badCount; } ++index; } //if(value.equals(classValue)) --count; } count = goodCount - badCount; count /= attrOptions.size() - 1; double importance = ((double) count) / newInstances.size(); if (Double.isNaN(importance)) return 0; return importance; }
From source file:net.sf.bddbddb.OrderClassifier.java
License:LGPL
public double vote(weka.core.Attribute attribute, String attrValue, String classValue) { int count = 0; int numOrders = 0; for (Iterator it = orders.iterator(); it.hasNext();) { Instance instance = (Instance) it.next(); if (!instance.stringValue(instance.classIndex()).equals(classValue)) continue; ++numOrders;// w w w. j a v a 2s. c o m if (instance.stringValue(attribute).equals(attrValue)) ++count; } return ((double) count) / numOrders; }
From source file:net.sf.jclal.activelearning.oracle.SimulatedOracle.java
License:Open Source License
public void showSingleLabelInstance(Instance instance) { System.out.println("\nInstance selected: " + instance.toString()); System.out.println("Class: " + instance.stringValue(instance.classIndex())); }
From source file:net.sf.jclal.classifier.WekaComitteClassifier.java
License:Open Source License
/** * Counts the votes of the committee for each class * * @param instance The instance to test. * @return The votes of the committee for each class. * @throws Exception The exception that will be launched * /*from w ww . j av a 2s . co m*/ */ public int[] countVotesForEachClass(Instance instance) throws Exception { int[] votes = new int[instance.dataset().numDistinctValues(instance.classIndex())]; int sizeCommittee = classifiers.length; for (int i = 0; i < sizeCommittee; i++) { double v = classifiers[i].classifyInstance(instance); ++votes[(int) v]; } return votes; }