@Override public boolean execute(int id, float val) { dots.adjustOrPutValue(id, val * featureVal, val * featureVal); return true; } });
@Override public double increment(int key, double value) { return data.adjustOrPutValue(key, value, value); }
public float squaredL2NormUnsafe() { TIntDoubleHashMap vec = new TIntDoubleHashMap(size<<1); for (int i = 0; i < size; ++i) vec.adjustOrPutValue(x[i], va[i], va[i]); float sum = 0; for (double v : vec.values()) sum += v*v; return sum; }
public float squaredL2NormUnsafe() { TIntDoubleHashMap vec = new TIntDoubleHashMap(size<<1); for (int i = 0; i < size; ++i) vec.adjustOrPutValue(x[i], va[i], va[i]); float sum = 0; for (double v : vec.values()) sum += v*v; return sum; }
@Override public SRResultList predictMostSimilar(List<SRResultList> scores, int maxResults, TIntSet validIds) { int numMetrics = scores.size(); TIntDoubleHashMap scoreMap = new TIntDoubleHashMap(); for (SRResultList resultList : scores){ for (SRResult result : resultList){ double value = result.getScore()/numMetrics; scoreMap.adjustOrPutValue(result.getId(),value,value); } } List<SRResult> resultList = new ArrayList<SRResult>(); for (int id : scoreMap.keys()){ resultList.add(new SRResult(id,scoreMap.get(id))); } Collections.sort(resultList); Collections.reverse(resultList); SRResultList result = new SRResultList(maxResults); for (int i=0; i<maxResults&&i<resultList.size();i++){ result.set(i,resultList.get(i)); } return result; }
double val = row.getColValue(i); counts.adjustOrPutValue(id, 1, 1); sums.adjustOrPutValue(id, val, val);
c1, result.getScore(), c2, rank, Math.log(rank)); scoreMap.adjustOrPutValue(result.getId(), value, value); + c2 * Math.log(interpolatedRank); for (int id : unknownIds.toArray()) { scoreMap.adjustOrPutValue(id, value, value);
if (validIds == null || validIds.contains(id2)) { float val2 = row2.getColValue(j); dots.adjustOrPutValue(id2, val1 * val2, val1 * val2);