Package org.grouplens.lenskit.vectors

Examples of org.grouplens.lenskit.vectors.SparseVector


    @Test
    public void testSingleValue() {
        acc.put(5, Math.PI);
        assertThat(acc.globalMean(),
                   closeTo(Math.PI, EPSILON));
        SparseVector v = acc.idMeans();
        assertThat(v.size(), equalTo(1));
        assertThat(v.get(5), closeTo(Math.PI, EPSILON));
    }
View Full Code Here


    public void testSeparateValues() {
        acc.put(5, Math.PI);
        acc.put(17, Math.E);
        assertThat(acc.globalMean(),
                   closeTo((Math.PI + Math.E) / 2, EPSILON));
        SparseVector v = acc.idMeans();
        assertThat(v.size(), equalTo(2));
        assertThat(v.get(5), closeTo(Math.PI, EPSILON));
        assertThat(v.get(17), closeTo(Math.E, EPSILON));
    }
View Full Code Here

        acc.put(17, 5);
        acc.put(5, 3);
        acc.put(3, 2);
        assertThat(acc.globalMean(),
                   closeTo(3.4, EPSILON));
        SparseVector v = acc.idMeans();
        assertThat(v.size(), equalTo(3));
        assertThat(v.get(5), closeTo(3, EPSILON));
        assertThat(v.get(17), closeTo(4.5, EPSILON));
        assertThat(v.get(3), closeTo(2, EPSILON));
    }
View Full Code Here

        acc.put(17, 5);
        acc.put(5, 3);
        acc.put(3, 2);
        assertThat(acc.globalMean(),
                   closeTo(3.4, EPSILON));
        SparseVector v = acc.idMeanOffsets();
        assertThat(v.size(), equalTo(3));
        assertThat(v.get(5), closeTo(-0.4, EPSILON));
        assertThat(v.get(17), closeTo(1.1, EPSILON));
        assertThat(v.get(3), closeTo(-1.4, EPSILON));
    }
View Full Code Here

        acc.put(17, 5);
        acc.put(5, 3);
        acc.put(3, 2);
        assertThat(acc.globalMean(),
                   closeTo(3.4, EPSILON));
        SparseVector v = acc.idMeanOffsets(1);
        assertThat(v.size(), equalTo(3));
        assertThat(v.get(5), closeTo(-0.26666666667, EPSILON));
        assertThat(v.get(17), closeTo(0.73333333333, EPSILON));
        assertThat(v.get(3), closeTo(-0.7, EPSILON));
    }
View Full Code Here

        assertTrue(ratings.contains(preference(7, 10, 4)));
    }

    @Test
    public void testUserRatingVector() {
        SparseVector ratings = snap.userRatingVector(1);
        assertEquals(4, ratings.size());
        assertEquals(4, ratings.get(7), EPSILON);
        assertEquals(5, ratings.get(8), EPSILON);
        assertEquals(3, ratings.get(9), EPSILON);
        assertEquals(5, ratings.get(11), EPSILON);

        ratings = snap.userRatingVector(2);
        assertEquals(0, ratings.size());

        ratings = snap.userRatingVector(3);
        assertEquals(4, ratings.size());
        assertEquals(3, ratings.get(7), EPSILON);
        assertEquals(3, ratings.get(8), EPSILON);
        assertEquals(4, ratings.get(9), EPSILON);
        assertEquals(5, ratings.get(11), EPSILON);

        ratings = snap.userRatingVector(4);
        assertEquals(5, ratings.size());
        assertEquals(4, ratings.get(7), EPSILON);
        assertEquals(2, ratings.get(8), EPSILON);
        assertEquals(5, ratings.get(9), EPSILON);
        assertEquals(4, ratings.get(10), EPSILON);
        assertEquals(5, ratings.get(11), EPSILON);

        ratings = snap.userRatingVector(5);
        assertEquals(2, ratings.size());
        assertEquals(3, ratings.get(7), EPSILON);
        assertEquals(5, ratings.get(8), EPSILON);

        ratings = snap.userRatingVector(6);
        assertEquals(2, ratings.size());
        assertEquals(5, ratings.get(7), EPSILON);
        assertEquals(5, ratings.get(8), EPSILON);

        ratings = snap.userRatingVector(7);
        assertEquals(3, ratings.size());
        assertEquals(2, ratings.get(8), EPSILON);
        assertEquals(3, ratings.get(9), EPSILON);
        assertEquals(4, ratings.get(10), EPSILON);
    }
View Full Code Here

     *
     * @return The VectorEntry list of rating.
     */
    private SparseVector makeUserVector(long uid, UserEventDAO dao) {
        UserHistory<Rating> history = dao.getEventsForUser(uid, Rating.class);
        SparseVector vector = null;
        if (history != null) {
            vector = RatingVectorUserHistorySummarizer.makeRatingVector(history);
        }

        return vector;
View Full Code Here

    @Override
    public void predict(long uid, @Nonnull MutableSparseVector predictions) {
        logger.debug("predicting {} items for {}", predictions.keyDomain().size(), uid);
        OrdRecModel params = new OrdRecModel(quantizer);
        SparseVector ratings = makeUserVector(uid, userEventDao);
        LongSet keySet = LongUtils.setUnion(ratings.keySet(), predictions.keyDomain());
        MutableSparseVector scores = MutableSparseVector.create(keySet);
        itemScorer.score(uid, scores);
        params.train(ratings, scores);
        logger.debug("trained parameters for {}: {}", uid, params);
View Full Code Here

* @author <a href="http://www.grouplens.org">GroupLens Research</a>
*/
public class PreferencesTest {
    @Test
    public void testEmptyUPV() {
        SparseVector v = Preferences.userPreferenceVector(Collections.<Preference>emptyList());
        assertThat(v.isEmpty(), equalTo(true));
    }
View Full Code Here

    public void testUPVSomePrefs() {
        List<Preference> prefs = new ArrayList<Preference>();
        prefs.add(new SimplePreference(1, 3, 2.5));
        prefs.add(new SimplePreference(1, 9, 4.0));
        prefs.add(new SimplePreference(1, 5, 2.8));
        SparseVector v = Preferences.userPreferenceVector(prefs);
        assertThat(v.size(), equalTo(3));
        assertThat(v.get(3), equalTo(2.5));
        assertThat(v.get(9), equalTo(4.0));
        assertThat(v.get(5), equalTo(2.8));
    }
View Full Code Here

TOP

Related Classes of org.grouplens.lenskit.vectors.SparseVector

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.