List of usage examples for org.apache.mahout.math DenseVector maxValueIndex
@Override public int maxValueIndex()
From source file:edu.isi.karma.cleaning.features.RecordClassifier2.java
License:Apache License
public String Classify(String instance) { Collection<Feature> cfeat = rf.computeFeatures(instance, ""); Feature[] x = cfeat.toArray(new Feature[cfeat.size()]); // row.add(f.getName()); RandomAccessSparseVector row = new RandomAccessSparseVector(x.length); String line = ""; for (int k = 0; k < cfeat.size(); k++) { line += x[k].getScore() + ","; }//from w w w .ja v a 2 s . c om line += "label"; // dummy class label for testing CsvRecordFactory csv = lmp.getCsvRecordFactory(); csv.processLine(line, row); DenseVector dvec = (DenseVector) this.cf.classifyFull(row); String label = labels.get(dvec.maxValueIndex()); return label; }
From source file:root.hap.cluster.ClusterReducer.java
License:Apache License
private void updateExemplars(Context context, DenseVector A, DenseVector diagA, DenseVector R, DenseVector diagR, int reducerRowNum, int reducerLevelNum, int N) throws IOException, InterruptedException { boolean[] validExemplars = new boolean[N]; boolean validExist = false; Arrays.fill(validExemplars, false); for (int diagIter = 0; diagIter < N; diagIter++) { double diagVal = diagA.get(diagIter) + diagR.get(diagIter); if (diagVal > 0) { validExemplars[diagIter] = true; validExist = true;//from w w w . j a v a2 s .com } } DenseVector sum = (DenseVector) A.plus(R); double maxValue = Double.NEGATIVE_INFINITY; int maxValueIndex = sum.maxValueIndex(); if (validExist) { for (int diagIter = 0; diagIter < N; diagIter++) { double validValue = sum.get(diagIter); if (validExemplars[diagIter] && validValue > maxValue) { maxValue = validValue; maxValueIndex = diagIter; } } } else { maxValue = sum.maxValue(); maxValueIndex = sum.maxValueIndex(); } Text output = new Text(maxValueIndex + "\t" + reducerRowNum + "\t" + reducerLevelNum); // Sentinel: In case an invalid exemplar ID is passed to output. if (maxValueIndex != -1) { context.write(new Text(), output); } }
From source file:root.hap.responsibility.ResponsibilityReducer.java
License:Apache License
private void updateResponsibility(Context context, DenseVector A, DenseVector S, DenseVector R, DenseVector T, int reducerLevelNum, int reducerRowNum, int N, String responsibilty) throws IOException, InterruptedException { DenseVector oldR = R.clone();/* www . j a v a 2s. c om*/ DenseVector sum = (DenseVector) A.plus(S); double maxValue = sum.maxValue(); int maxValueIndex = sum.maxValueIndex(); maxValue *= -1; sum.set(maxValueIndex, Double.NEGATIVE_INFINITY); double tau = T.get(0); double YH = Math.min(maxValue, tau); double actualMax = sum.maxValue(); actualMax *= -1; double YH2 = Math.min(actualMax, tau); R = (DenseVector) S.plus(YH); R.setQuick(maxValueIndex, S.get(maxValueIndex) + YH2); // Dampen double lambda = context.getConfiguration().getFloat("lambda", 0); R = (DenseVector) R.times(1 - lambda); oldR = (DenseVector) oldR.times(lambda); R = (DenseVector) R.plus(oldR); VectorWritable RWritable = new VectorWritable(R); context.write(new Text(reducerRowNum + "\t" + reducerLevelNum + "\t" + responsibilty), RWritable); }