Package org.apache.mahout.math.Vector

Examples of org.apache.mahout.math.Vector.Element


            Vector tmp = userItemMatrix.get(userid);
            Iterator<Element> iter = tmp.iterateNonZero();

            while (iter.hasNext()) {
                Element el = iter.next();
                int itemid = el.index();
            }
        }
    }
View Full Code Here


            int userid = users.get(i);
            Vector tmp = datamodel.getVectorOfItems(userid);
            Iterator<Element> iter = tmp.iterateNonZero();
            double rate = 0.0;
            while (iter.hasNext()) {
                Element e = iter.next();
                rate += (e.get() - mean - bitems.get(e.index()));
            }
            busers.put(userid, rate / (tmp.getNumNondefaultElements() + lamda3));
        }
    }
View Full Code Here

                PreferenceArray UserFactor = pusers.get(userid);
                for (int k = 0; k < parameter_k; k++) {
                    Iterator<Element> itor = tmpitems.iterateNonZero();
                    double sum = 0.0;
                    while (itor.hasNext()) {
                        Element e = itor.next();
                        int itemid = e.index();
                        sum = sum + y.get(itemid).getValue(k);
                    }
                    float temp = (float) (UserFactor.getValue(k) + sum
                            / Math.sqrt(nu));
                    tempUserFactor.setValue(k, temp);

                    sumQE.setValue(k, 0.0f);
                }

                // iterate to deal with items
                Iterator<Element> itor = tmpitems.iterateNonZero();
                while (itor.hasNext()) {

                    Element e = itor.next();
                    int itemid = e.index();

                    // actual rating and estimated rating
                    double rui = datamodel.getPreferenceValue(userid, itemid);
                    double pui = predictPreference(userid, itemid);
                    double eui = rui - pui;

                    rmse += eui * eui;
                    n++;

                    // update bias values
                    double tmp = busers.get(userid) + gamma1
                            * (eui - lamda6 * busers.get(userid));
                    busers.put(userid, tmp);
                    tmp = bitems.get(itemid) + gamma1
                            * (eui - lamda6 * bitems.get(itemid));
                    bitems.put(itemid, tmp);

                    // update user factor and movie factor vectors

                    PreferenceArray ItemFactor = qitems.get(itemid);
                    UserFactor = pusers.get(userid);
                    PreferenceArray puTempFactor = puTemp.get(userid);

                    for (int k = 0; k < parameter_k; k++) {

                        // user factor
                        float preval = UserFactor.getValue(k);
                        float temp = ItemFactor.getValue(k);
                        preval = (float) (preval + gamma2
                                * (eui * temp - lamda7 * preval));
                        UserFactor.setValue(k, preval);

                        // item factor
                        preval = ItemFactor.getValue(k);
                        temp = puTempFactor.getValue(k);
                        preval = (float) (preval + gamma2
                                * (eui * temp - lamda7 * preval));
                        ItemFactor.setValue(k, preval);

                        // Accumulate information for gradient steps on y_i
                        preval = sumQE.getValue(k);
                        preval += eui * ItemFactor.getValue(k);
                        sumQE.setValue(k, preval);

                        // // implicit factor test;
                        // PreferenceArray yFactor = y.get(itemid);
                        // preval = yFactor.getValue(k);
                        // preval += gamma2
                        // * (eui*ItemFactor.getValue(k)/Math.sqrt(nu) - lamda7
                        // * preval);
                        // yFactor.setValue(k, preval);
                    }
                }

                // implicit factor
                itor = tmpitems.iterateNonZero();
                while (itor.hasNext()) {
                    Element e = itor.next();
                    int itemid = e.index();
                    PreferenceArray yFactor = y.get(itemid);
                    for (int k = 0; k < parameter_k; k++) {
                        float preval = yFactor.getValue(k);
                        preval = (float) (preval + gamma2
                                * (sumQE.getValue(k) / Math.sqrt(nu) - lamda7
View Full Code Here

 
    public void clearVector(Vector v) {
     
      Iterator<Element> it = v.iterateNonZero();
      while (it.hasNext()) {
        Element e = it.next();
        e.set(0);
      }
     
    }
View Full Code Here

   
    public void clearVector(Vector v) {
     
      Iterator<Element> it = v.iterateNonZero();
      while (it.hasNext()) {
        Element e = it.next();
        e.set(0);
      }
     
    }
View Full Code Here

                Iterator<Element> iter = normGamma.iterateNonZero();
                double maxTopicScore = 0.0;
                int idx = 0;
                int topic = 0;
                while(iter.hasNext()) {
                    Element e = iter.next();
                    double score = e.get();
                    if (score > maxTopicScore) {
                        maxTopicScore = score;
                        topic = idx;
                    }
                   
View Full Code Here

                Iterator<Element> iter = normGamma.iterateNonZero();
                double maxTopicScore = 0.0;
                int idx = 0;
                int topic = 0;
                while(iter.hasNext()) {
                    Element e = iter.next();
                    double score = e.get();
                    if (score > maxTopicScore) {
                        maxTopicScore = score;
                        topic = idx;
                    }
                   
View Full Code Here

                if (c == null) {
                    c = new Cloud(template);
                }
                Iterator<Element> viter = wvw.getVector().iterateNonZero();
                while (viter.hasNext()) {
                    Element e = viter.next();
                    String feature = invertedFeatureIndex.get(e.index());
                    c.addTag(new Tag(feature, e.get()));
                }
               
                cloudMap.put(clusterId, c);
            }
        } catch (IOException e) {
View Full Code Here

            OutputCollector<Text, Text> output, Reporter reporter)
            throws IOException {
        Vector v = value.get();
        StringBuffer buffer = new StringBuffer();
        for (int i = 0; i < v.size(); i++) {
            Element el = v.getElement(i);
            int index = el.index();
            // increment index so that starts at 1
            index++;
            double weight = el.get();
            if (weight != 0)
                buffer.append(" ").append(index).append(":").append(weight);
        }
        String rep = buffer.toString();
        if (rep.length() > 0)
View Full Code Here

  protected Tuple toSparseVectorTuple(Vector v) {
    DataBag bag = bagFactory.newDefaultBag();
    Iterator<Element> itr = v.iterateNonZero();
    while (itr.hasNext()) {
      Element e = itr.next();
      bag.add(tupleFactory.newTupleNoCopy(Lists.<Number> newArrayList(e.index(),
          floatPrecision ? (float) e.get() : e.get())));
    }
    return cardinality != null ? tupleFactory.newTupleNoCopy(ImmutableList.of(bag)) : tupleFactory
        .newTupleNoCopy(ImmutableList.of(v.size(),
            bag));
  }
View Full Code Here

TOP

Related Classes of org.apache.mahout.math.Vector.Element

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.