Package org.grouplens.lenskit.vectors

Examples of org.grouplens.lenskit.vectors.SparseVector


    public void testOverlap() {
        long[] k1 = {1, 2, 5, 6};
        double[] val1 = {3, 1, 2, 1};
        long[] k2 = {2, 3, 5, 6, 7};
        double[] val2 = {1, 7, 2, 5, 0};
        SparseVector v1 = MutableSparseVector.wrap(k1, val1).freeze();
        SparseVector v2 = MutableSparseVector.wrap(k2, val2).freeze();
        assertThat(similarity.similarity(v1, v1), closeTo(1, EPSILON));
        assertThat(similarity.similarity(v2, v2), closeTo(1, EPSILON));
        assertThat(similarity.similarity(v1, v2), closeTo(-0.191220847, EPSILON));
    }
View Full Code Here


        sim = new PearsonCorrelation();
    }

    @Test
    public void testEmptyVector() {
        SparseVector v = ImmutableSparseVector.create(Long2DoubleMaps.EMPTY_MAP);
        assertThat(sim.similarity(v, v), closeTo(0, EPSILON));
    }
View Full Code Here

    @Test
    public void testSelfSimilarity() {
        long keys[] = {1, 5, 7};
        double values[] = {1.5, 2.5, 2};
        SparseVector v = MutableSparseVector.wrap(keys, values).freeze();
        assertThat(sim.similarity(v, v), closeTo(1, EPSILON));
        assertThat(sim.similarity(v, v.mutableCopy().freeze()), closeTo(1, EPSILON));
    }
View Full Code Here

    @Test
    public void testDisjointSimilarity() {
        long keys[] = {1, 5, 7};
        double values[] = {1.5, 2.5, 2};
        long keys2[] = {2, 4, 8};
        SparseVector v1 = MutableSparseVector.wrap(keys, values).freeze();
        SparseVector v2 = MutableSparseVector.wrap(keys2, values).freeze();
        assertThat(sim.similarity(v1, v2), closeTo(0, EPSILON));
    }
View Full Code Here

    public void testSimilarity() {
        long k1[] = {1, 5, 7};
        double val1[] = {1.5, 2.5, 2};
        long k2[] = {1, 5, 6};
        double val2[] = {2, 2.5, 1.7};
        SparseVector v1 = MutableSparseVector.wrap(k1, val1).freeze();
        SparseVector v2 = MutableSparseVector.wrap(k2, val2).freeze();
        assertThat(sim.similarity(v1, v2), closeTo(1, EPSILON));
    }
View Full Code Here

    public void testSimilarity2() {
        long k1[] = {1, 5, 7, 8};
        double val1[] = {1.5, 2.5, 2, 3.5};
        long k2[] = {1, 5, 7, 9};
        double val2[] = {2, 2.5, 1.7, 0.8};
        SparseVector v1 = MutableSparseVector.wrap(k1, val1).freeze();
        SparseVector v2 = MutableSparseVector.wrap(k2, val2).freeze();
        assertThat(sim.similarity(v1, v2), closeTo(0.6185896, EPSILON));
    }
View Full Code Here

    @Override
    public SparseVector userRatingVector(long userId) {
        // FIXME Don't make this so locky
        synchronized (cache) {
            SparseVector data = cache.get(userId);
            if (data != null) {
                return data;
            } else {
                Collection<IndexedPreference> prefs = this.getUserRatings(userId);
                data = Preferences.userPreferenceVector(prefs).freeze();
View Full Code Here

        }
    }

    @Override
    public void score(long user, @Nonnull MutableSparseVector scores) {
        SparseVector sv = userData.get(user);
        scores.clear();
        if (sv != null) {
            scores.set(sv);
        }
    }
View Full Code Here

        }
        if (!exclude.isEmpty()) {
            candidates = LongUtils.setDifference(candidates, exclude);
        }

        SparseVector scores = scorer.globalScore(items, candidates);
        return recommend(n, scores);
    }
View Full Code Here

        }
        if (!exclude.isEmpty()) {
            candidates = LongUtils.setDifference(candidates, exclude);
        }

        SparseVector scores = scorer.score(user, candidates);
        return recommend(n, scores);
    }
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.