protected static svm_node[] toSvmNodes(FeatureVector features) { svm_node[] nodes = new svm_node[features.size()]; int i = 0; // Features map is sorted, so we can just flatten it to a list for libsvm for (SortedMap.Entry<Integer, Double> feature : features.getFeatures().entrySet()) { nodes[i] = new svm_node(); nodes[i].index = feature.getKey(); nodes[i].value = feature.getValue(); i++; } return nodes; } }
public double evaluate(double[] features, svm_model model) { svm_node[] nodes = new svm_node[features.length-1]; for (int i = 1; i < features.length; i++) { svm_node node = new svm_node(); node.index = i; node.value = features[i]; nodes[i-1] = node; } int totalClasses = 2; int[] labels = new int[totalClasses]; svm.svm_get_labels(model,labels); double[] prob_estimates = new double[totalClasses]; double v = svm.svm_predict_probability(model, nodes, prob_estimates); for (int i = 0; i < totalClasses; i++){ System.out.print("(" + labels[i] + ":" + prob_estimates[i] + ")"); } System.out.println("(Actual:" + features[0] + " Prediction:" + v + ")"); return v; }
public static svm_node toVector(int index, double value){ svm_node node = new svm_node(); node.index = index; node.value = value; return node; }
for (String tk:instance.keySet()) { svm_node n=new svm_node(); System.out.println(tk + " "+ instance.get(tk)); if (IndexDic.containsKey(tk)) { n.index = (IndexDic.get(tk)); n.value = instance.get(tk); nodes.add(n); } else { System.out.println("does not contain"+tk); } }
private static svm_node[] getNodes(String nodeStr) { String[] vals = nodeStr.substring(2).split(" "); svm_node[] nodes = new svm_node[vals.length]; for(int i = 0; i < vals.length; i++){ String[] map = vals[i].split(":"); nodes[i] = new svm_node(); nodes[i].index = Integer.parseInt(map[0]); nodes[i].value = Double.parseDouble(map[1]); } return nodes; }
public static svm_node[] getNodes(String nodeStr) { String[] vals = nodeStr.substring(2).split(" "); svm_node[] nodes = new svm_node[vals.length]; for(int i = 0; i < vals.length; i++){ String[] map = vals[i].split(":"); nodes[i] = new svm_node(); nodes[i].index = Integer.parseInt(map[0]); nodes[i].value = Double.parseDouble(map[1]); } return nodes; }
protected static libsvm.svm_node[] convertToLIBSVM(FeatureVector featureVector) { List<libsvm.svm_node> nodes = new ArrayList<libsvm.svm_node>(); for (FeatureVector.Entry entry : featureVector) { libsvm.svm_node node = new libsvm.svm_node(); node.index = entry.index; node.value = entry.value; nodes.add(node); } return nodes.toArray(new libsvm.svm_node[nodes.size()]); }
public static svm_node[] getNodes(String nodeStr) { String[] vals = nodeStr.substring(2).split(" "); svm_node[] nodes = new svm_node[vals.length]; for(int i = 0; i < vals.length; i++){ String[] map = vals[i].split(":"); nodes[i] = new svm_node(); nodes[i].index = Integer.parseInt(map[0]); nodes[i].value = Double.parseDouble(map[1]); } return nodes; }
protected static libsvm.svm_node[] convertToLIBSVM(FeatureVector featureVector) { List<libsvm.svm_node> nodes = new ArrayList<libsvm.svm_node>(); for (FeatureVector.Entry entry : featureVector) { libsvm.svm_node node = new libsvm.svm_node(); node.index = entry.index; node.value = entry.value; nodes.add(node); } return nodes.toArray(new libsvm.svm_node[nodes.size()]); }
private static svm_node[] getNodes(String nodeStr) { String[] vals = nodeStr.substring(2).split(" "); svm_node[] nodes = new svm_node[vals.length]; for(int i = 0; i < vals.length; i++){ String[] map = vals[i].split(":"); nodes[i] = new svm_node(); nodes[i].index = Integer.parseInt(map[0]); nodes[i].value = Double.parseDouble(map[1]); } return nodes; }
public svm_node[] toSvmNode(){ svm_node[] obs = new svm_node[this.size()]; int idx = 0; for(Double d: this){ obs[idx] = new svm_node(); obs[idx].index = idx+1; obs[idx].value = d; idx++; } return obs; } }
protected static svm_node[] toSvmNodes(FeatureVector features) { svm_node[] nodes = new svm_node[features.size()]; int i = 0; // Features map is sorted, so we can just flatten it to a list for libsvm for (SortedMap.Entry<Integer, Double> feature : features.getFeatures().entrySet()) { nodes[i] = new svm_node(); nodes[i].index = feature.getKey(); nodes[i].value = feature.getValue(); i++; } return nodes; } }
public static svm_node[] getFeature(ConnectedComponent ele){ double[] extract=new Gradient(5,5,Gradient.Mask.CONTOUR).extract(ele); svm_node[] vector=new svm_node[extract.length]; for(int i=0;i<extract.length;i++){ svm_node node0=new svm_node(); node0.index=i; node0.value=extract[i]; vector[i]=node0; } return vector; } public static void main(String[] args) throws Exception{
int count=0; for(j=0; j<BAse.size(); j++){ photoList2 = new ArrayList<Photo>(); photoList2.addAll(BAse.get(j)); for(int t=0; t<photoList2.size(); t++){ Photo p= new Photo(); p= photoList2.get(t); prob.y[count]= j; double[] data= new double[144]; data= getDataInDouble(p.getCEDD()); for(int i=0; i<data.length;i++){ prob.x[count][i]= new svm_node(); prob.x[count][i].index=i; prob.x[count][i].value=data[i]; } count++; } }
public double classifyInstance(Observation observation, svm_model model) { List<Double> features = observation.getFeatures(); svm_node[] nodes = new svm_node[observation.getFeatures().size()]; for (int i = 0; i < features.size(); i++) { svm_node node = new svm_node(); node.index = i + 1; node.value = features.get(i); nodes[i] = node; } int[] labels = new int[TOTAL_CLASSES]; svm.svm_get_labels(model, labels); double[] prob_estimates = new double[TOTAL_CLASSES]; return svm.svm_predict_probability(model, nodes, prob_estimates); } }
protected svm_node[] buildDatasetForClassification(BxZone zone) { svm_node[] ret = new svm_node[featureVectorBuilder.getFeatureNames().size()]; FeatureVector scaledFV = scaler.scaleFeatureVector(featureVectorBuilder.getFeatureVector(zone, zone.getContext())); Integer featureIdx = 0; for(Double val: scaledFV.getFeatures()) { svm_node cur = new svm_node(); cur.index = featureIdx; cur.value = val; ret[featureIdx] = cur; ++featureIdx; } return ret; }
private svm_node[][] setXlocalRepresentation(IIndex trainingIndex, short catID) { svm_node[][] x = new svm_node[trainingIndex.getDocumentDB().getDocumentsCount()][]; IIntIterator docs = trainingIndex.getDocumentDB().getDocuments(); while (docs.hasNext()) { int docID = docs.next(); x[docID] = new svm_node[trainingIndex.getDocumentFeaturesCount(docID, catID)]; IIntIterator feats = trainingIndex.getDocumentFeatures(docID, catID); int j = 0; while (feats.hasNext()) { int featID = feats.next(); svm_node node = new svm_node(); node.index = featID + 1; node.value = trainingIndex.getDocumentFeatureWeight(docID, featID, catID); x[docID][j++] = node; } } return x; }
private svm_node[][] setXglobalRepresentation(IIndex trainingIndex) { svm_node[][] x = new svm_node[trainingIndex.getDocumentDB().getDocumentsCount()][]; IIntIterator docs = trainingIndex.getDocumentDB().getDocuments(); while (docs.hasNext()) { int docID = docs.next(); x[docID] = new svm_node[trainingIndex.getContentDB().getDocumentFeaturesCount(docID)]; IIntIterator feats = trainingIndex.getContentDB().getDocumentFeatures(docID); int j = 0; while (feats.hasNext()) { int featID = feats.next(); svm_node node = new svm_node(); node.index = featID + 1; node.value = trainingIndex.getWeightingDB().getDocumentFeatureWeight(docID, featID); x[docID][j++] = node; } } return x; }