List of usage examples for weka.core Instance numAttributes
public int numAttributes();
From source file:ann.MyANN.java
/** * mengubah Instance menjadi Data// w w w . j a v a 2 s. co m * @param instance Instance yang akan diubah menjadi kelas Data * @return kelas Data dari input */ private Data instanceToData(Instance instance) { ArrayList<Double> input = new ArrayList<>(); ArrayList<Double> target = new ArrayList<>(); for (int j = 0; j < instance.numAttributes() - 1; j++) { input.add(0.0); } if (instance.classAttribute().isNominal()) { for (int j = 0; j < instance.classAttribute().numValues(); j++) { target.add(0.0); } } else { target.add(0.0); } for (int j = 0; j < instance.numAttributes(); j++) { if (j == instance.classIndex()) { if (instance.attribute(j).isNominal()) target.set((int) instance.value(j), 1.0); else target.add(instance.value(j)); } else { input.set(j, instance.value(j)); } } return new Data(input, target); }
From source file:ann.SingleLayerPerceptron.java
public double classifyInstance(Instance inst) throws Exception { double instanceClass = 0.0; ntb.input(inst);//from w ww. j a va2 s . com inst = ntb.output(); normalize.input(inst); inst = normalize.output(); System.out.println(inst.toString()); int outputSize = output.size(); double[] result = new double[outputSize]; for (int j = 0; j < outputSize; j++) { result[j] = 0.0; for (int k = 0; k < inst.numAttributes(); k++) { double input = 1; if (k < inst.numAttributes() - 1) { input = inst.value(k); } System.out.println(output.get(j).weights.get(k) + "*" + input); result[j] += output.get(j).weights.get(k) * input; } result[j] = Util.activationFunction(result[j], annOptions); } if (outputSize >= 2) { for (int j = 0; j < outputSize; j++) { System.out.print(result[j] + "-"); if (result[j] > result[(int) instanceClass]) { instanceClass = j; System.out.println(instanceClass); } } } else { instanceClass = (int) result[0]; } return instanceClass; }
From source file:ANN_Single.SinglelayerPerceptron.java
@Override public double classifyInstance(Instance i) { //buat list input System.out.println("classify"); ArrayList<Double> listInput = new ArrayList<>(); listInput.add(1.0);/*from w w w. j a v a 2 s. co m*/ for (int idx = 0; idx < i.numAttributes() - 1; idx++) { listInput.add(i.value(idx)); } //hitung output layer for (int idxOutput = 0; idxOutput < listOutput.size(); idxOutput++) { outputC(listInput, idxOutput); // listOutput.get(idxOutput).output(listInput); // listOutput.get(idxOutput).setValue(outputVal); // System.out.println(idxOutput+" "+outputVal); // System.out.print(listOutput.get(idxOutput).getValue()+" "); } System.out.println(); double result = maxIdxValue(listOutput); // System.out.println(result+" "+i.stringValue(i.classIndex())); System.out.println("end c"); return result; }
From source file:ANN_single2.MultilayerPerceptron.java
@Override public double classifyInstance(Instance i) { ArrayList<Double> listInput = new ArrayList<>(); listInput.add(1.0); //ini untuk bias for (int ins = 0; ins < i.numAttributes() - 1; ins++) { listInput.add(i.value(ins));//from w ww . j ava 2s . c o m } ArrayList<Double> listHide = new ArrayList<>(); listHide.add(1.0); //Hitung output hidden layer for (int idxHidden = 1; idxHidden < listHidden.size(); idxHidden++) { output(listHidden, listInput, idxHidden); listHide.add(listHidden.get(idxHidden).getValue()); } //Hitung ouput output lyer for (int idxOutput = 0; idxOutput < listOutput.size(); idxOutput++) { output(listOutput, listHide, idxOutput); } return maxValue(); }
From source file:ANN_single2.SinglelayerPerceptron.java
@Override public double classifyInstance(Instance i) { ArrayList<Double> listInput = new ArrayList<>(); listInput.add(1.0); //ini bias for (int idx = 0; idx < i.numAttributes() - 1; idx++) { listInput.add(i.value(idx));//from w ww . j a v a 2 s . c o m } //Hitung output rumus = sigmoid dari sigma for (int idxOut = 0; idxOut < listOutput.size(); idxOut++) { output(listInput, idxOut); } return maxValue(); }
From source file:ant.Game.java
private char keyFromWeka(int classifier) { char key = W; Instance i = new Instance(m_ant.getNumAttributes() + 1); i.setDataset(m_data);//from ww w. j av a 2 s. c om for (int j = 0; j < i.numAttributes() - 1; ++j) { i.setValue(new Attribute(Integer.toString(j), j), see(j)); } i.setClassValue(1); double p = -1; try { p = m_wrapper10x1.classifyInstance(i); } catch (Exception ex) { Logger.getLogger(Game.class.getName()).log(Level.SEVERE, null, ex); } switch ((int) p) { case 0: key = W; break; case 1: key = A; break; case 2: key = S; break; case 3: key = D; break; default: System.err.println("Unexpected classifier output!"); break; } return key; }
From source file:assign00.KNNClassifier.java
double EuclideanDistance(Instance instanceLHS, Instance instanceRHS) { double distance = 0; for (int i = 0; i < instanceLHS.numAttributes() - 1 && i < instanceRHS.numAttributes() - 1; i++) { if (instanceLHS.attribute(i).isNumeric() && instanceRHS.attribute(i).isNumeric()) { distance += pow(instanceLHS.value(i) - instanceRHS.value(i), 2); } else {/* ww w . j av a 2 s . c o m*/ if (instanceLHS.stringValue(i).equals(instanceRHS.stringValue(i))) { distance += 0; } else { distance += 1; } } } return distance; }
From source file:assign00.KNNClassifier.java
double ManhattenDistance(Instance instanceLHS, Instance instanceRHS) { double distance = 0; for (int i = 0; i < instanceLHS.numAttributes() - 1 && i < instanceRHS.numAttributes() - 1; i++) { if (instanceLHS.attribute(i).isNumeric() && instanceRHS.attribute(i).isNumeric()) { distance += abs(instanceLHS.value(i) - instanceRHS.value(i)); } else {//w w w . j a v a2s . co m if (instanceLHS.stringValue(i).equals(instanceRHS.stringValue(i))) { distance += 0; } else { distance += 1; } } } return distance; }
From source file:bme.mace.logicdomain.Evaluation.java
License:Open Source License
/** * Builds a string listing the attribute values in a specified range of * indices, separated by commas and enclosed in brackets. * // w w w .j a v a 2 s .c om * @param instance the instance to print the values from * @param attRange the range of the attributes to list * @return a string listing values of the attributes in the range */ protected static String attributeValuesString(Instance instance, Range attRange) { StringBuffer text = new StringBuffer(); if (attRange != null) { boolean firstOutput = true; attRange.setUpper(instance.numAttributes() - 1); for (int i = 0; i < instance.numAttributes(); i++) { if (attRange.isInRange(i) && i != instance.classIndex()) { if (firstOutput) { text.append("("); } else { text.append(","); } text.append(instance.toString(i)); firstOutput = false; } } if (!firstOutput) { text.append(")"); } } return text.toString(); }
From source file:ca.uottawa.balie.WekaLearner.java
License:Open Source License
private Instance CreateDoubleInstance(Object[] pi_Instance, String pi_Class) { double[] instval = new double[pi_Instance.length]; for (int i = 0; i != pi_Instance.length; ++i) { instval[i] = ((Double) pi_Instance[i]).doubleValue(); }// ww w .jav a 2 s . c om Instance inst = new Instance(1, instval); inst.insertAttributeAt(inst.numAttributes()); inst.setValue((Attribute) m_WekaAttributes.lastElement(), pi_Class); return inst; }