List of usage examples for weka.core Instance value
public double value(Attribute att);
From source file:ai.GiniFunction.java
License:GNU General Public License
/** * Evaluate a single instance based on the current * state of the split function//from w ww . j av a2s . c o m * * @param instance sample to evaluate * @return false if the instance is on the right of the splitting point, true if it's on the left */ public boolean evaluate(Instance instance) { if (allSame) return true; else return instance.value(this.index) < this.threshold; }
From source file:ANN.MultilayerPerceptron.java
@Override public double classifyInstance(Instance i) { //buat list input ArrayList<Double> listInput = new ArrayList<>(); listInput.add(1.0);//from ww w . ja v a 2 s . c o m for (int idx = 0; idx < i.numAttributes() - 1; idx++) { listInput.add(i.value(idx)); } //hitung output layer ArrayList<Double> hiddenOutput = new ArrayList<>(); hiddenOutput.add(1.0); for (int idxOutput = 1; idxOutput < listHidden.size(); idxOutput++) { output(listHidden, listInput, idxOutput); hiddenOutput.add(listHidden.get(idxOutput).getValue()); // System.out.println(outputVal); } //hitung output layer for (int idxOutput = 0; idxOutput < listOutput.size(); idxOutput++) { output(listOutput, hiddenOutput, idxOutput); } double result = maxIdxValue(listOutput); return result; }
From source file:ANN.MultiplePerceptron.java
@Override public double classifyInstance(Instance i) { ArrayList<Double> listInput = new ArrayList<>(); listInput.add(1.0);//from w w w.j a v a 2 s.c o m for (int idxInstanceVal = 0; idxInstanceVal < i.numAttributes() - 1; idxInstanceVal++) { listInput.add(i.value(idxInstanceVal)); } ArrayList<Double> listOutputHidden = new ArrayList<>(); listOutputHidden.add(1.0); //set output hidden layer for (int idxNodeHidden = 1; idxNodeHidden < listNodeHidden.size(); idxNodeHidden++) { double outputVal = listNodeHidden.get(idxNodeHidden).output(listInput); listNodeHidden.get(idxNodeHidden).setValue(outputVal); listOutputHidden.add(outputVal); } //set output layer for (int idxNodeHidden = 0; idxNodeHidden < listNodeOutput.size(); idxNodeHidden++) { double outputVal = listNodeOutput.get(idxNodeHidden).output(listOutputHidden); listNodeOutput.get(idxNodeHidden).setValue(outputVal); // System.out.printf("%f ", outputVal); } // System.out.println(); return getIdxMax(listNodeOutput); }
From source file:ANN.MultiplePerceptron.java
public void calculateWeight(Instance i) { ArrayList<Double> listInput = new ArrayList<>(); listInput.add(1.0);// w ww . jav a 2 s. c om for (int idxInstanceVal = 0; idxInstanceVal < i.numAttributes(); idxInstanceVal++) { listInput.add(i.value(idxInstanceVal)); } //set weight hidden // for (int index = 0; index < listNodeHidden.size();index++) { // for (int indexDalem = 0 ; indexDalem < listNodeHidden.get(index).getWeightSize();indexDalem++) { // double delta = learningRate*listNodeHidden.get(index).getError()*listInput.get(indexDalem); // double newWeight = delta + listNodeHidden.get(index).getWeightFromList(indexDalem); // listNodeHidden.get(index).setWeight(indexDalem, newWeight); //// System.out.println(index+" "+indexDalem+" "+newWeight); // } // } for (int idxHidden = 0; idxHidden < listNodeHidden.size(); idxHidden++) { for (int idxweight = 0; idxweight < listNodeHidden.get(idxHidden).getWeightSize(); idxweight++) { double oldVal = listNodeHidden.get(idxHidden).getWeightFromList(idxweight); // System.out.println(oldVal); oldVal += learningRate * listInput.get(idxweight) * listNodeHidden.get(idxHidden).getError(); listNodeHidden.get(idxHidden).setWeight(idxweight, oldVal); // System.out.println(listNodeHidden.get(idxHidden).getWeightFromList(idxweight)); } } // System.out.println(listNodeOutput.get(0).getWeightSize()+" "+listOutputHidden); //set weight output for (int index = 0; index < listNodeOutput.size(); index++) { for (int indexDalem = 0; indexDalem < listNodeHidden.size(); indexDalem++) { double delta = learningRate * listNodeOutput.get(index).getError() * listNodeHidden.get(indexDalem).getValue(); double newWeight = delta + listNodeOutput.get(index).getWeightFromList(indexDalem); listNodeOutput.get(index).setWeight(indexDalem, newWeight); // System.out.println(newWeight); } } // for (int idxOutput=0; idxOutput < listNodeOutput.size(); idxOutput++) { // for (int idxweight=0;idxweight<listNodeOutput.get(idxOutput).getWeightSize();idxweight++) { // double oldVal = listNodeOutput.get(idxOutput).getWeightFromList(idxweight); // oldVal += learningRate*listOutputHidden.get(idxweight) * listNodeOutput.get(idxOutput).getError(); // listNodeOutput.get(idxOutput).setWeight(idxweight, oldVal); // } // } }
From source file:ann.MyANN.java
/** * mengubah Instance menjadi Data// www. ja v a2s . c o 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 w w.j a v a 2s. c o m 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:anndl.Anndl.java
private void ClassifyInstance(String fileinput) throws Exception { System.out.println("Membaca File Model .."); Classifier cls = (Classifier) weka.core.SerializationHelper.read(fileinput); System.out.println("Masukan Data yang ingin diklasifikasikan, pisahkan dengan spasi :"); String testset = scanner.nextLine(); testset = "1 1 0"; String[] exploded = testset.split(" "); Instance newinstance = new Instance(exploded.length); for (int i = 0; i < exploded.length; i++) { String exploded1 = exploded[i]; System.out.println(exploded[i] + ";"); newinstance.setValue(i, Integer.valueOf(exploded[i])); }// ww w. j av a 2 s .com System.out.println("Melakukan klasifikasi ... "); double result = cls.classifyInstance(newinstance); System.out.println("Data ini:"); System.out.println(testset); System.out.println("memiliki label :"); System.out.println(newinstance.value(newinstance.classIndex())); }
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 av a 2s . c om 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 w w . jav a 2 s . c om*/ 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 w w .ja va 2s .c o m*/ //Hitung output rumus = sigmoid dari sigma for (int idxOut = 0; idxOut < listOutput.size(); idxOut++) { output(listInput, idxOut); } return maxValue(); }